Remove the forward (no-prepass) fallback path: RenderVKDepthPrepass 0 #640

Open
opened 2026-10-10 11:10:47 +00:00 by sky_line · 0 comments
Owner

RenderVKDepthPrepass 0 switches the VK world pass to an old forward "lit" path (g_lit_static / g_lit_rigged). It is not an equivalent configuration:

  • Speed: ~2.4x slower in a busy sim (measured 2026-10-10: 91 -> 38 FPS, GPU 10.7 -> 26 ms). The full lighting shader runs for every overlapping surface (~18 ms of overdraw).
  • Missing features: AO and the ray-traced shadow mask don't run at all (q_mask_ao and c_rtmask = 0), so avatars lose AO and the denoised RT shadows. VRS and Hi-Z occlusion lose their inputs too.

See #259 for the full A/B.

Do

  1. Delete the forward fallback: the g_lit_* pipelines and their recording branch, any shader variants only it uses, and the RenderVKDepthPrepass setting. Keep the prepass + G-buffer path as the only world path.
  2. Check nothing else selects the fallback implicitly: snapshots, cube/probe captures, the mirror, low-VRAM ladders, feature-tier fallbacks on weaker GPUs (#98), and debug views.
  3. Regenerate SPIR-V and remove any dead descriptor/layout plumbing.

Interim

The setting carries a strong "do not use" warning in its description (settings.xml) until this lands.

Related: #259 (closed, measurements), #256 (visibility buffer, the real "draw once" path), #98.

`RenderVKDepthPrepass 0` switches the VK world pass to an old forward "lit" path (`g_lit_static` / `g_lit_rigged`). It is not an equivalent configuration: - **Speed:** ~2.4x slower in a busy sim (measured 2026-10-10: 91 -> 38 FPS, GPU 10.7 -> 26 ms). The full lighting shader runs for every overlapping surface (~18 ms of overdraw). - **Missing features:** AO and the ray-traced shadow mask don't run at all (`q_mask_ao` and `c_rtmask` = 0), so avatars lose AO and the denoised RT shadows. VRS and Hi-Z occlusion lose their inputs too. See #259 for the full A/B. ## Do 1. **Delete the forward fallback:** the `g_lit_*` pipelines and their recording branch, any shader variants only it uses, and the `RenderVKDepthPrepass` setting. Keep the prepass + G-buffer path as the only world path. 2. **Check nothing else selects the fallback implicitly:** snapshots, cube/probe captures, the mirror, low-VRAM ladders, feature-tier fallbacks on weaker GPUs (#98), and debug views. 3. **Regenerate SPIR-V** and remove any dead descriptor/layout plumbing. ## Interim The setting carries a strong "do not use" warning in its description (settings.xml) until this lands. Related: #259 (closed, measurements), #256 (visibility buffer, the real "draw once" path), #98.
sky_line added this to the Slipstream project 2026-10-10 11:10:47 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#640
No description provided.