Commit Graph

16973 Commits

Author SHA1 Message Date
Jake Turner 1cb44cb19d Fix validation error in VK_Indirect 2026-05-20 15:57:37 +01:00
Jake Turner be10d61025 Improve D3D12 ExecuteIndirect PopMarker detection
Get the ActionDescription and check the ActionDescription flags for PopMarker
2026-05-20 15:50:25 +01:00
Jake Turner b6925a64fb PostDraw callback change the commands signature used in ExecuteIndirect
The same scenario as HandlePrecallback() modifying the command signature
2026-05-20 10:16:30 +01:00
Jake Turner 715fce0b5d D3D12 QuadOverdraw recreate the EI command signature if required
Fixes validation error

D3D12 ERROR: ID3D12CommandList::ExecuteIndirect: Root Signature set does not match with Root Signature declared in the command signature [ EXECUTION ERROR # 744: EXECUTE_INDIRECT_INVALID_PARAMETERS]
2026-05-20 10:16:30 +01:00
Jake Turner 2723a9e96e Added D3D12 helper DoesCommandSignatureModifyRootArgs()
Moved code out of D3D12 Shader Feedback ready to be used by the D3D12 Overlay code
2026-05-20 10:16:30 +01:00
Jake Turner 42ffc71a0d Fix D3D12 EI event skipping when at an event inside the outer EI action
The curEID might not be the same as baseEventID.
This could skip later events which should be replayed, if for example doing multiple partial replays.
Fixes device lost triggered when using TriangleSize (Pass) overlay.
2026-05-20 10:16:30 +01:00
Jake Turner 2795df7dd1 Fix D3D12 EI action callback loop when selecting the EI pop marker 2026-05-20 09:58:02 +01:00
Jake Turner c6037d19e4 Extend D3D12_Execute_Indirect python to check ALL overlays on ALL EIDs 2026-05-20 09:53:26 +01:00
Jake Turner 0060a31676 Fix D3D12_Shader_Debug_Zoo check for test 12 2026-05-19 12:00:05 +01:00
Jake Turner 02e9c7b260 Change comment about "list of notes" -> "list of nodes" 2026-05-19 11:59:46 +01:00
baldurk e5913acec2 Change variable to local to avoid clashes on threads 2026-05-18 17:29:30 +01:00
baldurk 034264e961 Use values less likely to have rounding issues in demo 2026-05-18 16:09:18 +01:00
baldurk a9824bde8b Include 'NoResources' in test log section name 2026-05-18 15:28:29 +01:00
baldurk c8acf77826 Fix disassembly of half constants in DXIL 2026-05-18 15:28:29 +01:00
baldurk 1503574dbd Clamp to not use SM6.7 if important features aren't supported. 2026-05-18 15:28:29 +01:00
baldurk 0365585f1e Handle barycentrics not being available in demos test 2026-05-18 15:28:08 +01:00
baldurk 5bee6d799a Fix D3D12 replay-only buffers being returned by GetBuffers properly
* We do need buffers in the resource list to be able to call GetBufferData
2026-05-16 14:50:02 +01:00
baldurk aa4e613e58 Fix docstring on IsStencilTestEnabled() 2026-05-15 20:00:13 +01:00
baldurk 54320f730c Move anchor label above function in docs
* The anchor label being inside the cpp:function entry seems to break things in
  the parameters later
2026-05-15 17:17:52 +01:00
baldurk f0b46b5fcf Include needed jquery dependency for rtd theme
* We ship this locally as python 3.6 installs an older sphinx, which doesn't
  seem to have this available.
2026-05-15 17:17:52 +01:00
baldurk 71770e23ed Use default pygments style for sphinx docs 2026-05-15 17:11:23 +01:00
baldurk 482a0f3080 Sort entries under Window menu
* These had never been in a good order, but as new windows have been added it's
  even harder to see one you want at a glance
2026-05-15 13:16:19 +01:00
baldurk 4bf3fe3019 Fix os.add_dll_directory in docs to use absolute paths 2026-05-15 13:16:08 +01:00
baldurk fe0a8c55e6 Add some extra accessors of state to common pipeline state abstraction 2026-05-15 13:16:01 +01:00
baldurk 73dc273810 Ensure vulkan dynamic offsets are applied in GetAllUsedDescriptors 2026-05-15 13:15:55 +01:00
baldurk 75ecc6ea1a Return internal handle from sys 2026-05-15 13:15:45 +01:00
baldurk deec38b1fb Add helper to check if RDTreeWidget item is expanded 2026-05-15 13:15:32 +01:00
baldurk c9b9ee51e6 Allow configuring if tree widget items are selectable or not 2026-05-15 13:15:26 +01:00
baldurk 97cda2a241 Update from toolwindowmanager repository @ 755b795 2026-05-15 13:14:56 +01:00
baldurk bccce17b97 Remove navigation elements on embedded help builds (like htmlhelp) 2026-05-15 13:09:25 +01:00
baldurk 9897b96196 Remove encoding & embedded js that breaks htmlhelp builder 2026-05-15 13:09:24 +01:00
baldurk 2811b3874b Reset sphinx rtd theme to 3.1.0 with no modifications
* The next commits will contain our customisations that we still need for chm,
  to make it clearer.
2026-05-15 13:09:24 +01:00
baldurk 206d732ade Check serialised shader tool enums against known list
* Prevents an out of bound error from corrupt configs (or configs from the
  future!)
2026-05-15 13:09:20 +01:00
baldurk 2e50599d26 Don't add replay-exclusive resources to resource list on D3D12 2026-05-15 13:09:15 +01:00
Jake Turner f2cb40edc0 For Vk DrawIndirectCount APIs add resource usage for zero draw counts
- vkCmdDrawInirectCount, vkCmdDrawIndexedIndirectCount, vkCmdDrawMeshTasksIndirectCountEXT
- zero maxDrawCount
- zero draw count from the count buffer
2026-05-13 16:10:28 +01:00
Jake Turner 7ab87fbe8e Extend VK_Resource_Usage test
- add test for vkCmdDrawIndirect with zero count
- add test for vkCmdDrawIndexedIndirect with zero count
- add tests for vkCmdDrawMeshTasksEXT
- add tests for vkCmdDrawMeshTasksIndirectEXT
- add tests for vkCmdDrawMeshTasksIndirectCountEXT
2026-05-13 14:54:15 +01:00
baldurk 6a97c6c17b Disallow debugging D3D11 shaders that use unbound constant buffer arrays 2026-05-11 14:34:30 +01:00
baldurk 7f1e0040e5 Disallow shader debugging when unbounded cbuffers are used on SPIR-V 2026-05-11 14:20:44 +01:00
Jake Turner 2805fc68f8 Mark DXIL Debugger of unbounded ConstantBuffer array as unsupported
i.e.

ConstantBuffer<Data> cbvArray[] : register(b0, space1);
2026-05-11 12:46:06 +01:00
Jake Turner 57a393f96c DXIL Debugger return 0,0,0,0 for out of bounds CB data access
Use the constant buffer reflection data to determine the size of valid data instead of the size of the bound buffer
2026-05-11 12:29:51 +01:00
Jake Turner 0a212d07d0 Add a D3D12 Shader Debug Zoo test for oob array access in a CBV
GPU will use the bytes from the bound buffer
Debugger simulation will return 0,0,0,0
2026-05-11 12:28:48 +01:00
Jake Turner a9bafd2723 Spirv debugger handle quadScope case when subgroupSize > workgroupSize 2026-05-06 18:34:25 +01:00
Jake Turner 2b634742ae Spirv debugger only set inputs for active lanes 2026-05-06 18:34:25 +01:00
Jake Turner 97149601da VK_Shader_Debug_Zoo changes for compute derivative tests
For compute quad derivatives tests use specific derivative i.e. fine or coarse.
It isn't specified which derivative mode is used, drivers differ on behaviour.
2026-05-06 18:33:03 +01:00
Jake Turner 54badbdd08 Only mark memory frame references for forced referenced buffers
With descriptor buffers more resource types were added as forced references and this ended up marking more memory as referenced than should be including potentially using uninitialised data for memOffset and memSize.
2026-05-06 13:49:44 +01:00
baldurk c79d939445 Add manual emulation of IsHelperLane() on SM <6.6
* The default dxc emulation does not work when running in MSAA as our shader
  runs at sample rate and SV_Coverage can be non-zero even for helper lanes.
2026-05-05 18:00:28 +01:00
baldurk 13b6d9a854 Use chunk offset not relative EID for AS patchbuffer lookup
* EIDs can change after initial recording of a command buffer, due to resizing
  indirect executes, causing loading and active replaying to disagree on the
  relative EID of a build. Chunk offsets are always fixed and we only need a
  unique incrementing counter.
2026-05-05 17:26:11 +01:00
baldurk c59b80b69e Fix crash on windows 7 accessing experimental D3D12 function call 2026-05-05 17:26:11 +01:00
Jake Turner ee3addbc50 Fix m_RootEventID during load/replay of VkQueueSubmit with zero count
vkQueueSubmit(0) and VkQueueSubmit2(0)
2026-05-05 13:28:32 +01:00
Jake Turner f62af14532 Add VK_Parameter_Zoo test case for VkQueueSubmit with zero count
vkQueueSubmit(0) and VkQueueSubmit2(0)
2026-05-05 13:28:32 +01:00