Skip to content

Commit 2b0e143

Browse files
committed
Change DXIL ShaderVarible construction for cbuffer variables
Fixes a crash trying to add a watch for these variables
1 parent 9e2be03 commit 2b0e143

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

renderdoc/driver/shaders/dxil/dxil_debug.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2619,14 +2619,16 @@ bool ThreadState::ExecuteInstruction(const rdcarray<ThreadState> &workgroup)
26192619
const size_t structSize = AlignUp16(resRef->resourceBase.cbufferData.sizeInBytes);
26202620
ShaderVariable cbufferVar;
26212621
cbufferVar.members.resize(structSize / 16);
2622-
cbufferVar.type = VarType::Struct;
2622+
cbufferVar.rows = 0;
2623+
cbufferVar.columns = 0;
2624+
cbufferVar.type = VarType::Unknown;
26232625
cbufferVar.name = resultSSAName;
26242626
for(size_t i = 0; i < cbufferVar.members.size(); ++i)
26252627
{
26262628
ShaderVariable &var = cbufferVar.members[i];
26272629
var.type = VarType::UInt;
26282630
var.columns = 4;
2629-
var.name = StringFormat::Fmt("%s[%u]", resultSSAName.c_str(), i);
2631+
var.name = StringFormat::Fmt("[%u]", i);
26302632
var.rows = 1;
26312633
// Initialise to 0xCC to aid determinism and show unset values
26322634
memset(&var.value, 0XCC, sizeof(var.value));

0 commit comments

Comments
 (0)