baldurk / renderdoc

RenderDoc is a stand-alone graphics debugging tool.
https://renderdoc.org
MIT License
8.86k stars 1.33k forks source link

VulkanDebugManager::CopyBufferToTex2DMS() crash #2761

Closed lifeisforu closed 1 year ago

lifeisforu commented 1 year ago

Description

If depth-stencil-multisampled texture is bound to frame-buffer, VlukanDebugManager::CopyBufferToTex2DMS() method crashes at ObjDisp(cmd)->CmdEndRenderPass(Unwrap(cmd)

Steps to reproduce

  1. Create depth-stencil-multisampled texture with 4 samples.
  2. Bound above texture as depth-stencil attachment to frame-buffer.
  3. Draw.
  4. Capature -> it's OK.
  5. Open Capture -> crash occurs when applying initial-state.

Callstck

nvoglv64.dll!00007fff0bb0c904()
nvoglv64.dll!00007fff0baf5bfe()
nvoglv64.dll!00007fff0baf484f()
renderdoc.dll!VulkanDebugManager::CopyDepthBufferToTex2DMS() Line 677
renderdoc.dll!VulkanDebugManager::CopyBufferToTex2DMS() Line 343
renderdoc.dll!WrappedVulkan::Apply_InitialState() Line 1827
renderdoc.dll!VulkanResourceManager::Apply_InitialState() Line 1023
renderdoc.dll!ResourceManager<VulkanResourceManagerConfiguration>::ApplyInitialContents() Line 1355
renderdoc.dll!WrappedVulkan::ApplyInitialContents() Line 3106
renderdoc.dll!WrappedVulkan::ContextReplayLog() Line 2854
renderdoc.dll!WrappedVulkan::ReadLogInitialisation() Line 2719
renderdoc.dll!VulkanReplay::ReadLogInitialisation() Line 225
renderdoc.dll!ReplayController::PostCreateInit() Line 2148
renderdoc.dll!ReplayController::CreateDevice() Line 2115
renderdoc.dll!CaptureFile::OpenCapture() Line 371
qrenderdoc.exe!ReplayMananger::run() Line 452
qrenderdoc.exe!ReplayManager::OpenCapture::__I2::<lambda> Line 59
...

Environment

baldurk commented 1 year ago

Please provide a specific reproducible test case, because it is not true that any 4x MSAA depth attachment will cause a crash.

baldurk commented 1 year ago

Closing this due to lack of activity and no further information to investigate.