Discussion of GPU crash in VirtualShadowMapPageOverlap.ush

Hello Unreal Engine Support Team!

In this topic we can discuss GPU crash fix for page fault in VirtualShadowMapBuildPerPageDrawCommands|CullPerPageDrawCommandsCs.

https://github.com/EpicGames/UnrealEngine/pull/14166

This issue was reported for several users on Nvidia with attached Nsight Aftermath dumps pointing to page fault in line

>OutDirtyPageFlags[Offset + PhysPageIndex] = 1U;

at function VirtualShadowMapMarkPageDirty.

Logs and symbols are shared in private ticket with name of this topic in a message: Discussion of GPU crash in VirtualShadowMapPageOverlap.ush

[Content removed]

As this issue were reported on different computers with RTX 50XX GPUs (5080, 5090, 5070, etc.) pointing to the same line I applied the fix that checks validity of index in OutDirtyPageFlags.

Potentially issue could come from invalid PageFlagOffset variable or invalid value in VirtualShadowMap_PageTable by such index, but I don’t have a good repro to verify such hypothesis and given that there no other Page Faults reported in this shader my change should be good enough to prevent crashes, however I completely understand if you don’t want to merge it to UE Main.

Best regards

[Attachment Removed]

Steps to Reproduce
I don’t have a repro steps or repro project.

[Attachment Removed]

Hi Oleksii,

Thanks for bringing this issue to our attention. I see that Andrew is already reviewing the code on GitHub, so I will go ahead and close this ticket for now. If you have any further questions, please don’t hesitate to contact us.

Cheers,

Tim

[Attachment Removed]