diff --git a/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp b/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp index 744a9fcc3..bb3f7d17c 100644 --- a/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp @@ -1215,9 +1215,15 @@ Program::Program(const byte *bytes, size_t length) for(size_t i = 0; n < op.ops.size(); n++, i++) { - s = getSymbol(op.ops[n]); if(inst.funcCall->funcType->members[i]->type == Type::Metadata) + { s.type = SymbolType::Metadata; + s.idx = uint32_t((uint64_t)m_Symbols.size() - op.ops[n]); + } + else + { + s = getSymbol(op.ops[n]); + } inst.args.push_back(s); }