From fbfd337de98807d3b59be0f07186c77aa3c92930 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 24 Feb 2020 12:26:56 +0000 Subject: [PATCH] Fix vector/matrix constants having members added * Only arrays and structs should have members, vectors and matrices have values stored directly --- renderdoc/driver/shaders/spirv/spirv_processor.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/renderdoc/driver/shaders/spirv/spirv_processor.cpp b/renderdoc/driver/shaders/spirv/spirv_processor.cpp index e64cc7c2c..e9a1813e2 100644 --- a/renderdoc/driver/shaders/spirv/spirv_processor.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_processor.cpp @@ -568,10 +568,12 @@ void Processor::RegisterOp(Iter it) } } } - - v.members.resize(decoded.constituents.size()); - for(size_t i = 0; i < v.members.size(); i++) - v.members[i] = constants[decoded.constituents[i]].value; + else + { + v.members.resize(decoded.constituents.size()); + for(size_t i = 0; i < v.members.size(); i++) + v.members[i] = constants[decoded.constituents[i]].value; + } constants[decoded.result] = {decoded.resultType, decoded.result, v, decoded.constituents}; if(opdata.op == Op::SpecConstantComposite)