Module renderer

Source
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
glesrenderer_gl
Implementation of the rendering traits using OpenGL ES 2
glowrenderer_glow
Integration for using glow on top of smithays OpenGL ES 2 renderer
multigpurenderer_multi
This module aims to make multi-gpu setups easier to handle for compositors.
pixmanrenderer_pixman
Implementation of the rendering traits using pixman
sync
Helper for synchronizing rendering operations
testrenderer_test
utils
Utility module for helpers around drawing WlSurfaces and RenderElements with Renderers.

Structs§

Color32F
A four-component color representing pre-multiplied RGBA color values
ContextId
Identifies a renderer context for a specific texture type.
DebugFlags
Debug flags that can be enabled at runtime
ErasedContextId
A type-erased ContextId without the Texture generic.

Enums§

BufferTypewayland_frontend
Buffer type of a given wl_buffer, if managed by smithay
TextureFilter
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.
BlitFrame
Trait for frames supporting blitting contents from/to the current framebuffer to/from another.
ExportMem
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 during Renderer::render.
ImportAllwayland_frontend
Common trait for renderers of any wayland buffer type
ImportDma
Trait for Renderers supporting importing dmabufs.
ImportDmaWlwayland_frontend
Trait for Renderers supporting importing dmabuf-based wl_buffers
ImportEglwayland_frontend and backend_egl and use_system_lib
Trait for Renderers supporting importing wl_drm-based buffers.
ImportMem
Trait for Renderers supporting importing bitmaps from memory.
ImportMemWlwayland_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.
RendererSuper
Workaround for https://github.com/rust-lang/rust/issues/87479, please look at Renderer instead.
Texture
A two dimensional texture
TextureMapping
A downloaded texture buffer

Functions§

buffer_dimensionswayland_frontend
Returns the dimensions of a wl_buffer
buffer_has_alphawayland_frontend
Returns if the buffer has an alpha channel
buffer_typewayland_frontend
Returns the type of a wl_buffer
buffer_y_inverted
Returns if the underlying buffer is y-inverted