Skip to content

Commit 8b3a87e

Browse files
committed
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
1 parent 347e67b commit 8b3a87e

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

renderdoc/driver/d3d12/d3d12_command_list_wrap.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4260,6 +4260,9 @@ bool WrappedID3D12GraphicsCommandList::Serialise_ExecuteIndirect(
42604260
uint32_t eventId =
42614261
m_Cmd->HandlePreCallback(list, drawType, (i + 1) * comSig->sig.arguments.count());
42624262

4263+
// Allow the callback to recreate the command signature i.e. to match the root signature
4264+
pCommandSignature = m_Cmd->m_IndirectData.commandSig;
4265+
42634266
// action up to and including i. The previous draws will be nop'd out
42644267
Unwrap(list)->ExecuteIndirect(Unwrap(pCommandSignature), 1, argBuffer, argOffset, NULL,
42654268
0);

0 commit comments

Comments
 (0)