pub struct FrameBuild { /* private fields */ }Expand description
A frame that has been built and is awaiting the kernel’s answer.
Holding one means holding acquisitions. Dropping it without finalizing leaks them — the same contract the C++ states, and the reason this type warns on drop.
Implementations§
Source§impl FrameBuild
impl FrameBuild
Sourcepub const fn report(&self) -> &CommitReport
pub const fn report(&self) -> &CommitReport
The report so far, complete except for what the kernel’s answer decides.
Sourcepub fn plan(&self) -> &[PlanePlan]
pub fn plan(&self) -> &[PlanePlan]
Which layer landed on which plane, as lowered property bags.
This is what an apply commit writes. Unless the frame took the FB-only
fast path, the search that produced it ran against TEST_ONLY commits,
so by the time a caller sees this the kernel has already accepted this
exact set – emitting it is the cheap part. On the fast path the real
commit is the first test.
Sourcepub const fn restates_sticky(&self) -> bool
pub const fn restates_sticky(&self) -> bool
Whether emission restates every plane’s sticky properties –
COLOR_ENCODING and COLOR_RANGE – rather than only the ones that
changed since the kernel last took them.
True until the scene knows what the kernel holds: on the first frame,
and the first after resume or
rebind, when whoever held the planes
meanwhile may have left them on their own settings.
Sourcepub fn disables(&self) -> &[u32]
pub fn disables(&self) -> &[u32]
Planes this frame has to switch off.
Candidate planes the frame did not use and that the kernel does not already have off. Re-disabling an already-off plane is two property writes per plane per frame that change nothing.
Computed at build time for the same reason as
PlanePlan::baseline: finalizing the frame replaces the state this
is derived from.