From 4ead1e4423836dd917f633a60a8411acf68af1f5 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Tue, 22 Apr 2025 11:38:12 +0100 Subject: [PATCH] Handle initialising a DXIL constant struct to NULL It is a nop because ShaderVariable starts initialised to 0 --- renderdoc/driver/shaders/dxil/dxil_debug.cpp | 5 +++++ util/test/demos/d3d12/d3d12_workgroup_zoo.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index 59fd549f2..8dda541e5 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -1057,6 +1057,11 @@ static bool ConvertDXILConstantToShaderVariable(const Constant *constant, Shader } return true; } + else if(constant->isNULL()) + { + // Nothing to do because Shader Variables created initialised to zero + return true; + } return false; } diff --git a/util/test/demos/d3d12/d3d12_workgroup_zoo.cpp b/util/test/demos/d3d12/d3d12_workgroup_zoo.cpp index 1a2d3291c..8c7555fea 100644 --- a/util/test/demos/d3d12/d3d12_workgroup_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_workgroup_zoo.cpp @@ -104,7 +104,7 @@ void main(uint3 inTid : SV_DispatchThreadID) tid = inTid; float4 data = 0.0f.xxxx; uint id = WaveGetLaneIndex(); - gsmUint4[id] = id; + gsmUint4[id] = id.xxxx; SetOutput(data); if(IsTest(0))