From 3dcb0411b228c67f9b4cdc0a70adb09a487a529c Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 6 Nov 2015 19:53:40 +0100 Subject: [PATCH] Improve printing of array constants --- .../driver/shaders/spirv/spirv_disassemble.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index 0a98a524d..4062f5d00 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -453,14 +453,26 @@ struct SPVConstant } string ret = type->GetName(); + if(type->type == SPVTypeData::eArray) + { + ret = type->baseType->GetName(); + ret += StringFormat::Fmt("[%u]", (uint32_t)children.size()); + } ret += "("; if(children.empty()) ret += GetValString(); for(size_t i=0; i < children.size(); i++) { - ret += children[i]->GetValString(); + ret += children[i]->GetIDName(); if(i+1 < children.size()) + { ret += ", "; + // put each array element on a different line, with some kind of + // estimated indent (too complex with current blindly-append + // scheme to match exactly) + if(type->type == SPVTypeData::eArray) + ret += "\n "; + } } ret += ")";