Update shader viewer and debugging with new reporting for shader binds

* This shifts from reporting from the old style bindset/bind to the new system
  of only referencing by shader interface and index (independent of binding
  model).
* The vulkan shader debugger re-uses the replay interface to cache descriptor
  access and descriptor contents in a fashion friendly to interface-index
  lookup.
This commit is contained in:
baldurk
2024-04-10 18:58:51 +01:00
parent f718e72ac9
commit 2bbe1a8cd9
26 changed files with 645 additions and 674 deletions
+1 -3
View File
@@ -4130,12 +4130,10 @@ void TextureViewer::on_debugPixelContext_clicked()
const ShaderReflection *shaderDetails =
m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Pixel);
const ShaderBindpointMapping &bindMapping =
m_Ctx.CurPipelineState().GetBindpointMapping(ShaderStage::Pixel);
ResourceId pipeline = m_Ctx.CurPipelineState().GetGraphicsPipelineObject();
// viewer takes ownership of the trace
IShaderViewer *s = m_Ctx.DebugShader(&bindMapping, shaderDetails, pipeline, trace, debugContext);
IShaderViewer *s = m_Ctx.DebugShader(shaderDetails, pipeline, trace, debugContext);
m_Ctx.AddDockWindow(s->Widget(), DockReference::AddTo, this);
}