Commit Graph

16991 Commits

Author SHA1 Message Date
Jake Turner d4ad181d08 VK IndirectDraw fixes primarily for overlay handling
- Unify Draw Indirect replay callback handling into a helper functions (for Draw* and DrawMesh*)
- Replay callback handling uses its own Indirect Buffer for partial replay
- Fix event skipping when at an event inside the outer Indirect 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.
- Fix DrawMesh Indirect HandlePreCallback() not specifying ActionFlags::MeshDispatch in all cases
2026-06-04 11:47:01 +01:00
Jake Turner d3c5312377 Vulkan overlay TriangleSize (Pass) : set the viewport per event
The viewport might change during the pass leading to different Triangle Size results for (Pass) and (Draw) modes
2026-06-04 11:42:35 +01:00
Jake Turner 83d996b369 Fix incorrect EID skipping for single Vullkan Indirect Draws
m_RootEventID needs to be incremented to keep in sync with skipping the fake indirect subcommand event
2026-06-04 11:42:01 +01:00
Jake Turner e665bc0a12 Add correct action flags to zero sized Vk indrect draw count
Fixes overlay Clear Before Draw/Pass, Overdraw (Pass) Triangle Size (Pass) not rendering on zero sized indirect draw count
2026-06-04 11:41:23 +01:00
Jake Turner 44deaebd90 VK_Indirect test improvements
Check ALL overlays on ALL EIDs don't crash
Add some IndirectCount draws to VK_Indirect for testing overlays
Check overlays produce output and pixel history is not empty for each non-empty draw
Check overlays produce expected output for empty draws i.e. empty except for *Pass overlay modes
Check Quad Overdraw and Triangle Size overlays outputs match when comparing the Pass and Draw versions
2026-06-04 11:40:22 +01:00
Jake Turner 2b10586ba0 Fix D3D12 ExecuteIndirect incorrect EID in action callback
When replaying a single event inside a multi-action Execute Indirect i.e. QuadOverdraw (draw) for a single draw inside an ExecuteIndirect
Also when replaying multiple events inside a multi-action Execute Indirect i.e. QuadOverdraw (pass) on the second draw inside an Execute Indirect draw with three draws
2026-06-02 08:32:04 +01:00
Jake Turner 469cbc0e33 Fix D3D12 EI action callback loop Pop Marker detection 2026-06-02 08:32:04 +01:00
Jake Turner 4f7d9c7cb2 Updates to D3D12_Execute_Indirect testing
Check overlays produce some output for each draw within the different EI except the non-determistic EI.
2026-06-02 08:32:04 +01:00
Jake Turner 056c5779b1 Fix validation warning in VK_Indirect
VUID-VkDrawIndexedIndirectCommand-firstInstance-00554
If the drawIndirectFirstInstance feature is not enabled, firstInstance must be 0
2026-06-01 11:23:33 +01:00
Jake Turner 14cba9a0dc Add missing .OffsetOrSize() to Vulkan Indirect Count replay loading 2026-06-01 11:23:33 +01:00
Jake Turner 6c1f6e69be Fix EID counting when using D3D12 Command and Queue Annotations 2026-06-01 11:23:33 +01:00
Jake Turner ed795ee56f Fix EID counting when using D3D12 Queue Annotations 2026-06-01 11:23:33 +01:00
Jake Turner 0f3d7965e3 Validate EIDs by default during python autotests
Fail test if the EIDs are not valid
2026-06-01 11:23:33 +01:00
baldurk 4a5e5e999e Ensure samplers are passed through properly for used descriptors 2026-06-01 10:46:48 +01:00
baldurk 7bb5c135df Display relevant slot when independent blend is off on D3D. Closes #3842
* On D3D11 the runtime handled this for us via query of the DESC struct, but on
  D3D12 we'd get whatever the user provided. To make things more clear we
  display only the active blend state slot and label it 'all' instead of 0 on
  both D3D11 and D3D12.
2026-05-29 14:03:45 +01:00
baldurk b21d873108 Don't serialise garbage bytes in D3D11 blend state 2026-05-29 13:58:16 +01:00
baldurk ad95260de1 Mark denorm test as undefined due to suspected NV driver bug 2026-05-27 14:30:00 +01:00
baldurk 9fd549698b Fix triple-promotion handling of EXT line stipple. Closes #3841 2026-05-26 16:16:53 +01:00
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