diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index fbd5d6ffb..a15ad9738 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -2048,8 +2048,16 @@ void MakeConstantBlockVariables(SPVTypeData *type, rdctype::arraydecorations[i][d].decoration == spv::DecorationRowMajor) cblock[i].type.descriptor.rowMajorStorage = true; - cblock[i].type.descriptor.rows = t->vectorSize; - cblock[i].type.descriptor.cols = t->matrixSize; + if(t->type == SPVTypeData::eMatrix) + { + cblock[i].type.descriptor.rows = t->vectorSize; + cblock[i].type.descriptor.cols = t->matrixSize; + } + else + { + cblock[i].type.descriptor.rows = 1; + cblock[i].type.descriptor.cols = t->vectorSize; + } cblock[i].type.descriptor.name = t->GetName() + suffix; }