* We always just hold one version of the bytecode, in the shader container
(possibly with an extra debug blob on D3D where that is necessary for DXBC).
* We also remove any attempt to fall back to the original shader blob if we have
debug search paths found and we get a debug replacement blob (mostly relevant
for Vulkan but legacy separate debug info on DXBC also does whole-blob
replacement). If the debug search paths change and we reload, but fail to find
a debug blob, we continue using the previous debug blob if we had one.
* Unclear why this was blocked on OS X clang as it clearly fires, but this means
this warning is no longer OS X only which makes iterating on normal machines easier.
* We could put everything onto the replay thread but that's unnecessary back-
and-forth pingponging for a local capture.
* This is safe to use on the UI thread if it's local, but if it's remote it uses
the same connection as the replay controller so must happen on the replay
thread.
* We add a new helper (not exposed to swig) that handles this check, and for
python we wrap the returned ICaptureAccess in an invoker that ensures we are
on one of those threads.
- Not from the current action
- This makes Prev/Next button behaviour consistent when a marker is selected
- For Next if the action has children go to the first child, otherwise the action's nextAction
- For Prev if the action has children go to the previousAction of the first child, otherwise the action's previousAction
- Change asserts to if's and errors to prevent crashes in GetGroupsharedSrc(), SetGroupsharedSrc()
- for gsm check for valid memory access using dataOffset and dataSize
- the existing check for elemIdx >= numElems is not enough i.e. 2D arrays
- it had become incorrect over time
- disable DXIL debugger when DXC_COMPATIBLE_DISASM is enabled
- don't show RD Disassembly string when DXC_COMPATIBLE_DISASM is enabled
- previously only the resource used in the CalculateSampleGather operation would support arrays
- now includes array of Samplers, array of UAVs, array of SRVs which does not use CalculateSampleGather