Commit Graph
487 Commits
Author SHA1 Message Date
baldurk 0384f09365 Add needed default argument for python function 2026-10-26 12:10:38 +00:00
baldurk 3ea44b8511 Add tests for separate debug info on D3D + Vulkan, and embedding 2026-10-26 11:47:28 +00:00
Aidan Raymond 13324a0846 Add test for VK_KHR_device_address_commands and enable extension 2026-10-24 07:11:44 +09:00
Jake Turner 2c84beae9b D3D12_CBuffer_Zoo: do not check CBuffer array on SM6
- The DXIL debugger does not expand out CBuffer arrays into the debugger trace constantBlocks
2026-10-23 13:01:28 +01:00
baldurk d0ea00bba1 Check for truncated flag presence or absence in cbuffer checks 2026-10-12 10:37:10 +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 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