Commit Graph
215 Commits
Author SHA1 Message Date
baldurk 3ea44b8511 Add tests for separate debug info on D3D + Vulkan, and embedding 2026-10-26 11:47:28 +00: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 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 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
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 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
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 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
baldurk a4b8179794 Fix query tracking to be per-cmdbuf on replay. Closes #3797 2026-02-13 13:06:19 +00:00
baldurk 1f29df7bfb Add test for D3D12 predication 2026-02-04 22:33:57 +00:00
baldurk 965d1c9568 Add demo tests for annotations 2026-01-28 14:42:11 +00:00
Jake Turner 1b5543e74f Fix D3D12 Compute Derivative Tests
Use groupId for the output buffer index to match the python
Only output results for workgroup 1,0,0

Do not reset test failing to false in check_compute_derivative_tests()
2025-12-22 09:03:33 +13:00
Jake Turner 1b56d385fe D3D12 Test cases for SM6.6 Derivatives in Compute Shaders
HLSL
ddx()
ddx_coarse()
ddy()
ddy_coarse()
ddx_fine()
ddy_fine()

CalculateLevelOfDetail()
CalculateLevelOfDetailUnclamped()
Sample()
SampleBias()
SampleCmp()
2025-12-12 12:02:16 +13:00
Jake Turner 792afc2190 Tweaked test success message for new D3D12 EI test 2025-11-22 12:52:22 +13:00
Jake Turner a9056f1eca Add a D3D12 EI test case for an EI which does not need a root signature
EI with:

D3D12_VERTEX_BUFFER_VIEW
D3D12_DRAW_ARGUMENTS
2025-11-20 15:41:32 +13:00
Jake Turner dbbd9ba010 Added MSAA tests for SM6.0 and SM6.
Disabled in the python because the RenderDoc does not currently support DXIL debugging of MSAA instructions or SV_Barycentrics
2025-11-17 05:47:55 +13:00
Jake Turner 0194951bca Fix D3D12_Resource_Mapping_Zoo false failure if no SM6.6 action to test
Apply the same fix for no SM6.0 action to test
2025-11-12 17:42:03 +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 4d180eecfa Tweak D3D12_Resource_Mapping_Zoo test to mark as failed in all cases 2025-11-12 10:57:13 +13:00
baldurk a6ad1313fd Move D3D12 test to use common pixel history test framework 2025-10-27 11:50:35 +00:00
Jake Turner a4d407ec3a Enable D3D11, D3D12 groupshared, subgroup, workgroup tests
D3D11_Groupshared, D3D12_Groupshared
D3D12_Subgroup_Zoo
D3D11_Workgroup_Zoo D3D12_Workgroup_Zoo
2025-10-25 11:01:13 +01:00
baldurk 41e9f3c426 Add a demo project with extremely high overlap/sparseness buffers
* For stressing memory overhead in buffer initial states
2025-09-29 16:37:45 +01:00
Jake Turner 9e63b3fb8c Enable VK_Groupshared test 2025-09-28 07:26:30 +01:00
Jake Turner decbcff6ab Enable Vk Workgroup and Subgroup tests 2025-09-24 12:04:37 +01:00
Jake Turner e16a714aba New cbuffer tests: D3D11, D3D12 packedoffset; D3D12 cbuffer array
cbuffer packed_consts : register(b2)
{
  float col1z : packoffset(c1.z); // 4+2
  float col2w : packoffset(c2.w); // 8+3
};

struct ArrayStruct
{
  float4 a;
};

ConstantBuffer<ArrayStruct> array_consts[2] : register(b3);
2025-09-23 15:59:48 +01:00
baldurk fa0ba4a532 Don't disable blending for fetching per-fragment postmod 2025-08-18 13:28:11 +01:00
Jake Turner a8ee82bfe8 Extend D3D12_EXECUTE_INDIRECT test for partial update of root constants
Change colour of triangle based on root constant values set by direct API not by indirect API.
This allows verification that RenderDoc replay of indirect root constants does not alter values set by the direct API
2025-07-31 08:07:19 +01:00
Jake Turner be6cc2d324 Verify pixel history succeeds as part of D3D12_Execute_Indirect tests 2025-05-18 12:52:56 +01:00