Commit Graph
888 Commits
Author SHA1 Message Date
baldurk 09fb0b0f1c Fix check when removing resources from wrapper map 2026-04-30 15:57:39 +01:00
baldurk 0b9a36b581 Fix ID registration when false-duplication happens on replay
* 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.
2026-04-16 14:00:55 +01:00
baldurk c610f14a0c Use uint64 for internal co-ordinates in sparse tracker
* 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.
2026-04-15 22:12:33 +01:00
widberg feb00dc235 Add missing comma
Without the comma, this
"igvk32.dll",
"igvk64.dll"
"igxelpgicd32.dll",
"igxelpgicd64.dll",
becomes
"igvk32.dll",
"igvk64.dlligxelpgicd32.dll",
"igxelpgicd64.dll",
2026-03-25 00:31:43 +09:00
Jake Turner e48450cc53 ImageViewer get the Custom Texture Description from the proxy
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
2026-03-13 10:27:41 +00:00
baldurk da56cab59d Rename vector members in annotations to preserve order 2026-03-09 10:06:10 +00:00
Jake Turner af1e922dba Clear the replay proxy shader reflection cache in ReloadShaderDebugInfo 2026-02-10 11:05:14 +00:00
Jake Turner cbecdfacb0 Add new replay API void ReloadShaderDebugInformation() 2026-02-06 11:36:38 +13:00
Jake Turner e68e9ed8dd Don't return true from GetTrackedFileData() if no data has been loaded
The file might be being tracked but wasn't loaded from the embedded files in the capture i.e. it hasn't been physically embedded yet.
2026-02-06 09:56:33 +13:00
baldurk c793e9a73e Add Vulkan support for annotations 2026-01-28 14:42:09 +00:00
baldurk 650458beae Add helpers for managing annotations in structured data 2026-01-28 14:42:09 +00:00
baldurk 8f0a408a2b Add a new in-application API for setting user-specified annotations 2026-01-28 14:42:08 +00:00
Jake Turner bf99f6fb6e Treat ResourceId() as a replay only ID
This matches previous behaviour of GetOriginalID() used when checking for live IDs i.e.

(GetResourceManager()->GetOriginalID(id) == id)
2026-01-20 06:24:05 +13:00
Jake Turner b49291a611 Make enum RemoteServerPacket into enum class, move Count to the end 2026-01-07 09:10:06 +13:00
baldurk 94df84d5d9 Remove ownership tracked list
* This list on replay is used to free all replay-created resources, but we can
  re-use the resource map for this.
2026-01-05 22:51:40 +00:00
baldurk 72a16ffa97 Merge live and current resource maps
* Only one is needed now that there's no distinction needed anymore.
2026-01-05 22:51:40 +00:00
baldurk 43cde7debd Remove GetLiveID entirely 2026-01-05 22:51:39 +00:00
baldurk 83919d9306 Remove GetOriginalIDs and naming/comments mentioning original IDs
* Original IDs are now always equal to live IDs.
2026-01-05 22:51:39 +00:00
baldurk 0c1bb18a1b Prepare to remove live<->replay resource id map lookups
* 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.
2026-01-05 19:11:21 +00:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* 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.
2026-01-05 14:17:28 +00:00
Jake Turner 10cf43b703 ICaptureAccess APIs for externally referenced dependency files
ResultDetails EmbedDependentFilesIntoCapture();
ResultDetails RemoveDependentFilesFromCapture();
int32_t CountEmbeddedDependentFiles();
int32_t CountExternallyReferencedFiles();
rdcarray<rdcstr> GetExternallyReferencedFiles();
2025-12-11 11:13:29 +13:00
Jake Turner 5db4350193 RenderDoc Core APIs to support external file dependencies in captures 2025-12-11 10:18:34 +13:00
baldurk 4df53b41d3 Delete parents after base objects
* 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.
2025-09-25 16:17:46 +01:00
baldurk 872752cd51 Add version check for -select-validator which was annoyingly removed 2025-09-22 14:21:36 +01:00
baldurk 26cf7d3d7f Ensure shader reflection information is stored as const
* Avoids accidental modifications
2025-09-22 11:58:56 +01:00
baldurk c25161a759 Allow aliasing between different descriptor types silently
* 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.
2025-09-08 16:35:41 +01:00
baldurk ce4edad163 Fix calculation of remapped 3D mips in image viewer. Closes #3697
* 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.
2025-09-08 16:35:40 +01:00
baldurk 2a87474e3c Fix use-after-modify when adding new key as subset of old key 2025-09-03 09:39:38 +01:00
baldurk 279379c3be Fix potential trample in trie re-using leaf 2025-07-10 17:52:30 +01:00
baldurk 81d5ca7c35 Add a trie lookup handler from a byte sequence key
* This is intended for write-only so does not support removing keys at all.
2025-06-06 12:16:54 +01:00
baldurk 621698e7dc Ignore port in device IDs for target control connection. Closes #3590 2025-04-16 18:02:39 +01:00
baldurk 0f019eafb9 Add option to make shader search paths non-recursive
* 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.
2025-04-16 17:39:51 +01:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
baldurk d23180a1f0 Fix comparison operator to not return true for x < x 2025-03-05 09:50:48 +00:00
baldurk 31d29fcea1 Add python function to clear replay cache 2025-02-21 14:19:12 +00:00
baldurk 7115c461d2 Ensure proxy texture remaps are correctly typecast. Closes #3541 2025-02-14 17:33:57 +00:00
baldurk 108987fdd9 Remove unused variable 2025-02-10 18:23:21 +00:00
baldurk f287da5bdf Fix assert on sparse page tables 2025-02-10 17:52:27 +00:00
baldurk c97ac7907c Fix addressing calculation in sparse table mip tails with D3D12 wrapping 2025-01-17 13:37:16 +00:00
baldurk 2dee289ff5 Fix calculation of OOB bounds on vulkan 2025-01-14 15:47:39 +00:00
baldurk 3c5ce8a84a Remove unused API function
* Headless windows are used as immutable in tests so allowing resizing is
  unnecessary complication
2025-01-13 11:09:10 +00:00
baldurk 2e3a54b9d0 Fix 64-bit type casts on linux 2025-01-10 14:21:26 +00:00
baldurk d4ecc62684 Update GPUVA tracker API to only take address & ID for removal
* Size is not always set on removal and we were accidentally relying on it in
  the implementation.
2025-01-09 17:01:26 +00:00
baldurk 9582c1b624 Update GPUVA tracker to keep a list of overlaps
* 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.
2025-01-09 17:01:26 +00:00
baldurk 14f238247b Add unit tests to GPUVA tracker and keep implementation private 2025-01-09 17:01:26 +00:00
baldurk bd286fce81 Sort resources with identical start VAs by size
* This helps us when looking up a resource by VA to identify the largest one,
  though does not handle all cases :(.
2024-12-05 13:31:22 +00:00
baldurk 9d3d253642 Don't encode PNG extended thumbnail by default 2024-12-02 13:39:28 +00:00
baldurk e3a3a502bc Serialise AS initial contents before all others
* This will be important for replay-time reallocation, so their VAs can be
  remapped before any serialised descriptor heaps look them up.
2024-12-02 13:39:28 +00:00
Honeybunch 3ea9735866 Mesh Shader Debugging 2024-11-20 10:50:14 +00:00
baldurk 38c52c3367 Add config options to enable GPU VA & DRED at runtime 2024-11-13 15:25:20 +00:00