diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index 336d3a362..51ed6e56f 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -1088,6 +1088,8 @@ struct SPVModule { erase_item(funcops, storeBefore); + erase_item(vars, instr->op->arguments[a]); + // pass function parameter directly from where the store was coming from instr->op->arguments[a] = storeBefore->op->arguments[1]; } @@ -1159,6 +1161,8 @@ struct SPVModule // it has been folded and should be skipped ignore_items.insert(storeUse); + erase_item(vars, instr->op->arguments[a]); + // pass argument directly instr->op->arguments[a] = storeUse->op->arguments[0]; }