gfxreconstruct icon indicating copy to clipboard operation
gfxreconstruct copied to clipboard

dx12 option: GFXRECON_CAPTURE_DRAWCALLS

Open locke-lunarg opened this issue 6 months ago • 32 comments

Specify one index or a range indices drawacalls(include dispatch) based on a ExecuteCommandList index and a CommandList index to capture. The index is 1-based. The args are one submit index, one command index, one or a range indices of draw calls, like "1,1,1" or "1,1,1-2". Default is: Empty string (all drawcalls are captured).

For writing a queue submit, it starts and stops in PreQueueSubmit and PostQueueSubmit, as GFXRECON_CAPTURE_QUEUE_SUBMITS. Since it only write one queue submit, the target commandlist and drawcalls will be saved in Dx12StateWriter.

For writing commandlists in Dx12StateWriter::WriteCommandListState, it writes commandlists from the beginning to the target one, and skip the reset of commandlists.

For writing drawcalls in Dx12StateWriter::WriteCommandListCommands, if the commandlist is not target, it writes all commands. If the commandlist it the target, it writes commands from the beginning to the target drawcall, and skip the reset of commands, and write EndRenderPass, EndQuery and Close.

Custom Encode_ID3D12CommandQueue_ExecuteCommandLists. The ExecuteCommandLists might not write all commandlists.

optimize: Skip checking frame number Video encode, and trimming queue submits and drawcalls could have no frames.

locke-lunarg avatar Jul 30 '24 00:07 locke-lunarg