Add any found external shader debug file as a tracked dependency.
If external shader file is not found on disk, try to find it in the loaded tracked file data.
Use the shader debug filename reference as the dependency nickname : this might be an absolute path, relative path or a hash.
* Wireframes can render without a near plane clip and be mostly fine, but solid
renders need the depth so they should clip. Behaviour was inconsistent between
APIs before
* Suspend/resume must all happen in the same submit so we can't combine it with
our own work or submit individual command buffers for work. Suspending and
resuming is semantically equivalent to storing and loading so we can make this
transformation without affecting correctness.
Syncing the GPU before decoding counters resolves an
"NVPA_STATUS_INSUFFICIENT_SPACE" error when collecting counters for
D3D11 applications with many event ranges.
Add a column that shows the parent marker for the event range (by default the end event ID)
Add an option to prevent combining resource usage across markers (group by marker)
The tooltip for a resource usage entry contains the full marker path
For instance would trigger when setting a single 32-bit root constant
Do not need to call resize_for_index() on constants because SetConstants() will handle any resizing that is required
Corrects width, height, and depth calculation in WriteToSubresource for the specified subresource when storing provided source data blob. Using base resource dimensions could have led to source-data read access violation.
Also updates corresponding test to validate subresource modification.
* Previously `git log --oneline | grep -v 7a064ae | head -n 100` was throwing an
error `grep: write error: Broken pipe` which as far as I can tell is working
as intended and can't be fixed. So we remove pipes and use temporary files
like animals.
* It is common for drivers to dead-code eliminate resources and they will not
show up in reflection at all and will not have a binding. For these we will
still encounter them when debugging so need to ensure we handle that case.
* This unfortunately makes a previously illegal/error-checked case silently
continue, so we add API-specific asserts.