Commit Graph

16670 Commits

Author SHA1 Message Date
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
Sharlock93 2a1b67eeb6 Sorting array members in the Watch and High Level Variables window
This sets the offset of the VariableTag for array members in the watch
window. This ensures they are sorted correctly when displayed.
This also adds sorting by sourceVarIdx if the memebers are
globalSourceVars which fixes the sorting in the High Level Variables
window for built-in Variables
2026-01-06 02:31:07 +00:00