Skip to main content

Crate drmkit_scene_sources

Crate drmkit_scene_sources 

Source
Expand description

Tier-1 buffer sources for drmkit scenes.

Port of the tier-1 sources from src/scene/ — the ones that need no GPU, no EGL, and no external media stack. Everything here implements LayerBufferSource, so a scene consumes them without knowing which it has.

Structs§

Acquired
The commit thread’s decision.
CursorSource
A cursor presented as a scene layer.
DmaBufSourceCache
Caches one ExternalDmaBufSource per buffer identity.
DumbBufferSource
The simplest source: one CPU-writable linear buffer, created once and reused every frame.
ExternalDmaBufPool
A pool of externally allocated DMA-BUFs, imported on first sight.
ExternalDmaBufRing
A rotating ring of externally allocated DMA-BUFs.
ExternalDmaBufSource
A caller-owned DMA-BUF wrapped as a scanout-ready KMS framebuffer.
ExternalPlane
One plane of an externally allocated buffer.
GbmBufferSource
One GPU-allocated buffer, created once and scanned out every frame.
RingPresenter
Tracks pending, scanning and in-flight buffers across frames.

Enums§

ExternalError
Why wrapping an external buffer failed.
GbmSourceError
Why a GBM-backed source could not be built.
Present
What the commit thread should do this vblank.

Constants§

MAX_DAMAGE
How many damage rectangles a submit can carry.

Type Aliases§

OnRelease
Called when a slot leaves the screen and the producer may reuse it.
SlotKey
Opaque buffer identity: a slot index, or a pool’s own key.