D3D12 ExecuteIndirect allow callbacks to change the commandSignature

This allows callbacks to recreate the command signature to match the root signature (which might have been modified) i.e. shader feedback
This commit is contained in:
Jake Turner
2025-07-31 10:28:40 +01:00
parent d4fd3c16f8
commit 558022bc02
@@ -4254,6 +4254,9 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteIndirect(
uint32_t eventId =
m_Cmd->HandlePreCallback(list, drawType, (i + 1) * comSig->sig.arguments.count());
// Allow the callback to recreate the command signature i.e. to match the root signature
pCommandSignature = m_Cmd->m_IndirectData.commandSig;
// action up to and including i. The previous draws will be nop'd out
Unwrap(list)->ExecuteIndirect(Unwrap(pCommandSignature), 1, argBuffer, argOffset, NULL,
0);