* We normally deduplicate during capture, but replay can introduce new
duplication against internal objects. Using ReplaceResource() would fix this
but updating the wrapper map is necessary for D3D11 to query current state
properly.
* Without this then buffers over 32-bit range which are treated as a 1D resource
could fail. Note that most APIs don't actually behave well with >=4GB buffers.
Without the comma, this
"igvk32.dll",
"igvk64.dll"
"igxelpgicd32.dll",
"igxelpgicd64.dll",
becomes
"igvk32.dll",
"igvk64.dlligxelpgicd32.dll",
"igxelpgicd64.dll",
Use the cached Texture Description for all other Textures which matches the behaviour of GetTextureData()
When saving a texture when a custom visualisation shader is in use:
- fixes a crash when saving as HDR or EXT
- fixes incorrect image saved to DDS
* Resources will be given the ID to use on replay in order to match the original
IDs. Any internal replay-time resources are given the same namespaced IDs as
before.
* We add a new per-ID query to check if something is replay-only or not.
* In a previous update in 2021 many copyright ranges were truncated
accidentally, and some files have been copy-pasted with wrong years. These
dates have been fixed based on git history and original copyright messages.
* This fixes a potential crash deleting an image view after an image, by
ensuring a non-owning pointer to the image's resinfo remains valid until after
the image view is destroyed.
* Also make the error about duplicate keys less severe - this can happen in
practice as different views boil down to the same descriptor bytes and
applications don't use only one view.
* For OpenGL we need to remap a 3D block-compressed texture to a 2D array for
display, when doing so we need to account for the mip size when calculating
the size of each chunk of data.
* For very large shader symbol stores especially those on network drives, the
bad behaviour that PIX has to recursively search all possible subdirectories
and enumerate all files can be really slow. Most of the time a file is
identified by its hash filename and looked up directly - if that isn't a hit,
in many cases users would rather a fast exit to having no symbols.
* This allows us to better return a valid mapped resource for an address even in
the case of overlaps/aliasing which might otherwise 'hide' a larger buffer.