Commit Graph

15718 Commits

Author SHA1 Message Date
Remi Palandri 2b01465c79 keep driver's pipelineCacheUUID valid and use it for replay 2025-03-17 10:12:51 +00:00
baldurk b400d4bc52 Refactor D3D ps input fetch to use quad swizzle helper
* Also centralises and shares more code between D3D11 and D3D12 to use the same
  shader
2025-03-14 18:54:38 +00:00
baldurk 58cace21fb Add hlsl helper for reading other lanes via derivative swizzling 2025-03-14 18:54:38 +00:00
baldurk 2322e165de Update copyright years to 2025 2025-03-14 18:54:37 +00:00
Jasmine Hansen ffc985a957 Fix render overlay dynamic state for VK_EXT_shader_object
Mirrors the pipeline modifications with dynamic state for Highlight Draw, Depth, Stencil, Backface Cull, and Viewport Scissor
2025-03-13 21:08:32 +00:00
baldurk add78f9904 Print more useful errors in the event of mesh output failures
* These may not be caused by application errors, but in the event that they are
  this may be more actionable by the user - even though it's invalid API use.
2025-03-13 19:26:40 +00:00
baldurk 9b6f1a5b59 Try to generate reasonable reflection from PDB info
* On FXC if the user strips reflection info and uses a separate PDB, that PDB
  does not contain reflection information. Try to re-generate what we can from
  the PDB debug info, which is not perfect but
2025-03-13 16:45:53 +00:00
baldurk 7171eea3f9 Move scalar-offset calculating helper into common DXBC code 2025-03-13 16:17:31 +00:00
baldurk 2f6d881b8e Only do groupshared unrolling for groupshared declarations
* FXC sometimes seems to emit mappings for static variables which are
  nonsense/can't be used, and are also redundant against the actual information
  available elsewhere. Ignore these as we could potentially expand a huge number
  of mappings that are worthless.
2025-03-13 16:17:00 +00:00
baldurk 3dac15bd9d Disable GPU Reshape 2025-03-13 14:00:09 +00:00
baldurk 9bc6174f62 Disable reshade 2025-03-13 13:59:12 +00:00
Jake Turner e4b4cb02fc D3D12 Pixel shader debug support for Mesh shader generated primitives 2025-03-12 13:50:36 +00:00
Jake Turner 90827deed3 Add DebugPixel to D3D12_Mesh_Shader python tests
Validates can do shader debugging on pixels generated by mesh shaders
2025-03-12 13:50:36 +00:00
Jake Turner 9dffc2f6c6 Do not force rebuild DXIL reflection data when starting the debugger
Closes #3554
2025-03-12 13:50:36 +00:00
Jake Turner 7b3e1cd3f6 Free the debugger trace in multiple places during D3D12 shader tests 2025-03-09 11:30:11 +00:00
Jake Turner e5d09bb0f7 Improve fetching UAV texture data in the D3D12 shader debuggers
Use the resource format if the UAV format is unknown format (typeless)
2025-03-07 12:54:34 +00:00
Jake Turner 87b7f5de72 D3D12 Shader Debugger test for unknown format UAV with a typed Texture2D
Valid for UAV to have unknown format if the underlying resource has a typed format
2025-03-07 12:39:06 +00:00
Jake Turner ff25ea31f6 Handle getting post VS inputs when attribute offset larger than stride
i.e. storing de-interleaved data in a Vertex Buffer
2025-03-07 10:53:35 +00:00
baldurk c78f827c9e Improve quad swizzle helper to handle all possible swaps
* The old method with coarse+fine derivatives didn't return us thread 3's data
  into thread 0 (or vice versa) across the diagonal, which we needed in some
  cases.
* Porting the quad overdraw message passing works better.
2025-03-06 19:20:41 +00:00
baldurk 86e8909b1e Display colour swatch when showing cbuffer values as RGB. Closes #3533 2025-03-06 16:07:49 +00:00
baldurk 959d330488 Treat RGB display of float values as in linear space always. Refs #3533 2025-03-06 16:07:49 +00:00
Jake Turner 9cac526d49 Add d3d12_shader_debugdata_zoo test
Similar to d3d12_shader_debug_zoo but instead of verifying debugger simulation accuracy used to verify debug data is parsed and present

Supports SM6.0 and the DXIL debugger - verifies debug data in pixel and compute shaders
2025-03-06 13:34:57 +00:00
Jake Turner 5120723135 Add Shader source variable helper functions to rdtest
parse_shader_var_type()
get_source_shader_var_value()

moved out from D3D12_Shader_Debug_Zoo
2025-03-06 13:34:50 +00:00
Jake Turner c67c8fcfd9 Improve DXIL debug data handling for DIDerivedType's
Add cases for:
DW_TAG_restrict_type
DW_TAG_reference_type

