From 637626638c76aeec807e5f772e8a54f48edd725e Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Wed, 12 Nov 2025 04:23:46 +1300 Subject: [PATCH] Fix D3D Shader Debugger source variable mapping for matrix If the matrix was mapped to a single register (i.e. special SSA ID -1) then it was expanded because a single element was mapped to different register the expansion was not happening because the matrix row was being set to be emitted in the code which tries to recombine rows Apply similar fix for vector recombining code, do not emit the whole vector by default when assigning a single element and let the recombining code mark if the whole vector should be emitted --- renderdoc/driver/shaders/dxil/dxil_debug.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index 5016b2323..8e9db0b79 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -8790,7 +8790,6 @@ void Debugger::ParseDebugData() for(uint32_t c = 0; c < columns; ++c) usage->children[row].children[c].emitSourceVar = false; } - usage->children[row].emitSourceVar = true; } } // Assigning to a row/col @@ -8852,9 +8851,9 @@ void Debugger::ParseDebugData() for(uint32_t c = 0; c < columns; ++c) usage->children[r].children[c].emitSourceVar = false; } - usage->children[r].emitSourceVar = true; } } + usage->emitSourceVar = false; } else { @@ -8920,7 +8919,6 @@ void Debugger::ParseDebugData() for(uint32_t x = 0; x < columns; ++x) usage->children[x].emitSourceVar = false; } - usage->emitSourceVar = true; } else {