Explore: separate cull scratch buffers for the shadow and mirror culls so the RT-build join can move later (more async overlap) #633
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#633
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Exploration. Proposed by the 2026-10-10 GPU pipeline audit; not yet implemented.
Idea
The shadow and mirror culls share the cull scratch buffers (
cand/cand_meta) with other culls. Because of that, the async RT build has to be joined before the shadow rigged cull. Giving the shadow and mirror culls their own scratch buffers would let the join move to the first TLAS reader in pass 1b, so the RT build overlaps the prepass instead of making graphics wait for it.Why
About 0.3 ms of
q_rt_buildlikely shows up today as graphics waiting behind it during the prepass (measured 2026-10-10:q_rt_build~1.3-1.4 ms;q_async_span5.1 ms againstq_async_busy2.8 ms). It changes no pixels, only overlap.Cost and risk
Measure
GPU sub ms/frame
total=andq_async_spanagainstq_async_busy, in the same sim, before and after.Related: #256, the roadmap's overlap/async-compute phase.