From 9ef756d626d3238d1eb861ff4c0a04a1341f8d89 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 5 Aug 2024 17:22:40 +0100 Subject: [PATCH] Clear orphaned entries from value symtab when editing DXIL --- renderdoc/driver/d3d12/d3d12_postvs.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/renderdoc/driver/d3d12/d3d12_postvs.cpp b/renderdoc/driver/d3d12/d3d12_postvs.cpp index a13c66735..03090bf60 100644 --- a/renderdoc/driver/d3d12/d3d12_postvs.cpp +++ b/renderdoc/driver/d3d12/d3d12_postvs.cpp @@ -947,6 +947,10 @@ static void ConvertToFixedDXILAmpFeeder(const DXBC::DXBCContainer *dxbc, uint32_ RDCASSERT(payloadType && payloadType->type == Type::Struct); payloadType->members.append({i32, i32, i32, i32}); + f->valueSymtabOrder.removeIf([](const Value *v) { + return v->kind() == ValueKind::Instruction || v->kind() == ValueKind::BasicBlock; + }); + // recreate the function with our own instructions f->instructions.clear(); f->blocks.resize(1);