Skip to main content

drmkit_scene_sources/
lib.rs

1// SPDX-FileCopyrightText: (c) 2026 Joel Winarske
2// SPDX-License-Identifier: MIT
3
4//! Tier-1 buffer sources for drmkit scenes.
5//!
6//! Port of the tier-1 sources from `src/scene/` — the ones that need no GPU,
7//! no EGL, and no external media stack. Everything here implements
8//! [`LayerBufferSource`](drmkit_scene::LayerBufferSource), so a scene consumes
9//! them without knowing which it has.
10
11mod cache;
12mod cursor;
13mod dumb;
14mod external;
15#[cfg(feature = "gbm")]
16mod gbm;
17mod pool;
18mod presenter;
19mod ring;
20
21pub use cache::DmaBufSourceCache;
22pub use cursor::CursorSource;
23pub use dumb::DumbBufferSource;
24pub use external::{ExternalDmaBufSource, ExternalError, ExternalPlane};
25#[cfg(feature = "gbm")]
26pub use gbm::{GbmBufferSource, GbmSourceError};
27pub use pool::ExternalDmaBufPool;
28pub use presenter::{Acquired, MAX_DAMAGE, Present, RingPresenter, SlotKey};
29pub use ring::{ExternalDmaBufRing, OnRelease};
30
31#[cfg(test)]
32mod tests;