Deferred lighting: move the remaining uber-kernel cases to the split path (debug views, snapshots, allocation failure) #799
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#799
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?
The split deferred lighting (shadow resolve + reflection resolve + combine;
RenderVKDeferredSplit, now the default, auto A/B removed in6b27a9528f) is ~20-25% faster ong_defer_lightthan the monolithic uber kernel (RTX 5090: 1.49-1.64 ms vs 1.95-2.06 ms) and is the path we're optimizing (half-res reflections, shadow-visibility reuse, per-pass tuning). Goal: move every remaining case onto the split path, so the uber kernel can be retired (or kept strictly as a debug A/B).Cases that still run the uber kernel today (
indra/newview/vkgfx/llcleanrenderervk.cppdeferSplitFrame/recordDeferredLighting):RenderVKLitDebugMaskcost switches. The debug twin (mDeferPipeDbg, kDebugViews = true) exists only for uber. Needs split debug twins (shadow / reflect / combine with kDebugViews), or the debug views implemented per pass.mOffscreen): the split intermediates aren't allocated at the snapshot's size. Needs per-size intermediates for the offscreen render (or aliased / transient ones).RenderVKDeferredSplit 0: debug A/B only; can stay as long as uber exists.Done when: only
RenderVKDeferredSplit 0(if kept) runs uber, and the debug views, snapshots and allocation-failure handling all work on the split path.