Summary
Engine Version
Unreal Engine 5.8.1
CL 56057345
Windows / D3D12
Problem
A packaged application crashes with DXGI_ERROR_DEVICE_HUNG shortly after a large streamed level becomes loaded and visible.
UE 5.8.1 D3D12 GPU hang during level streaming / Virtual Shadow Map invalidation
We are seeing a reproducible DXGI_ERROR_DEVICE_HUNG in a packaged UE 5.8.1 application.
The crash happens immediately after a large streamed sublevel containing static building geometry finishes loading and becomes visible.
GPU breadcrumbs at the time of the crash show:
BuildRenderingCommandsDeferred(Culling=On) [Active]
Shadow.Virtual.ProcessInvalidationsGPU [Active]
Subsequent Nanite rendering passes have not yet started:
Nanite::VisBuffer
Nanite::DrawGeometry
NodeAndClusterCull
The crash occurs approximately 200 ms after the streamed geometry becomes visible.
The final D3D12 error is:
DXGI_ERROR_DEVICE_HUNG
GPU memory is not exhausted and DRED does not report a GPU page fault.
What Type of Bug are you experiencing?
Framework
Steps to Reproduce
Reproduction pattern
Launch a packaged UE 5.8.1 DX12 application.
Open a large environment.
Stream in a sublevel containing substantial static/shadow-casting geometry.
Wait for the level to become visible.
GPU hangs during the first rendering frames after the streaming operation.
Expected Result
The streamed sublevel should finish loading and become visible, and the application should continue rendering normally without a GPU timeout, device removal, or crash.
Observed Result
Shortly after the large geometry sublevel finishes streaming and becomes visible, the GPU hangs and the packaged application crashes with:
DXGI_ERROR_DEVICE_HUNG
At the time of the crash, GPU breadcrumbs show the following rendering work still active:
BuildRenderingCommandsDeferred(Culling=On)
Shadow.Virtual.ProcessInvalidationsGPU
Later Nanite rendering stages such as:
Nanite::VisBuffer
Nanite::DrawGeometry
NodeAndClusterCull
had not yet started.
Affects Versions
5.8
Platform(s)
Windows