gfxreconstruct
gfxreconstruct copied to clipboard
dx12 option: GFXRECON_CAPTURE_DRAW_CALLS
-
dx12 option: GFXRECON_CAPTURE_DRAW_CALLS 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, one or a range indices of bundle drawcalls(option), like "1,1,1" or "1,1,1-2" or "1,1,1,1-2". The forth arg is an option for bundle case. If the the 3rd arg is a bundle commandlist, but it doesn't set the 4th arg, it will set 1 as default. Default is: Empty string (all drawcalls are captured). Dump resources doesn't the 4th arg. Although three args are enough for dump resources, it will add the 4th arg on it.
-
Not unwrapped objects for override functions Override functions need wrapped objects and wrappers.
-
Split commandlist into three for target drawcalls It does something similar to dump resources, but a bit different. Trimming drawcalls is not like dump resources that could browse the captured file to find target commandlist and drawcall before replay. For trimming drawcalls, it doesn't know the target commandlist until running the target ExecuteCommandLists. In this case, it assumes every commandlist could be the target commandlist. Every commandlist has three splitted commandlists and add command to the splitted commandlists. It also can't know which drawcall is the target in advance, commandlist has a drawcall_count to count it. Splitted commandlists will add some redundant commands since it couldn't know the target drawcall in advance, But it shouldn't affect the result and performance.
Based on https://github.com/LunarG/gfxreconstruct/pull/1727