Commit Graph

16671 Commits

Author SHA1 Message Date
baldurk 5c8a4f144b Add a custom annotation column to the event browser 2026-01-28 14:42:09 +00:00
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
Jake Turner e351910071 VK Shader Debug Zoo tests for SPV_KHR_integer_dot_product
OpSDot
OpUDot
OpSUDot
OpSDotAccSat
OpUDotAccSat
OpSUDotAccSat

for 8, 16, 32, 64 bit types (signed & unsigned) and packed 32-bit vectors (4x8-bit)
2026-01-27 16:16:29 +13:00
Jake Turner 9c4a62397e Make VK_Shader_Debug_Zoo fail test not just error
Compute tests were resetting "failed" to False
2026-01-27 16:16:29 +13:00
baldurk ab7e8b0134 Add rule to CONTRIBUTING documentation banning use of LLMs etc 2026-01-26 13:25:21 +00: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 811c6c6ecc ShaderViewer uses GetShaderDebugVariable() when matching resource vars
This matches how debug variables are matched
This supports source mapping to resources which are a child member of a ShaderVariable i.e. an array element
2026-01-26 10:49:09 +13:00
Jake Turner 0bed011093 GL_Shader_Debug_Zoo Test for read only resource array (sampler2d) 2026-01-26 10:47:55 +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
Jake Turner eba1a12648 DXIL Shader Debugger test using enum 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
qwmnerbvqwmn 67a6f20b6e Support #pragma once and multiple inclusions in HLSL editing 2026-01-23 03:02:57 +09: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 1028a7b458 GL_Shader_Debug_Zoo Test for interpolation qualifiers
flat
noperspective
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 9678e09f3b GL_Shader_Debug_Zoo Test for uniform bool 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
qwmnerbvqwmn d32454e8ff Use UTF-8 encoding in shader viewer to fix character corruption 2026-01-19 19:20:14 +09: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 075870caf5 Fix replace all message showing N+1 replacements instead of N 2026-01-08 06:58:56 +13:00
Jake Turner 7782bc3452 Make VK_Graphics_Pipeline debugged pixel test fail instead of an error 2026-01-08 06:57:56 +13:00
Jake Turner b49291a611 Make enum RemoteServerPacket into enum class, move Count to the end 2026-01-07 09:10:06 +13:00