195 Commits

Author SHA1 Message Date
baldurk ddc475d729 Use raw strings for regexs in python tests 2026-04-30 15:55:27 +01:00
Jake Turner fcebc9cebb Make a copy of the RootActions in TestCase.validate_eventids()
Otherwise the next call to controller.GetRootActions() will return an empty list
2026-04-28 13:12:18 +01:00
Jake Turner d0b69c7034 Add Python test helper validate_eventids()
Called when loading captures in Iter_Test and Repeat_Load

Checks the consistency of EventIds:

Walk the actions to find all the referenced EventId's:
- Error if any EventId is duplicated
- Error if the EventId's are not contiguous (with no gaps)
2026-04-24 15:50:40 +01:00
Jake Turner e9bce39efc Ignore empty before/after for resource ShaderVariables in validate_trace 2026-04-14 13:26:29 +01:00
baldurk ef0b68d76d Fix annotations tests to check for new vector member names 2026-03-12 12:44:35 +00:00
baldurk c2147b0233 Clarify that most info is unavailable for pixel history on secondaries
* Also fix a potential crash if dynamic rendering is used in secondaries.
2026-03-10 12:40:02 +00:00
Jake Turner 1bd80b13cc Extend VK_Mesh_Shader tests for struct arrays, struct in a payload 2026-02-04 13:25:18 +13:00
Jake Turner 0bec9e0a0c Add struct array to VK_Mesh_Shader task out 2026-01-29 09:16:48 +13:00
baldurk 965d1c9568 Add demo tests for annotations 2026-01-28 14:42:11 +00:00
baldurk ccbe3c8cce Propagate up failure through expand sections in test results 2025-11-18 17:59:12 +00:00
Jake Turner ccbb516610 Simplify DXIL Disassembler/Debugger SSA ID name strings and aliases
Store SSA ID name strings in a container which is shared between the disassembler and the debugger.
The SSA ID name strings are guaranteed to be unique by appending the SSA ID value.

Do not use resource names for SSA ID names, only show resource names when a DXIL handle is created i.e. DXOp::CreateHandle, DXOp::CreateHandleFromBinding & DXOp::CreateHandleFromHeap

This means the debugger now has a unique name for each ShaderVariable generated.

Revert the ShaderViewer consistency changes which were only required because the DXIL debugger did not generate unique names for ShaderVariables.
2025-11-13 13:10:44 +13:00
Jake Turner f858b2320f Extend D3D12_Shader_DebugData_Zoo tests to include matrix
Check matrix in the outputs from Vertex Shader
Check matrix in the inputs to Pixel Shader
Check matrix debug data source values from debugger trace
2025-11-12 11:10:32 +13:00
Jake Turner c534b41eb6 Tune the ShaderVariable consistency checks for resources
Do not check before/after equals existing value for ReadOnlyResource and ReadWriteResource
In the DXIL debugger for resources the same SSA ID might have different names
2025-11-11 10:53:15 +13:00
baldurk eee1268a9f Fix handling of test failure cases in test results page 2025-11-10 16:43:05 +00:00
baldurk b3264d4a4e Add a summary table showing the durations of tests (slowest first) 2025-10-31 11:29:26 +00:00
baldurk 3a623d015d Sort failed tests to the end of the test result list 2025-10-31 11:29:26 +00:00
baldurk 48088ac07e Add handling of D3D shaders which declare no output value 2025-10-27 11:50:36 +00:00
baldurk d8fa6a1747 Revamp vulkan pixel history test to cover more cases
* The test is also written generically to be applied to other APIs uniformly
2025-10-27 11:50:35 +00:00
baldurk 1521278fd5 Only avoid duplicate failures when exceptions are raised 2025-10-27 11:45:35 +00:00
Jake Turner 9c31e0131e Fix validate_trace() being called from generate_full_trace() 2025-10-23 09:15:42 +01:00
baldurk cb053efe77 Fix duplicate failure reporting in auto sections 2025-10-21 16:46:47 +01:00
Jake Turner 196ca9bae2 Run validate_trace() as part of generate_full_trace()
Ensure the trace is valid before running comparisons on it
2025-10-10 12:58:32 +01:00
Jake Turner 9e63b3fb8c Enable VK_Groupshared test 2025-09-28 07:26:30 +01:00
Jake Turner f12aa91ba2 Python helpers to generate and check a full trace from shader debug 2025-09-24 14:13:59 +01:00
Jake Turner decbcff6ab Enable Vk Workgroup and Subgroup tests 2025-09-24 12:04:37 +01:00
baldurk 0939abc3da Add a scoped log section that can be used with with: 2025-09-11 12:51:08 +01:00
Jake Turner 08696443a0 Added workgroup performance tests and basic D3D11 Workgroup test
Added D3D11_Workgroup_Zoo, D3D12 Workgroup Zoo, Vk Workgroup Zoo performance tests

Performance tests primarily for performance testing workgroup debugging speed

