We have found a GPU crash with necessary debug symbols that happens in LumenScreenProbeTracing.usf|ScreenProbeTraceVoxelsCS.
This error was reported for users playing on low settings, but associated breadcrumbs reported for users with GlobalIlluminationQuality settings 1(majority), 2, 3.
Private ticket with a message provided below contains Nvidia Aftermath Dump with Symbols.
Thank you for providing this fix. We’ve received the PR and are taking a look, but the Epic team will be on holiday break starting next week (Dec 22, 2025) and ending Jan 5, 2026 so you will likely not hear back regarding this issue until then.
This min would help only if frac(x) returns a value >= 1, which shouldn’t happen given that frac returns values in [0;1). Given that this code is executed in an inner loop of a SDF ray marcher I’m a bit hesitant of just adding extra instructions. Did this fix crashes in your case? Do you have any more information about it?
I have encountered this issue in our project crash reporting tool. You could check this info below:
Private ticket with a message provided below contains Nvidia Aftermath Dump with Symbols.
GPU crashes in EvaluateGlobalDistanceFieldHit.
[Content removed]
Unfortunately, I can’t reproduce it locally and it will take at least few weeks to confirm the issue is fixed. If you can suggest anything else I can add to fix this I would add extra checks. I’m OK with losing a little bit of performance in DF in favor of stability.
The thing, which I’m mostly interested here is what’s the value of ClipmapVolumeUV at the point of the crash. Does it go outside of [0;1)? Or what’s the value of PageTableCoord? Does it go outside of bounds? I tried to investigate crash dump, but while PageTableCoord.x and PageTableCoord.z are still in the registers and look fine (2 and 0), PageTableCoord.x is already overwritten.
For a speculative fix, maybe Page.PageIndex < GlobalDistanceFieldMaxPageNum would be a good tradeoff? It shouldn’t be slower than the existing code, but still offers some bounds checking. Though ideally I would like to understand what’s going on here.
Thank you. I will proceed with Page.PageIndex < GlobalDistanceFieldMaxPageNum. I will update this thread if I have new info regarding crashes in this shader.
Change that I applied to ClipmapVolumeUV was purely speculative. I thought there is possible rounding error, but now I see CellOffsetInPage can’t exceed 63 anyway. Thank you for providing feedback.
I’ve added bounds checking for GlobalDistanceFieldPageObjectGridBuffer in CL 49603723, as it doesn’t have much downside to it. It’s not great to do such fixes without understanding what’s going on, but I don’t have any better idea how to proceed here.