Fixes debug errors "exceeds end of the virtual address range of Resource" i.e.
D3D12 ERROR: ID3D12CommandList::IASetVertexBuffers: 0x0000023B9A746190 + SizeInBytes - 1 (0x000000010c36bffe) exceeds end of the virtual address range of Resource (0x0000023B9A746190:'PostVS vsoutBuffer for 162', GPU VA Range: 0x000000000c36c000 - 0x000000000c36c29f). [ EXECUTION ERROR #726: SET_VERTEX_BUFFERS_INVALID]
D3D12 ERROR: ID3D12CommandList::IASetIndexBuffer: pDesc->BufferLocation + SizeInBytes - 1 (0x000000010c36affe) exceeds end of the virtual address range of Resource (0x0000023B9A7479B0:'PostVS idxBuf for 162', GPU VA Range: 0x000000000c36b000 - 0x000000000c36b00b). [ STATE_CREATION ERROR #725: SET_INDEX_BUFFER_INVALID]
Use D3D12_RESOURCE_DESC Flags to detect depth target (D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL).
Use GetDepthTypedFormat() to get correct depth copy format.
Use Pixel History IsDepthFormat() internal method instead of using DXGI_FORMAT helper function "IsDepthFormat".
Fixes issue of pixel history on typeless target cast to UNORM and used as depth i.e. R16_TYPLESS, cast to UNORM used as a shadow map
Use the same logic as TextureViewer to determine if the target is a depth target
Fixes issue of pixel history on typeless target cast to UNORM and used as depth i.e. shadow map
The buffer containing the `uint32` draw count value for indirect draws with count was not marked as used for the respective events for the following API calls: glMultiDrawArraysIndirectCount, glMultiDrawElementsIndirectCount, vkCmdDrawIndirectCount, vkCmdDrawIndexedIndirectCount, vkCmdDrawMeshTasksIndirectCountEXT.
The renderdoccmd android build assumes all files in '${ANDROID_SDK_ROOT_PATH}/platforms' are valid 'android-<version>.jar' platform libraries. Unfortunately because MacOS litters its directories with metadata files called .DS_Store, that file actually wins this sorting logic and is incorrectly selected.
This fixes the lib search logic to only consider android libraries.
* This shifts from reporting from the old style bindset/bind to the new system
of only referencing by shader interface and index (independent of binding
model).
* The vulkan shader debugger re-uses the replay interface to cache descriptor
access and descriptor contents in a fashion friendly to interface-index
lookup.
* These are temporarily given separate names, to allow them to exist in parallel
with the existing helpers, but in future these will be renamed when the older
helpers are removed.
* Previously this was provided by the ShaderBindpointMapping, but since we plan
to remove that we add the information here. These will be purely for
informational purposes and will not be used to look up bound resources etc.
They exist for display only, or for API-specific interpretation if e.g. the
bindpoint is known ahead of time it can be identified here without having to
jump through hoops to get which descriptor a given bind accesses and get the
register number for that descriptor.
* On OpenGL this information will not be present because bindings are mutable
(even if they are declared in the shader). The only way to identify a
particular binding by register will be with those hoops
* This is a consideration for any cases where binding numbers are relevant -
primarily D3D11 and GL - where the offset into an arbitrary (and possibly
fake) descriptor storage is not helpful but knowing the register binding
definitely is.
* If someone wants to look at the raw descriptor contents without respect to a
particular shader access they can use this query to determine a more useful
'name' for any given descriptor. On D3D11 and GL this gives the register
number, on Vulkan it gives the binding number (and array element). On D3D12 it
just repeats the offset effectively.