VRAM: reflection probe resolution can OOM-crash -- pre-check setting-driven allocations, revert + notify on failure #226
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.
Blocks
Reference
sky_line/Slipstream#226
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?
Problem
Raising RenderReflectionProbeResolution (and/or RenderReflectionProbeCount) can crash the viewer with a VRAM out-of-memory error on cards with less memory. Reproduced on an RTX 3060 (~12 GB): changing the probe texture size setting crashed the viewer.
Reflection probes are already the largest single VRAM consumer at max settings. Measured 2026-10-01 on a 5090 in a dense sim: probes 4,133 MB, against textures at 3,640 MB, out of 11.3 GB tracked by the renderer. Allocation happens in
LLCleanRendererVKprobe setup (vkgfx/llcleanrenderervk.cpp, aroundmProbeRes/mProbeSlotsN). The cost grows with res² × count × mip chain (radiance + capture arrays), so one step of resolution is ~4×.Wanted behaviour
Allocations driven by user settings must never crash on failure:
vkAllocateMemory/ image creation still returnsVK_ERROR_OUT_OF_DEVICE_MEMORY:Notes
llappviewer.cpp(VRAM-based presets), the RAM/VRAM tickets #159–#164, and the RT VRAM-pressure ticket filed alongside this one.sky_line referenced this issue2026-10-04 05:59:13 +00:00
Part of #405 (RAM/VRAM management epic).
Verified 2026-10-10 (1.2.0 Beta 8 line): under a 2000 MB fake budget the setting-driven allocations were pre-checked (vramPick) and reduced instead of failing -- reflection probes 'requested 64^2 x 256 ... does not fit; reducing', sun cascades likewise -- no crash. Closing.