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