From 387de2527e8f4f3c425b478e5a988906bbd36bfb Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 9 Feb 2018 19:02:25 +0000 Subject: [PATCH] Handle multi-dimensional arrays in shader input/outputs. Refs #714 --- renderdoc/driver/shaders/spirv/spirv_disassemble.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index 1d215ae6b..42d765ab0 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -3743,6 +3743,10 @@ void AddSignatureParameter(bool isInput, ShaderStage stage, uint32_t id, uint32_ arraySize = type->arraySize; isArray = true; type = type->baseType; + + // step through multi-dimensional arrays + while(type->type == SPVTypeData::eArray) + type = type->baseType; } if(type->type == SPVTypeData::eStruct)