From cc1709d16c93df7d0f5ed08bd629bde66e86f7c3 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 16 Feb 2023 11:20:42 +0000 Subject: [PATCH] Arguments are allowed to be unnamed in DXIL --- renderdoc/driver/shaders/dxil/dxil_bytecode.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp b/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp index c09c4fb96..dd4c2c096 100644 --- a/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp @@ -984,7 +984,6 @@ Program::Program(const byte *bytes, size_t length) : alloc(32 * 1024) { Instruction *arg = values.nextValue(); arg->type = f->type->members[i]; - arg->extra(alloc).name = StringFormat::Fmt("arg%zu", i); f->args.push_back(arg); values.addValue(); } @@ -2602,6 +2601,10 @@ void LLVMOrderAccumulator::processFunction(Function *f) uint32_t slot = 0; uint32_t curBlock = 0; + for(Instruction *arg : func.args) + if(arg->getName().isEmpty()) + arg->slot = slot++; + if(!func.blocks.empty() && func.blocks[0]->name.empty()) func.blocks[0]->slot = slot++;