Expand description
Rendering functionality and abstractions
Collection of common traits and implementations to facilitate (possible hardware-accelerated) rendering.
Supported rendering apis:
- Raw OpenGL ES 2
Modules§
- damage
- Helper for effective output damage tracking
- element
- Common base for elements that can be drawn by a
Renderer
- gles
renderer_gl
- Implementation of the rendering traits using OpenGL ES 2
- glow
renderer_glow
- Integration for using
glow
on top of smithays OpenGL ES 2 renderer - multigpu
renderer_multi
- This module aims to make multi-gpu setups easier to handle for compositors.
- pixman
renderer_pixman
- Implementation of the rendering traits using pixman
- sync
- Helper for synchronizing rendering operations
- test
renderer_test
- utils
- Utility module for helpers around drawing
WlSurface
s andRenderElement
s withRenderer
s.
Structs§
- Color32F
- A four-component color representing pre-multiplied RGBA color values
- Context
Id - Identifies a renderer context for a specific texture type.
- Debug
Flags - Debug flags that can be enabled at runtime
- Erased
Context Id - A type-erased
ContextId
without theTexture
generic.
Enums§
- Buffer
Type wayland_frontend
- Buffer type of a given wl_buffer, if managed by smithay
- Texture
Filter - Texture filtering methods
Traits§
- Bind
- Abstraction for Renderers, that can render into different targets
- Blit
- Trait for renderers supporting blitting contents from one framebuffer to another.
- Blit
Frame - Trait for frames supporting blitting contents from/to the current framebuffer to/from another.
- Export
Mem - Trait for renderers supporting exporting contents of framebuffers or textures into memory.
- Frame
- Helper trait for
Renderer
, which defines a rendering api for a currently in-progress frame duringRenderer::render
. - Import
All wayland_frontend
- Common trait for renderers of any wayland buffer type
- Import
Dma - Trait for Renderers supporting importing dmabufs.
- Import
DmaWl wayland_frontend
- Trait for Renderers supporting importing dmabuf-based wl_buffers
- Import
Egl wayland_frontend
andbackend_egl
anduse_system_lib
- Trait for Renderers supporting importing wl_drm-based buffers.
- Import
Mem - Trait for Renderers supporting importing bitmaps from memory.
- Import
MemWl wayland_frontend
- Trait for Renderers supporting importing wl_buffers using shared memory.
- Offscreen
- Trait for renderers that support creating offscreen framebuffers to render into.
- Renderer
- Abstraction of commonly used rendering operations for compositors.
- Renderer
Super - Workaround for https://github.com/rust-lang/rust/issues/87479, please look at
Renderer
instead. - Texture
- A two dimensional texture
- Texture
Mapping - A downloaded texture buffer
Functions§
- buffer_
dimensions wayland_frontend
- Returns the dimensions of a wl_buffer
- buffer_
has_ alpha wayland_frontend
- Returns if the buffer has an alpha channel
- buffer_
type wayland_frontend
- Returns the type of a wl_buffer
- buffer_
y_ inverted - Returns if the underlying buffer is y-inverted