Commit Graph
21 Commits
Author SHA1 Message Date
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 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 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 b27f5d5872 Extend D3D12_PrimitiveID test to SM6
To test the DXIL debugger
2025-03-20 13:52:18 +00:00
baldurk 4caf3e4e13 Correct struct name typo in python script 2024-03-18 10:28:37 +00:00
Jake Turner 7934d1d16e Change DebugPixel() to take a DebugShaderInputs struct
DebugShaderInputs struct contains existing the parameters:

sample
primitive

and a new parameter

view

Default constructor for DebugShaderInputs sets the parameters to NoPreference (~0U).
2024-03-13 07:58:48 +00: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 7ff7e0a71d Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
  ShaderValue.
2020-12-09 18:16:08 +00:00
baldurk d4ddb565d0 Add a per-shader debuggable flag to allow finer grained status
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
  will allow us to have the UI work better when encountering shaders with
  unsupported capabilities or extensions.
2020-06-18 17:22:45 +01:00
baldurk b35de95602 Fix python3 warning about use of 'is not' for literal comparison 2020-04-22 14:02:19 +01:00
baldurk cd674539fd Change shader debugging tests to check at runtime if it's available
* The config values can be loaded in the tests now.
2020-03-18 17:34:59 +00:00
baldurk 15ec327782 Fix typo in name of evaluate function 2020-03-02 17:37:23 +00:00
baldurk 4873a9fdc3 Add missing calls to FreeTrace 2020-03-02 17:37:23 +00:00
baldurk 914dc88cd0 Pass signature index in source variable mapping, not builtin
* The builtin is more directly useful but the signature index allows us to match
  up inputs and outputs that don't have a builtin meaning (pure interpolators).
2020-02-25 18:19:52 +00:00
Steve Karolewics dfbe7fb6bf Remove primitive ID usage from pixel shader debugging when invalid
SV_PrimitiveID is only valid as a pixel shader input if there's either
no geometry shader, or the geometry shader emits SV_PrimitiveID. With
D3D11, the debug layer will complain but rendering will proceed. With
D3D12, the PSO fails to compile. For both APIs, pixel shader debugging
now checks whether this is true, and disables its usage if it isn't.
Added tests for various valid scenarios with SV_PrimitiveID.
2020-02-20 19:06:22 +00:00