Commit Graph
1357 Commits
Author SHA1 Message Date
Jake Turner b29e2cc987 Extend test coverage in Vk_Subgroup_Zoo
- gl_NumSubgroups
- gl_SubgroupID
- gl_SubgroupEqMask
- gl_SubgroupGeMask
- gl_SubgroupGtMask
- gl_SubgroupLeMask
- gl_SubgroupLtMask
- subgroupBallotInclusiveBitCount
- subgroupInverseBallot
- subgroupShuffleXor
- subgroupShuffleUp
- subgroupShuffleDown
- subgroupInclusiveAdd
- subgroupInclusiveMul
- subgroupInclusiveMin
- subgroupInclusiveMax
- subgroupInclusiveAnd
- subgroupInclusiveOr
- subgroupInclusiveXor
- subgroupExclusiveAdd
- subgroupExclusiveMul
- subgroupExclusiveMin
- subgroupExclusiveMax
- subgroupExclusiveAnd
- subgroupExclusiveOr
- subgroupExclusiveXor
- subgroupClusteredAdd
- subgroupClusteredMul
- subgroupClusteredMin
- subgroupClusteredMax
- subgroupClusteredAnd
- subgroupClusteredOr
- subgroupClusteredXor
2026-09-21 16:22:24 +01:00
Jake Turner cfa80924ef Extend test coverage in Vk_Workgroup_Zoo
- gl_SubgroupEqMask
2026-09-21 16:22:21 +01:00
Jake Turner a8270f72d7 Vk Tests make the parent tmp/ directory of the temporary directory 2026-09-21 16:21:35 +01:00
Jake Turner be2676ff56 Improve VK_Subgroup_Zoo tests
- compute any bitmasks using subgroupBallot() outside of flow control
- add tests for subgroupBallotBitExtract, subgroupBallotFindLSB, subgroupBallotFindMSB
2026-09-18 14:02:55 +01:00
baldurk 622625de7a Make sure link batch file goes to right directory 2026-09-17 11:44:07 +01:00
baldurk 06da5d1974 Set demo window title for vulkan tests 2026-09-15 17:00:54 +01:00
baldurk 510d16d900 Report more accurate data for Pixel history with discards & fragments
* For draws where some fragments discard, D3D12 & Vulkan currently can't
  distinguish which specific fragments did and didn't discard because they're
  processed batched in separate callbacks rather than incrementally like D3D11 &
  GL which can track a discarded offset by doing one stencil count at a time.
  This means we can't get primitive information or ordering, we only get a list
  of the passing fragments and a set of failing fragments.
* Note that on all APIs we also can't distinguish when instancing is present,
  because there could be multiple "identical" primitives from different
  primitives, some of which discard and some don't.
2026-09-15 17:00:54 +01:00
baldurk 49f3c76c57 Fix demos reference to device from window 2026-09-14 09:56:36 +01:00
baldurk 527f34614b vkDeviceWaitIdle workaround because presentation is broken 2026-09-13 12:57:43 +01:00
baldurk 1fbec8ee48 Print total number of cases properly in log 2026-09-13 12:54:54 +01:00
baldurk 18e4d44ec3 Log VkResult errors to demos log 2026-09-13 12:54:40 +01:00
baldurk a3fafbc29a Don't pre-split work across parallel job workers 2026-09-12 02:15:12 +01:00
baldurk 19718e4feb Add UI extension for running tests within the UI 2026-09-11 21:46:16 +01:00
baldurk 8392bca098 Fix incorrect error string 2026-09-11 21:17:19 +01:00
baldurk f58d376b3a Add an option to the logger to immediately fatal on first error
* This is mostly useful for some of the tests that want to be able to run and
  accumulate multiple errors, but while debugging we want an exception to catch.
2026-09-11 21:17:19 +01:00
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 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 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 4fffe30bd4 Allow adding custom log outputs that aren't filenames 2026-09-11 19:19:26 +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 73545f0a51 Fix failed test movement for truncated logs 2026-09-11 17:27:36 +01:00
baldurk 8b492631c4 Allow multi-word test names in javascript processing 2026-09-11 17:27:36 +01:00
baldurk 3cc984148c Put demos temp files in each demo's tmp directory 2026-09-11 17:27:36 +01:00
baldurk d827d9be95 Pick default python module when running tests on windows 2026-09-11 15:04:05 +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 1409c071a9 Split apart util.value_compare_diff to have better type annotation 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 62e38bc249 Use helper config struct in Draw_Zoo instead of untyped dict 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 033ce407b4 VK_Resource_Usage tweaks
- give names to: Queue, Framebuffer, Swapchain Image, Swapchain Image View, Shader Modules
- rename "barrerCmdSubmitFence" -> "barrierCmdSubmitFence"
- add a marker "Barrier Command Submit Fence"
2026-09-09 15:24:59 +01:00
Jake Turner 30c78d389a Add VulkanGraphicsTest::setName() overload for VkQueue & VkShaderModule 2026-09-09 15:24:59 +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 69a9c09ecd Use correct clear colour for UINT discard texture 2026-08-26 09:23:58 +01:00
baldurk 30c817486e Fix bad casts on overlay texture pixel picking 2026-08-25 15:29:58 +01:00