* Because Qt is awful at customising controls, the functions used to fetch the
index of sections are not virtual so the internal QHeaderView version doesn't
get the right sections when we have column grouping enabled.
* Newest VS2026 dropped support for the entirely working v140 tools for zero
good reason: https://developercommunity.visualstudio.com/t/Visual-
Studio-2026-188-update-removes-v/11121716
* This then breaks our CI since we can't install the toolset manually. After
lots of dancing, this set of magic words seems to work for now, but who can
say for how long.
* Non-tightly packed arrays can be larger based on the stride than base size
multiplied by element count, e.g. with a 4-byte uint with a 16-byte array
stride.
D3D12EventNode contains all data for an Event during loading: APIEvent, ActionDescription, resource usage, debugMessages, annotations.
Action ID, Event ID is not computed whilst loading is happening.
At the end of Loading when the D3D12EventNode's have been flattened into linear submission order then the D3D12EventNode's are baked into RenderDoc replay APIEvents and Actions. Event IDs and Action IDs are assigned as part of the baking process
- loose event annotation
- a barrier at end of command buffer
- at end of command buffer attached to CommandList Close
- command buffer with no actions, just set marker
- annotations before/during/after ExecuteIndirect calls
* If we encounter a preinitialised image on vulkan we need to snapshot its
contents on replay because we can't on capture due to the inability to
transition its layout for copy. By definition the underlying memory can be
used, so we just need to ensure it is properly marked dirty and referenced
* This also reveals a separate bug, that image states being deleted from a mid-
capture destruction of an image loses information we need, so defer these
cleanups until after the capture ends.
* This is mostly pass-through as RenderDoc will never interact with it - if the
abort actually fires the device is gone and we can't capture. We enable it to
prevent needing to recompile shaders.
VulkanEventNode contains all data for an Event during loading: APIEvent, ActionDescription, resource usage, debugMessages, annotations.
Action ID, Event ID is not computed whilst loading is happening.
At the end of Loading when the VulkanEventNode's have been flattened into linear submission order then the VulkanEventNode's are baked into RenderDoc replay APIEvents and Actions. Event IDs and Action IDs are assigned as part of the baking process
- loose event annotation
- a barrier at end of command buffer
- at end of command buffer attached to vkEndCommandBuffer
- command buffer with no actions, just set marker
- annotations before/during/after vkCmdDrawIndirectCount calls
Separate the arguments instead of a single argument
Use a different execute command line parameter for different terminal tools
-e : default
-x : for gnome-terminal