Commit Graph

17009 Commits

Author SHA1 Message Date
baldurk e63d25eb36 Bump version to v1.46 2026-07-02 16:13:32 +01:00
baldurk 2fc0bc04cb Ignore swizzles on resources and ensure no OOB swizzles are processed v1.45 2026-07-01 11:17:07 +01:00
baldurk 30daa3833a Fix incorrect resetting of buffers if created with new-barrier functions 2026-07-01 11:00:06 +01:00
Kirill Kozlov 39ecdedcc1 Fix code snippet in the fetch_shader.rst
Make it the same as in the fetch_shader.py
2026-06-30 20:53:42 +09:00
baldurk ae08f97f6f Leak objects on shutdown if GL context can't be current. Closes #3858
* When a context is destroyed if we can't make it active somehow it's too late
  to destroy anything. We have to assume/count on drivers cleaning up objects.
  With sharegroups this may leak for a while unfortunately.
2026-06-29 12:22:42 +01:00
baldurk 08e10b0230 Fix typo in button tooltip 2026-06-29 11:08:38 +01:00
baldurk abd06a8d1c Ignore pipeline caches that are too large for 32-bit chunk size 2026-06-26 11:32:59 +01:00
baldurk 3316a82d14 Add dummy handling for new parameters 2026-06-24 13:15:24 +01:00
baldurk 20b908968f Force declaration of bool helpers to be uint. Closes #3856
* Reflection here is inconsistent, with descrepancies between GL and SPIR-V
  reflection. To be safe and consistent we force uint in all cases.
2026-06-22 13:52:14 +01:00
baldurk 06e8f370ba Fix handling of some formats of scalar pointers in buffer formatter 2026-06-18 21:50:51 +01:00
baldurk 0549154b30 Use new version of VS when installing compilers in CI 2026-06-17 08:10:03 +01:00
Vinluo46 eb8c26a11f Refactor compiler detection conditions for array iterators 2026-06-16 22:34:43 +09:00
Vinluo 4da2c3ff0a Fix Qt build with newer MSVC STL 2026-06-16 22:34:43 +09:00
Jules Maselbas 6660344c3d Fix GLES wireframe overlay with non-indexed draw
Wireframe overlay was missing the offset of the first vertex in the
draw call and resulted in showing an incorrect wireframe.

This is easily fixed by using the vertexOffset as the first index to
use, just like an indexOffset.
2026-06-09 18:09:02 +09:00
baldurk a4e158eafa Shader objects should not be considered specialised
* These can't be re-used with different pipelines, there is only one version
  (specialised or not) when the object is created. When looking up reflection
  for a shader we use the pipeline only to find the right one so this would
  cause the lookup to fail.
2026-06-08 11:03:51 +01:00
Jake Turner b7a2290435 VK_Indirect unify indirect count marker name for Primary & Secondary
Primary was using KHR_action_indirect_count
Secondary was using KHR_draw_indirect_count
Standardise on KHR_draw_indirect_count
2026-06-05 16:16:24 +01:00
Jake Turner 1a0c70bac8 Clamp Vk Indirect partial replay draw count
i.e. partial replay of an indirect with zero draw count
2026-06-04 11:55:56 +01:00
Jake Turner 2774a629ca Fix Vk Indirect replay when replaying the Indirect pop marker
Also when replaying the parent action which contains the Indirect actions
2026-06-04 11:54:54 +01:00
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