Parse the base type for any non-null base types of unhandled DIDerivedType's
2025-03-06 11:36:12 +00:00
Jake Turner 0028c6535c DXIL debugging sets initial data for non-const global variables 2025-03-06 10:55:37 +00:00
Jake Turner aaefec8b79 D3D12_Shader_Debug_Zoo tests for loading from global variables
Includes updating the python test to validate the results from compute shader debugging
2025-03-06 10:55:37 +00:00
Jake Turner ab3e46d26d Fix DXIL Load of a single element from a global array Closes #3549 2025-03-06 10:54:01 +00:00
Jake Turner 8dc2929ec1 Changed DXIL Array ShaderVariables to have rows = 1 2025-03-06 10:54:01 +00:00
Jake Turner f9adb41bc3 Changed tool tip display for Shader array types to be { ... }
Matches the display for struct types
2025-03-06 10:54:00 +00:00
baldurk 5e03c30684 Properly initialise and teardown replay during qrenderdoc unit tests 2025-03-05 09:50:48 +00:00
baldurk d23180a1f0 Fix comparison operator to not return true for x < x 2025-03-05 09:50:48 +00:00
baldurk b813fb2436 Allow glslang global lock to be used during process teardown
* During capture we may have to shutdown glslang from inside a global
  destructor, we need to ensure the lock is still valid.
2025-03-05 09:50:48 +00:00
baldurk c6cf956d50 Add macro helper to glslang for new C++ attributes 2025-03-04 18:48:14 +00:00
baldurk c98f50f9b7 Compile fix for glslang PCH not being used
* Weirdly building on upstream even without using PCH, <limits> ends up
  included. For some reason in RenderDoc it is not and needs the explicit
  include (which generally should be there)
2025-03-04 18:12:22 +00:00
baldurk 67df0f92e0 Warning fixes in glslang
* These could likely be upstreamed but are extremely minor (just silencing
  warnings, not fixing issues) and we will have local changes either way.
2025-03-04 16:35:03 +00:00
baldurk be2a35f5a6 Make downstream changes to glslang 15.1.0 to support compiling
* Remove use of newer STL classes like std::filesystem, std::variant and
  std::optional.
* Do not use inline variables - the only instance is also static constexpr
* Explicitly initialise std::array variables with type and size (also add extra
  {}s to appease an old clang warning)
* Work around old libstdc++ bug with move assignment and non-assignable
  allocators
* Remove redundant constexpr that warns on older compilers
* Remove use of declaration-inside-if statements
2025-03-04 16:34:24 +00:00
baldurk f377df2fed Update glslang to 15.1.0
* THIS COMMIT IS NOT EXPECTED TO COMPILE.
* Local changes will follow with downstream compile fixes.
2025-03-04 16:05:33 +00:00
baldurk 5b2ec79df3 Fix missing handling of dynamic offsets. Closes #3547 2025-03-04 13:14:55 +00:00
baldurk 78d67d334a Fix out of bounds destruction in rdcarray insert
* Update unit tests to catch this case (ideally/practically).
2025-03-04 11:33:43 +00:00
baldurk fc8c806dd6 Silence function cast warning on clang-19. Closes #3551 2025-03-04 11:11:02 +00:00
baldurk 1195487dd4 Bump version to v1.38 2025-03-02 14:40:37 +00:00
baldurk cd94206b0f Add sections in Repeat_Load test v1.37 2025-02-27 15:31:00 +00:00
baldurk fe9a875fab Fix documentation of ResultDetails.code 2025-02-26 16:13:24 +00:00
baldurk 19512165bb Bail from Iter_Test when fatal errors are detected 2025-02-26 16:12:10 +00:00
baldurk 7ac76492f4 Clamp pixel shader comparisons to output components in Iter_Test 2025-02-26 16:11:58 +00:00
baldurk fd85828351 Respect scalar swizzles while preserving out-of-bounds clamp behaviour 2025-02-26 12:34:41 +00:00
Jake Turner 631144faab Set per-thread builtins for Vk Compute single thread debugging
DispatchThreadIndex
GroupThreadIndex
GroupFlatIndex
2025-02-26 12:08:24 +00:00
Jake Turner 60d0c6b21c Handle NULL resource for AtomicOp's
Was already handled for UAV Load/Stores
Increase assert value for components (maximum is 16 instead of 4)
2025-02-25 18:44:21 +00:00
Jake Turner bfe042a288 DXIL Debugger extend SM6.6 Direct Heap Access support
SM6.6 Direct Heap Access was already implemented for Texture data sampling
Now support getting SRV/UAV Buffer data and UAV Texture data
2025-02-25 18:44:20 +00:00
baldurk 2c67e87c17 Fix handling of out-of-bounds raw buffer loads in DXBC debug 2025-02-25 12:35:11 +00:00