Changed workgroup and subgroup result variable from "data" -> "testResult" to help to reduce conflicts
2025-07-21 09:16:56 +01:00
baldurk 3e70a37fac Add test of descriptor buffer 2025-07-09 09:57:56 +01:00
thisisjimmyfb 29207a7333 Fix VK_Leak_Check for Android
RemoteServer timedout due to VK_Leak_Check taking too long before sending commands to remote server. Spawning a worker thread to keeping the remote server connection alive fixes the disconnection issue.
2025-06-19 11:45:04 +01:00
thisisjimmyfb b1d3123583 Remote Android and Linux test support part 1
Add remote server support to test framework
2025-06-19 11:45:04 +01:00
Jake Turner 962c1cdcf6 Enable Python shader trace validation by default 2025-05-19 16:57:22 +01:00
Jake Turner 9523f98b8a Python implementation of ShaderDebugTrace validation
Similar to the validation that is performed in ShaderViewer UI
Disabled by default pass True to process_trace to enable the validation
Includes validate_shadervariable() and shadervariable_equal()
2025-05-19 16:44:45 +01:00
Jake Turner fc956fee61 Improvements to *_Groupshared tests
More checking of GSM local/global cache behaviour when debugging
One test is not GPU stable and its results are verified against hard coded expectation (this is to test the expected behaviour of the local GSM cache on the active thread)
2025-05-10 11:49:43 +01:00
Jake Turner 033a4d1e5a First version of python for *_Groupshared tests
Verify outval shader debugger variable matches the real generated data in outBuf
2025-05-07 12:12:57 +01:00
Jake Turner 2fbf85fad1 Divide up tests between Workgroup_Zoo and Subgroup_Zoo
Subgroup_Zoo : unit tests, non-trivial convergence tests moved to Workgroup_Zoo
Workgroup_Zoo : convergence tests, small number of unit tests (not full coverage)

Added checks for workgroup convergence in Workgroup_Zoo tests
* Vulkan uses barrier()
* D3D12 uses AllMemoryBarrierWithGroupSync()
* dispatches workgroup of 2x1x1
* test debug results for workgroup 1,0,0
2025-05-07 11:05:55 +01:00
baldurk d239a59ff0 Fix pick component type for S8 textures 2025-04-28 17:26:06 +01:00
baldurk 361624ff84 Add slight increase to error tolerance for SNorm textures 2025-04-28 17:10:53 +01:00
Jake Turner 258ab5b6e3 Change test helper to just check for asserts (not errors)
Setting the Vulkan layer produces two errors
2025-04-22 14:31:43 +01:00
Jake Turner a8de121cd0 Check for Asserts & Errors when running D3D12_Shader_DebugData_Zoo tests 2025-04-22 13:09:04 +01:00
Jake Turner eeac056816 VK and D3D12 Workgroup & Subgroup Zoo tests fail on Asserts or Errors
Check the renderdoc log for lines matching "Assertion" or "Error"
Using new helper function in testcase.py
def check_renderdoc_log(self, asserts: bool = True, errors: bool = True):
2025-04-22 12:33:56 +01:00
Jake Turner 1c4520534d new helper function in testcase.py to check RD log for Asserts/Errors
def check_renderdoc_log(self, asserts: bool = True, errors: bool = True):
2025-04-22 12:33:50 +01:00
Jake Turner e14bc98e18 Added VK_Workgroup_Zoo, D3D12_Workgroup_Zoo tests
Tests specifically aimed at workgroup debugging i.e GSM and non-aligned subgroups
Not focused on unit tests of subgroup/quad instructions that is handled by *_Subgroup_Zoo
2025-04-18 13:58:09 +01:00
Jake Turner f50c85173b Unified Subgroup_Zoo VK and D3D12 python
Improved test failure reporting
2025-04-02 08:43:30 +01:00
Jake Turner fa9bc127b1 Add early return test case to D3D12_Shader_DebugData
Change python to search backwards through the instruction info to find the value for a source variable
2025-04-02 08:39:49 +01:00
Jake Turner dae198b39e Extend D3D12_Draw_Zoo to SM6 & SM6.6
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner ac2da339ae Extend D3D12_Bufer_Truncation test to SM6.0 & SM6.6
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner 7eef20b3db Added demos test VK_Mesh_Shader
Similar on d3d12_mesh_shader test, move some helper code from d3d12_mesh_shader python to testcase.py to allow for sharing with vk_mesh_shader python
2025-03-20 13:52:17 +00:00
Tristan Ritchie 2eade4650b Add support for VK_KHR_maintenance5 2025-03-19 15:43:08 +00:00
Jake Turner 5120723135 Add Shader source variable helper functions to rdtest
parse_shader_var_type()
get_source_shader_var_value()

moved out from D3D12_Shader_Debug_Zoo
2025-03-06 13:34:50 +00:00
baldurk cfefa5d5ef Add a test for new group ops 2025-02-10 17:52:31 +00:00