Latest read-back view-space depth bounds, or null until the first readback resolves (and whenever the scene is entirely sky).
Fractional padding on the read-back bounds to absorb readback latency.
Bound-quantization granularity (steps per octave). Higher = tighter range
but the cascade re-fits more often (steps more visible); lower = steadier
but looser. The bounds snap to 2^(k / quantizeStepsPerOctave).
StaticcreateCopy the PREVIOUS frame's reduction result into a free readback buffer and map it; the resolved callback validates and publishes bounds. Call once per frame before the graph that runs addToGraph (this frame's reduction overwrites the result buffer later).
Add the depth reduction over depth to the graph (NDC→view via camera's
projection; reversedZ selects the cleared-far-plane sentinel to skip).
Reusable SDSM depth feedback: owns a DepthReductionPass and an async readback ring, and exposes the visible scene's view-linear depth bounds.
Driven manually so it works in both the feature pipeline (SdsmFeature) and hand-wired graphs (crafty's renderer_setup):
The readback is asynchronous, so bounds is the depth from ~1 frame ago (padded), matching the engine's previous-frame-data convention.