electronicarts / gigi

A framework for rapid prototyping and development of real-time rendering techniques.
Other
461 stars 20 forks source link

WinPixGpuCapturer.dll crash in viewer when resizing render target. #3

Open TheSandvichMaker opened 1 week ago

TheSandvichMaker commented 1 week ago

I can reproduce this reliably just by opening something like DeferredRendererPBR/main.gg and repeatedly changing the RenderSize variable. Within a dozen attempts, I hit a fatal crash. Running with GBV, the debugger output:

D3D12 ERROR: GPU-BASED VALIDATION: Draw, Invalid resource pointed to by descriptor.  One possibility is that the resource has been destroyed. Descriptor Heap Index To DescriptorTableStart: [1], Descriptor Heap Index FromTableStart: [0], Index of Descriptor Range: 0, Shader Stage: PIXEL, Root Parameter Index: [1], Draw Index: [5], Shader Code: C:\ThirdParty\gigi\Shader@0x00007FF79585CAC0(59,9-54), Asm Instruction Range: [0x954-0x97f], Asm Operand Index: [2], Command List: 0x000001E83F337010:'Unnamed ID3D12GraphicsCommandList Object', Command List Type: D3D12_COMMAND_LIST_TYPE_DIRECT, SRV/UAV/CBV Descriptor Heap: 0x000001E837C31A00:'Unnamed ID3D12DescriptorHeap Object', Sampler Descriptor Heap: <not set>, Pipeline State: 0x000001E83F728BA0:'ImGui Texture Drawing PSO',  [ EXECUTION ERROR #958: GPU_BASED_VALIDATION_INVALID_RESOURCE]
D3D12: Removing Device.
D3D12 ERROR: ID3D12Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_DEVICE_HUNG: The Device took an unreasonable amount of time to execute its commands, or the hardware crashed/hung. As a result, the TDR (Timeout Detection and Recovery) mechanism has been triggered. The current Device Context was executing commands when the hang occurred. The application may want to respawn and fallback to less aggressive use of the display hardware). [ EXECUTION ERROR #232: DEVICE_REMOVAL_PROCESS_AT_FAULT]
'GigiViewerDX12.exe' (Win32): Loaded 'C:\Windows\System32\dbghelp.dll'. 
Exception thrown at 0x00007FFCC354FABC in GigiViewerDX12.exe: Microsoft C++ exception: WinPix::ToolException at memory location 0x0000005DC89FEEE0.
Unhandled exception at 0x00007FFCC3CBF6FE (ucrtbase.dll) in GigiViewerDX12.exe: Fatal program exit requested.
Atrix256 commented 1 week ago

I've hit that before but never with GBV. Thanks for that info, that ought to help track it down!