Commit Graph
29 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 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 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
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
baldurk 9de4a79859 Update tests to new descriptor interface 2024-04-10 18:58:52 +01:00
Jake Turner 8c5cbbecdf Depth overlay tests include a shader with discard 2024-01-11 14:42:25 +00:00
Jake Turner 3e08b6f451 Depth overlay test check pixels outside the drawcall are black 2023-12-12 14:16:06 +00:00
Jake Turner dd0c888d11 Extend Overlay tests to include shader exported depth scenario 2023-12-05 15:26:57 +00:00
baldurk 32e1f62199 Give overlay test reasonable epsilons to account for shift 2023-12-01 11:59:14 +00:00
baldurk 9e79ba3416 Fix DXIL patching for quad overdraw
* Also tweak the test output to be more organised
2023-11-20 18:17:51 +00:00
Jake Turner 93506245c4 Add format name to overlay test python logging 2023-09-10 09:39:19 +01:00
Jake Turner 40090fb779 Extend Overlay tests to handle more depth stencil formats : GL
D32_S8, D24_S8, D32, D24, D16
2023-09-08 22:38:01 +01:00
baldurk f23cb75633 Make sure sample mask does not affect normal texture overlays 2023-01-05 15:39:14 +00:00
baldurk 3cec544508 Patch quad overdraw shaders on D3D12 to follow rules. Closes #2356
* This is a stupid requirement as the quad overdraw shader doesn't use any
  interpolators, but the D3D12 runtime complains and refuses to create a PSO
  unless the PS has a matching signature. This works as long as the position was
  the first output from the previous stage, but if it isn't the PSO fails to
  create.
* To fix this, we take the existing shader and patch it by grafting the output
  signature from the last stage over onto the input signature, and patching up
  where the position is.
2021-10-20 17:22:43 +01:00
baldurk 634a8c381a Update test scripts to latest APIs and behaviour changes 2021-07-01 15:15:05 +01:00
baldurk 7149302680 Rename 'draw' or 'drawcall' to action
* There's not a good accepted terminology for this kind of event, and for
  historical reasons 'drawcall' has been the accepted term, even though
  that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
  $draw() includes draws and dispatches, but $dispatch() only includes
  dispatches, it's hard to intuitively understand why $draw() matches all
  of these calls.
* As a result we've defined the term 'action' to cover these types of
  events in the same way that we defined 'event' in the first place to
  mean a single atomic API call.
2021-07-01 15:15:05 +01:00
baldurk efd2a50a3a Use python datetime for calculating durations, not time.time() 2021-05-04 14:12:03 +01:00
baldurk 68d690a912 When rendering overlays, clear to transparent black
* This might cause some fringing artifacts when at low scales due to non-PMA
  colors but it means there are no false-positive green pixels.
2020-12-09 18:16:08 +00:00
baldurk ec73718cf0 Test that overlays work on D3D12 with no viewport or scissor bound 2020-10-22 14:48:33 +01:00
baldurk 3f8fb1e1b6 Add MSAA case to overlay tests 2020-10-22 14:11:01 +01:00
baldurk 485f7d21fc Make overlays interact consistently with viewport/scissor
* We also add a red/green display to the viewport and scissor overlay to show
  pixels that fail the scissor test.
2020-07-17 16:53:34 +01:00
baldurk 1df39247fa Fix access to render state in D3D12
* We need to copy the external-facing m_RenderState into the partial command
  buffer's state for partial replay, in case it was modified externally.
* Also when accessing the render state inside a drawcall callback we need to use
  the command buffer's local state, not m_RenderState which isn't updated until
  the replay completes.
2020-07-14 14:08:54 +01:00
baldurk abb959e1fd Handle array textures and multiview properly in overlays. Closes #1895 2020-05-27 22:38:23 +01:00
baldurk 5e2de7dd34 Fix issues switching between mips with overlays on vulkan 2020-04-07 14:05:43 +01:00
baldurk ac77b7899d Remove VK_Indirect use of image comparisons 2020-03-19 17:16:19 +00:00
baldurk 40611a3dde Test subresource rendering in overlay tests, remove png comparisons 2020-03-12 16:51:19 +00:00