From 823ae93845e3c7712d7de164d65570c296df7a05 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Sat, 4 Oct 2025 15:23:30 +0100 Subject: [PATCH] Support for Operation::ExtractVal on a struct --- renderdoc/driver/shaders/dxil/dxil_debug.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index 41283e17a..880ae2129 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -5240,7 +5240,17 @@ bool ThreadState::ExecuteInstruction(DebugAPIWrapper *apiWrapper, RDCASSERTEQUAL(inst.args.size(), 2); uint32_t idx = ~0U; RDCASSERT(getival(inst.args[1], idx)); - RDCASSERT(idx < srcVal.columns); + ShaderVariable sourceData; + if(srcVal.type == VarType::Struct) + { + sourceData = srcVal.members[idx]; + idx = 0; + } + else + { + sourceData = srcVal; + } + RDCASSERT(idx < sourceData.columns); RDCASSERTEQUAL(result.type, srcVal.type); switch(result.type)