Commit Graph
482 Commits
Author SHA1 Message Date
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 01893b9896 Use context helpers for pixel history 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 3452ba8ffd Use context helpers for thread 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 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 d08b53fd64 In Vk_Resource_Usage Python compute EIDs and reduce hard coded EIDs 2026-09-09 15:24:59 +01:00
Jake Turner 0c69b86d7c D3D12_Execute_Indirect: skip checking all overlays inside the large EI
Inside the large EI draw with a count of 256: only check a few EIDs at the start and end of that EI.
Reduces the test time and the EIDs being skipped are not exercising different code paths during replay.
2026-09-09 15:17:00 +01:00
Jake Turner 356684b378 D3D12_Execute_Indirect Increase count buf draw count to 256
A small stress test to exercise RenderDoc resolving of EI actions during loading
2026-09-06 19:48:14 +01:00
baldurk 30c817486e Fix bad casts on overlay texture pixel picking 2026-08-25 15:29:58 +01:00
baldurk 1a3e8c79bf Loosen precision requirements on vulkan shader debugging
* Test 185 does repeated pow() calls and the precision difference seems to
  accumulate on mesa drivers at least.
2026-08-24 23:25:58 +01:00
baldurk 950568fb8f Rename previous/next to previousAction/nextAction in ActionDescription
* swig internally creates 'next' member which we normally want to avoid, so
  prevent shadowing here by using a distinct name.
2026-08-13 17:46:47 +01:00
Jake Turner 5a1b2c23e1 Extend D3D12_Annotations test
- loose event annotation
  - a barrier at end of command buffer
  - at end of command buffer attached to CommandList Close
  - command buffer with no actions, just set marker
- annotations before/during/after ExecuteIndirect calls
2026-07-30 16:36:02 +01:00
Jake Turner c559aa64af Check indirect action names in D3D12_Execute_Indirect 2026-07-30 16:36:02 +01:00
Jake Turner 9b942d0533 Extend D3D12_Execute_Indirect: add tests with a count buffer
- MaxCount: 1024 CountBuf: 5
- MaxCount: 1 CountBuf: 7
- MaxCount: 0 CountBuf: 11
2026-07-27 21:23:13 +01:00
baldurk d0030787c6 Fetch inputs and allow debugging for VRS. Closes #3705 2026-07-27 17:10:14 +01:00
baldurk c6c8f807c9 Update VK_Image_Layouts test to check preinitialised data also 2026-07-24 17:52:48 +01:00
Jake Turner 40d6d5fd8a Extend VK_Annotations test
- loose event annotation
  - a barrier at end of command buffer
  - at end of command buffer attached to vkEndCommandBuffer
  - command buffer with no actions, just set marker
- annotations before/during/after vkCmdDrawIndirectCount calls
2026-07-22 15:29:08 +01:00
Jake Turner d75b9d2f36 Check indirect action names in a selection of tests
- VK_Indirect
- VK_Mesh_Shader
- VK_Resource_Usage
2026-07-22 05:41:09 +01:00
Jake Turner 97a11ae6a9 Extend VK_Resource_Usage : execute an empty secondary command buffer 2026-07-16 12:13:37 +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 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 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 c6037d19e4 Extend D3D12_Execute_Indirect python to check ALL overlays on ALL EIDs 2026-05-20 09:53:26 +01:00
baldurk a9824bde8b Include 'NoResources' in test log section name 2026-05-18 15:28:29 +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
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
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 2287790c41 Extend VK_Resource_Usage test: multiple usages, desc buffer copying
- Bind the same resource as the Indirect Buffer and the Index Buffer
  - Defines the resource usage when an indirect command binds the same resource for multiple usags i.e. Indirect + Index Buffer
- Descriptor buffer contents set by earlier command buffer than usage in a single submit
  - Verifies the resource usage submit replay is correct (one command buffer at a time)
2026-04-23 16:14:13 +01:00
Jake Turner 0384c64d81 Fix submit semaphores in VK_Resource_Usage test
Fix validation layer errors
2026-04-22 12:24:34 +01:00
Jake Turner 15dfa312da Extend VK_Resource_Usage test: multiple command buffer submit/exec
Execute multiple secondary command buffers at once
Test loose events (barriers) on nested secondary command buffer, secondary command buffer which is submitted multiple times and a command buffer which is submitted multiple times
Submit the same command buffer multiple times
2026-04-21 10:39:23 +01:00
Jake Turner e4a3fdce0f Extend VK_Resource_Usage test
IndirectDrawCount
Loose events (barriers) after actions
2026-04-16 15:57:22 +01:00
baldurk 0b9a36b581 Fix ID registration when false-duplication happens on replay
* We normally deduplicate during capture, but replay can introduce new
  duplication against internal objects. Using ReplaceResource() would fix this
  but updating the wrapper map is necessary for D3D11 to query current state
  properly.
2026-04-16 14:00:55 +01:00
Jake Turner 3ba5cc499d D3D12_Execute_Indirect Test for large draws with Quad Overlay(Pass) 2026-04-14 17:28:55 +01:00
Jake Turner 2361be9f36 Add shader debug test to D3D12_Descriptor_Indexing
Tweak test shader to exercise shader debug simulation of SM6.6 direct heap access
2026-04-14 14:18:16 +01:00
Jake Turner 022a63e1bc Remove extra rdtest.log.end_section in VK_Mesh_Shader
Fixes HTML output
Move the other VK_Mesh tests over to use "with rdtest.log.auto_section" construct
2026-04-09 09:42:33 +01:00
Jake Turner 3cbf516e5f Extend VK_Resource_Usage test
* Descriptor Set: IndirectDraw, IndirectDrawIndexed, IndirectDispatch
* Secondary Command Buffer: Descriptor Set: IndirectDraw, IndirectDrawIndexed, IndirectDispatch
2026-04-08 13:57:33 +01:00