From 8546876aedbf1dc7938aef7cc6d8f1042ea0694e Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 10 Sep 2025 14:56:41 +0100 Subject: [PATCH] Ensure we can set ExecuteIndirect root constant values * If the array isn't large enough we must resize it, this was already done for CBV/SRV/UAV root parameter sets. --- renderdoc/driver/d3d12/d3d12_state.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/renderdoc/driver/d3d12/d3d12_state.cpp b/renderdoc/driver/d3d12/d3d12_state.cpp index 5d4b272ca..24fb89d83 100644 --- a/renderdoc/driver/d3d12/d3d12_state.cpp +++ b/renderdoc/driver/d3d12/d3d12_state.cpp @@ -109,6 +109,7 @@ void D3D12RenderState::ResolvePendingIndirectState(WrappedID3D12Device *device) if(comSig->sig.graphics) { + graphics.sigelems.resize_for_index(arg.Constant.RootParameterIndex); graphics.sigelems[arg.Constant.RootParameterIndex].constants.resize_for_index( arg.Constant.Num32BitValuesToSet + arg.Constant.DestOffsetIn32BitValues); graphics.sigelems[arg.Constant.RootParameterIndex].SetConstants( @@ -116,6 +117,7 @@ void D3D12RenderState::ResolvePendingIndirectState(WrappedID3D12Device *device) } else { + compute.sigelems.resize_for_index(arg.Constant.RootParameterIndex); compute.sigelems[arg.Constant.RootParameterIndex].constants.resize_for_index( arg.Constant.Num32BitValuesToSet + arg.Constant.DestOffsetIn32BitValues); compute.sigelems[arg.Constant.RootParameterIndex].SetConstants(