Commit Graph
116 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 ca682d6d34 Use context helpers for pixel debugging 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 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
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
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 965d1c9568 Add demo tests for annotations 2026-01-28 14:42:11 +00:00
baldurk e85651545f Add test of GL shader debugging 2025-12-02 12:17:36 +00:00
baldurk 1a5177453c Move GL test to use common pixel history test framework 2025-10-27 11:50:36 +00:00
baldurk 9d32418e33 Fix GL_Buffer_Updates to not rely on exact thumbnail 2024-12-10 00:06:39 +00:00
baldurk 9de4a79859 Update tests to new descriptor interface 2024-04-10 18:58:52 +01:00
Jake Turner 902a095c60 Marked GL Pixel History as a slow test 2023-12-31 08:41:23 +00:00
Jake Turner 0171ee464a Tidyup python logging in GL Pixel History 2023-12-31 08:41:23 +00:00
Jake Turner bfe89e4c17 Extended test to include a test for GL uniform array of size 1
ie.
uniform float2_struct M[1];
2023-09-05 09:36:11 +01:00
baldurk d23cf4bf0b Allow a little latitude on expected line numbers in callstacks test 2023-08-04 17:06:03 +01:00
Tony TandOrson B df7ed64ad0 Create separate shader for sint, uint and floats
Co-authored-by: Orson B <obraines@gmail.com>
Signed-off-by: Tony T <tony@tonytascioglu.com>
2023-03-13 10:20:07 +00:00
Bruce He 50afbb05bc Address other comments 2023-03-13 10:20:07 +00:00
Bruce He 692617d814 Rename test gl_pixelhistory_formats to gl_pixel_history 2023-03-13 10:20:07 +00:00
Orson Baines 08be49dce3 Add first unit test for Open GL Pixel History
- Support for integer texture formats in OpenGL Pixel History implementation
- Test reading pixels from a triangle with a variety of texture formats
2023-03-13 10:20:07 +00:00
baldurk 2c2bafa1a6 Add protection on D3D12 for bad internal API calls from python 2023-03-09 13:23:19 +00:00
baldurk 00d7827d06 Allow a ~500 difference between PS invocations and samples passed
* This can be caused by overshading/rasterization differences
2022-09-19 16:44:56 +01:00
Shahbaz Youssefi ed4c3756d0 Enable primitive restart for list topologies
This is supported by OpenGL, and on Vulkan with
VK_EXT_primitive_topology_list_restart.  On Vulkan, all drivers are
known to support this even without
VK_EXT_primitive_topology_list_restart.  On D3D, primitive restart is
only supported for strip topologies.

Previously, RenderDoc specifically disabled primitive restart for
non-strip topologies.  In this change, that is no longer done.  If the
app enables primitive restart, so will RenderDoc behave accordingly.  It
would be the responsibility of the app to avoid primitive restart if the
API doesn't allow it.
2022-08-29 14:59:14 +01:00
baldurk 4dc80c1793 Use non-legacy ASIC to generate AMDIL
* This may break on drivers old enough to not recognise the first non-legacy
  ASIC, but that is much rarer than new drivers that have dropped support for
  the old ones.
2022-06-30 15:41:45 +01:00
baldurk 20b496fc7a Add test of integer bare uniforms on GL 2022-06-17 17:27:30 +01:00
baldurk ef003ec881 Test depth bounds serialisation on GL 2022-06-17 17:27:30 +01:00
baldurk fd2ae37a8b Test overlay rendering with separable shader programs 2022-06-17 17:27:30 +01:00
baldurk 8566d55650 Add missing value check in GL_CBuffer_Zoo 2022-05-20 14:15:31 +01:00
baldurk 8aa0390948 Add string messages to returned result codes to display to user
* Most of the main entry points that can fail with relevant reasons now has a
  way of specifying a message to return with it. This message can be displayed
  to the user to give more information or context about an error.
2022-04-26 16:21:54 +01:00
baldurk bd2659a6ab Increase number of captures on GL_Leak_Check test to match other APIs 2021-11-19 12:11:41 +00:00
baldurk 2498043374 Add test of standard counters 2021-11-19 11:56:36 +00:00
baldurk 352821026e Add tests that frame 0 can be captured and contains correct events 2021-11-11 14:43:17 +00:00
baldurk 97dfda3c3c Fix use of GetCBufferVariableContents in tests 2021-10-18 10:20:08 +01:00
baldurk a76aa1dede Update RGA devices list to include RDNA2
* We also drop everything gfx804 to keep the device list from being too bloated,
  as well as AMD planning to remove support for these devices soon.
2021-08-18 20:12:07 +01:00
baldurk a1b5f01159 Fix tests with references to removed properties 2021-07-05 14:20:48 +01:00
baldurk 979f5244e2 Make demos timeout more generous for leak check tests
* It's fine as-is in release, but in development builds it can take almost a
  minute to reach that frame and capture.
2021-07-05 14:20:48 +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
thisisjimmyfb f64cba8e91 Add test to show drawcall count is incorrect 2021-06-26 09:28:42 +01:00
baldurk efd2a50a3a Use python datetime for calculating durations, not time.time() 2021-05-04 14:12:03 +01:00
baldurk 47e13a30d4 Add test of GL renderbuffer variants 2021-04-16 13:31:08 +01:00
Jake Turner 67e277717c Added test failure if fail to find the draw marker 2021-03-14 11:17:31 +00:00