From 66aabcaba33dbae54c84d04561c6548679284c0e Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Sun, 18 May 2025 08:22:34 +0100 Subject: [PATCH] Set the correct type for DXIL constant buffer array ShaderVariables Change the name of constant buffer array elements to match access to match SRV and UAV naming i.e. cbvArray[3] instead of cbvArray_3_0 --- renderdoc/driver/d3d12/d3d12_dxil_debug.cpp | 2 +- renderdoc/driver/shaders/dxil/dxil_debug.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp b/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp index ce4d40550..55e536d80 100644 --- a/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp +++ b/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp @@ -232,7 +232,7 @@ static void FlattenSingleVariable(const rdcstr &cbufferName, uint32_t byteOffset for(uint32_t reg = 0; reg < numRegisters; reg++) { outvars[outIdx + reg].rows = 1; - outvars[outIdx + reg].type = VarType::Unknown; + outvars[outIdx + reg].type = v.type; outvars[outIdx + reg].columns = v.columns; outvars[outIdx + reg].flags = v.flags; } diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index cbe58bea7..1484f669d 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -2584,9 +2584,8 @@ bool ThreadState::ExecuteInstruction(DebugAPIWrapper *apiWrapper, if(!result.members[arrayIndex].members.empty()) { rdcstr name = - StringFormat::Fmt("%s_%u_%u", result.name.c_str(), arrayIndex, 0); + resRef->resourceBase.name + StringFormat::Fmt("[%u]", arrayIndex); result = result.members[arrayIndex].members[0]; - result.type = VarType::Float; result.name = name; } }