baldurk
fec285efb7
Add D3D12 support for annotations
2026-01-28 14:42:09 +00:00
baldurk
c26a5405e9
Add GL support for annotations
2026-01-28 14:42:09 +00:00
Remi Palandri
727f450be2
add D3D11 support for annotations on immediate context only
2026-01-28 14:42:09 +00: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
Aitor Camacho
ba10b62149
Expose Vulkan layer entrypoints for mac
2026-01-27 21:45:06 +00:00
Jake Turner
be8a5f61fc
Spirv Debugger support for SPV_KHR_integer_dot_product
...
OpSDot
OpUDot
OpSUDot
OpSDotAccSat
OpUDotAccSat
OpSUDotAccSat
2026-01-27 16:16:30 +13:00
baldurk
738a5c1ea5
Track last descriptor buffer and normal descriptor set binds separately
...
* We need to track these separately because descriptor buffer set invalidation
can lead to empty sets with no valid pipeline layout as the last bound set
(since we can't _clear_ the descriptor sets when descriptor buffers are
invalidated, as there may be a descriptor set binding there). Track these
separately so we can pick the right set to bind from if we don't have a known
pipeline layout, and also handle the case where there are descriptor set
states but the last bound is not valid.
2026-01-26 13:25:21 +00:00
baldurk
55bcd77624
Allow querying device UUIDs too via dxgi GetDevice
2026-01-26 13:25:21 +00:00
Jake Turner
18ab43ae99
Extend the GL shader debugger to handle resource arrays
...
Part of the fixes for Issue 3763
2026-01-26 11:33:09 +13:00
Jake Turner
25da813b40
Extend GL reflection matching to SPIRV reflection for resource arrays
...
GL resource arrays are expanded in the GL reflection i.e. texture[0], texture[1] but they are collapsed in the SPIRV reflection.
For SPIRV resource arrays if matching the full name fails then try to match by the expanded name i.e. texture[<ARRAY_ELEMENT>]
2026-01-26 10:59:50 +13:00
Jake Turner
993842ecf2
Always set the baseType for DXIL debug data DW_TAG_enumeration_type
2026-01-26 10:04:20 +13:00
Jake Turner
d729deec1c
Fix DXIL debugger hang if an unhandled DICompositeType is used
...
There was an infinite loop if the unhandled debug data is mapped to a struct member
2026-01-24 08:17:04 +13:00
qwmnerbvqwmn
80cce82823
Fix a hang when debugging HLSL compute shaders with enum types
2026-01-23 18:15:36 +00:00
Martyn Jacques
842d47da96
Avoid address re-use for internal fake backbuffer memory
...
Track fake backbuffer memory as a device address
resource to defer freeing it until the end of the capture
2026-01-23 03:02:29 +09:00
baldurk
8f7208fa02
Add beginsWith helper to rdcinflexiblestr
2026-01-22 12:16:05 +00:00
baldurk
52c54ef476
Don't do anything for releasing special resources on GL shutdown
2026-01-21 14:43:05 +00:00
baldurk
03de856edf
Track CPU-based image layout transitions while idle. Closes #3778
...
* Similar to proper image transitions we must always track the state of images,
even if we only serialise the calls during active capturing.
2026-01-21 11:42:32 +00:00
Jake Turner
6d2fe9d1a4
In Vulkan FlushQ() sync m_PrevQueue if it is active
2026-01-20 06:24:06 +13:00
Jake Turner
6fcd5f03db
GL Shader Debugger support for interpolation qualifiers
...
flat
noperspective
Get the interpolation type from the SPIRV decoration
2026-01-20 06:24:06 +13:00
Jake Turner
e19f0e9b72
GL Shader Debugger support for bool uniforms
2026-01-20 06:24:06 +13:00
Jake Turner
ba10e3a380
Add D3D11 Deferred context to the ResourceManager
...
ResourceManager::Shutdown() will release it.
2026-01-20 06:24:06 +13:00
Jake Turner
bd2a66b5f0
Add the D3D11 Immediate context to the ResourceManager
...
ResourceManager::Shutdown() will release it.
2026-01-20 06:24:05 +13:00
Jake Turner
5b44a2709b
Use m_BakedCmdBufferInfo to test for push constant descriptor
2026-01-20 06:24:05 +13:00
Jake Turner
b19a453a8c
Fix Vk push constants using the wrong command buffer resource ID
2026-01-20 06:24:05 +13: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
775a9c947f
Vk shader editing: use unreplaced ID of the shader(s) in the pipeline
2026-01-20 06:24:05 +13:00
Jake Turner
ee3b8cf76b
Fix shader editing check for replay pipelines/programs
2026-01-20 06:24:04 +13:00
Jake Turner
1e39c9951e
Always generate resources for D3D11 Proxy device
2026-01-20 06:24:04 +13:00
baldurk
9bef60d6c3
Display source variables mapped to OpUndef as <undefined value>
...
* Undefined values are still 0xccccccccc, since that value can propagate through
operations. But source variables mapped directly to an OpUndef are displayed
in a more semantically clear way.
2026-01-19 13:34:58 +00:00
Remi Palandri
c71f3d504b
fix destroyed BDA buffers staying tracked
2026-01-19 19:18:08 +09:00
Jake Turner
ef0d6737cc
Fix GL GetShaderEntryPoints() when passed in resource is not a shader
2026-01-14 11:26:08 +13:00
MJP
72966f9ba0
Add proper casts when returning the wrapped command queue
2026-01-12 21:54:58 +09:00
MJP
c8596542b6
Use proper interface pointer casting during D3D12 CommandQueue creation
2026-01-12 21:54:58 +09:00
MJP
79350fe512
Add missing IID checks for creating ID3D12CommandQueue1
2026-01-12 21:54:58 +09:00
Jake Turner
b49291a611
Make enum RemoteServerPacket into enum class, move Count to the end
2026-01-07 09:10:06 +13:00
Jake Turner
5e286ad9b8
Original ID/Live ID fixups for Metal backend
2026-01-06 14:26:28 +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
7710c7df1a
Generate inline shader IDs during capture on D3D12
2026-01-05 22:51:39 +00:00
baldurk
351f287a59
Eliminate original/live ID distinction by respecify IDs on D3D12
2026-01-05 22:51:38 +00:00
baldurk
d0aaad8f99
Eliminate original/live ID distinction by respecify IDs on D3D11
2026-01-05 22:51:38 +00:00
baldurk
6133590777
Eliminate original/live ID distinction by respecify IDs on GL
2026-01-05 22:51:38 +00:00
baldurk
d2e3b9d26c
Generate inline shader IDs during capture on vulkan
...
* This ensures they are stable, will not apply to old captures.
2026-01-05 22:51:38 +00:00
baldurk
ce21a2dc35
Eliminate original/live ID distinction by respecify IDs on vulkan
2026-01-05 22:51:38 +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
Jonathan Glines
d03952a874
Fix crash in NVIDIA HasCounter() called without EnumerateCounters()
...
This fix avoids a NULL-pointer dereference when HasCounter() is called without
a preceding call to EnumerateCounters() for NVIDIA Nsight Perf SDK counters.
2026-01-06 00:26:37 +09:00