baldurk
d56ea92fd5
Add some helpers for querying and reloading tests
2026-09-11 21:17:18 +01:00
baldurk
7faac83b00
Add a helper and context for tracking the last pixel pick
2026-09-11 21:17:18 +01:00
baldurk
ff7e147b39
Allow setting a capture context if tests are run in UI
...
* This means we can keep the UI in sync with things like resource replacements.
2026-09-11 21:17:18 +01:00
baldurk
ca682d6d34
Use context helpers for pixel debugging
2026-09-11 21:17:17 +01:00
baldurk
e6948a8c7e
Check for degenerate debug traces in process_trace
2026-09-11 21:17:17 +01:00
baldurk
191597b27c
Don't allow find_*_source_var to return None
...
* Almost all callers expect a return value, so better to raise an exception
inside and make it non-optional return
2026-09-11 21:17:17 +01:00
baldurk
ae019398cb
Remove checks for shader debuggability
...
* All APIs now support shader debugging by default and we assume/require all
shaders in tests to be debuggable.
2026-09-11 21:17:17 +01:00
baldurk
04af66d71f
Check for failed ShaderDebugTrace centrally
...
* We don't expect the debug to fail entirely and if it does we can throw a test
failure
2026-09-11 21:17:16 +01:00
baldurk
031212e916
Use context helpers for vertex debugging
2026-09-11 21:17:16 +01:00
baldurk
d9c72e7651
Include context information for pixel history and shader debug attempts
2026-09-11 21:17:16 +01:00
baldurk
2a0989ba9a
Use local helper function for setting current EID
...
* This lets the testcase track the current EID and print it when a failure
happens
2026-09-11 19:19:27 +01:00
baldurk
d7cbb743e4
Set more tests to use common check_vertex_debug() helper
2026-09-11 19:19:26 +01:00
baldurk
fc27cf0deb
Add ability to run tests in parallel
2026-09-11 19:19:26 +01:00
baldurk
748e089b15
Fix remaining static analysis identified issues in python test code
...
* This includes:
- Incorrect comparisons
- Missing type annotations where it can't be inferred
- Variable shadowing and bad use
- Unused imports
- asserts for non-None on types
* Passes clean on strict pyright checking except for
`reportMissingParameterType`, `reportUnusedVariable`, and
`reportOptionalMemberAccess` which are all too spammy and low value to be
worth addressing.
2026-09-11 15:04:05 +01:00
baldurk
12636a1607
Switch from str.format to f-strings in tests
...
* These were available for python 3.6 too so was never any reason not to use
them except not being aware they existed.
2026-09-11 15:04:04 +01:00
baldurk
796b68c1a8
Unify code to check mesh/task data against reference
...
* Also change the task payload data layout to match meshes, with one 'vertex'
(payload) per task thread
2026-09-11 15:04:04 +01:00
baldurk
ec36d155bc
Remove redundant type annotations
...
* These come from long ago when using PyCharm with not as good type checking and
with renderdoc module stubs that were incomplete so needed help identifying
types.
2026-09-11 15:04:04 +01:00
baldurk
79a5086a0c
Handle assert failures in logger directly, remove TestCase.check
...
* assert is handled specially by the type checker so we don't want to have
duplicate self.check / assert
* The original reason for TestCase.check was to print the assertion message but
this can be handled by checking for the AssertionError exception
2026-09-11 15:04:03 +01:00
baldurk
fd55020165
Add helper for checking vertex debugging matches postvs
...
* There are a few 'extras' here as the uses aren't quite uniform, but they are
close enough it makes sense to have a common helper
2026-09-11 15:04:03 +01:00
Jake Turner
6df99e4d94
Extend python helper functions for D3D12 indirect action names
2026-07-30 16:35:53 +01:00
Jake Turner
4aa00a2bfa
Add python helper functions to check indirect action names
2026-07-22 05:41:09 +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
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
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
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
Jake Turner
9c31e0131e
Fix validate_trace() being called from generate_full_trace()
2025-10-23 09:15:42 +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
f12aa91ba2
Python helpers to generate and check a full trace from shader debug
2025-09-24 14:13:59 +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
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
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
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
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
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
Jake Turner
84f6799444
Improve testcase _find_action
...
Search for the action with the closest EID to the request
Previously it would return the first action that was larger than the EID
2024-11-07 15:23:31 +00:00
Jake Turner
84786aea20
Demos test D3D12_Shader_Mesh
2024-07-24 13:21:57 +01:00
baldurk
9de4a79859
Update tests to new descriptor interface
2024-04-10 18:58:52 +01:00
baldurk
69c1990035
Fix handling of descriptor feedback in iterating arrays
2022-11-21 15:22:43 +00:00
baldurk
cef00a102b
Add struct VarType and combine flags into single field
...
* This is not a space saving right now, but allows more flags to be added
without adding more storage.
2022-05-20 13:37:25 +01:00