* In the old codepath for a valid existing window we'd create a cloned DC and
use that to pop with. However that DC is then released so we have created the
'stale DC' situation. This can cause problems with subsequent context
activations when we try to push/pop to populate GL hooks and fail to pop
properly as the queried DC is invalid.
* If we save the current capture from a connection window we want to do that via
the main window so the UI can be properly updated and so we can save it
properly through the replay manager, so the old one can be removed safely.
* Normally we only check mapped memory when it's referenced during capture by
some binding, but for BDA we don't have bindings so we have to conservatively
check it every time.
* When using VS In we want to ignore the W component, but that already happens
explicitly for vulkan/GL in the shader. Mirror that same solution to D3D
instead of trying to force a 3-component format which may not be supported
(e.g. on AMD R16G16B16_*)
* This is possible when capturing a program that uses experimental feature to
allow unhashed shaders. We don't replay this so it would fail. We could enable
the feature, but this is just as easy and means it works even when
""development mode"" isn't enabled.
* We never want to inherit these, and e.g. Qt process launches are hardcoded to
always inherit handles so these need to be excluded so files don't stay open.
- Ensure there is space for the Stream Out counters at the beginning of the SO buffer
- Fix use-after-Unmap of the SO statistics data
- Reset the state correctly after syncing every 1000 instances
- Unmap the SO buffer when no output instances are found
* For draws/dispatches that aren't pure - i.e. modify state that they read from
- we need to be sure we don't replay the action before running it to fetch
feedback. For that reason we need to replay up to the action first, then fetch
feedback.
* This is all a result of us adding extra usage to images - for imageless
framebuffers the usage needs to match so we need to patch the framebuffer
usage at create time. Then if image views are used that have specified usage
subset we need to patch that too.
* This applies when selecting a marker region, the effective EID is the one
actually replayed to an represented in the UI. As-if it were directly
selected.