Commit Graph
15703 Commits
Author SHA1 Message Date
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
baldurk 81268dc79a Try to preserve selected pipeline stage as much as possible
* When switching between mesh/normal pipeline keep the same stage selected if
  it's a common stage even if the index has changed.
2025-02-25 11:42:56 +00:00
baldurk d8535c6678 Fix writing of fake availability results in AS queries 2025-02-25 11:25:48 +00:00
baldurk 3d316dc4b2 Serialise dummy AS query results and ensure resolves are nop'd 2025-02-25 11:24:12 +00:00
baldurk 339927e2b4 Update VMA version in demos project 2025-02-25 10:58:15 +00:00
baldurk 2bb425563b Task and mesh shaders are part of pre-rasterization library interface 2025-02-24 18:52:49 +00:00
baldurk f3129c908c Clarify renderdoc module vs library for python 2025-02-24 17:19:46 +00:00
baldurk 32879d6f7c Update docs to mention both python modules version overrides 2025-02-24 17:19:46 +00:00
Jake Turner 4ab9cba381 Get the element type from the Constant not Global Variable for GEP 2025-02-24 16:37:45 +00:00
Jake Turner f2de54c148 Fix missing else if causing false assert about unhandled OpCode 2025-02-24 16:37:45 +00:00
Jake Turner 88f817f77d Handle callstacks to class/struct member functions 2025-02-24 16:37:45 +00:00
Jake Turner 7ebd608cbe Add basic compute shader debug test action to iter_test
Does not check any output, purely runs DebugThread on a random groupId and threadId
2025-02-24 16:37:45 +00:00
baldurk 57ceb652e3 Don't show internal buffers in external replay on D3D12 2025-02-24 15:39:11 +00:00
Jake Turner 554e746cc8 Emit error message instead of crashing for missing SSA variables
Make GetLiveVariable() behave similarly to GetPhiVariable()
2025-02-21 16:48:00 +00:00
Jake Turner 8e733a7b01 Extend parsing for DbgOpDeclare source data : constants
Let any instruction opcode be valid for the instruction that creates the variable
2025-02-21 16:35:24 +00:00
Jake Turner 38d0fdbf72 Add sub sections to DXIL ControlFlow tests
Add [controlflow] tag to tests
2025-02-21 16:35:07 +00:00