Jake Turner
673caa32a7
Add the input variables to DXIL debugger sourcevars
2025-03-20 13:52:21 +00:00
Jake Turner
e8665926cc
DXIL Disassembly match bindings with upperBound = -1
...
i.e.
Texture2DArray<float> resArray[] : register(t0);
2025-03-20 13:52:21 +00:00
Jake Turner
d7fa6c9df0
Improve DXIL Debugger support for cbuffer arrays
...
Resolve the cbuffer resource names correctly to show the correct data in the "Constants" view in the Shader Viewer UI
Add a cbuffer reference mapping from SSA Id handles to: constantBufferIndex and arrayIndex
Change constantBlocksDatas to be a map from a cbuffer reference to a bytebuf
2025-03-20 13:52:21 +00:00
Jake Turner
25e0612a50
Improve SSA variable name and accessed resource name for resource arrays
...
For a dynamic index resolve the name to the actual array index i.e. res2[1] instead of res2[_70 - 7]
2025-03-20 13:52:21 +00:00
Jake Turner
03b5c94144
Improve DXIL disassembly for accessing resource arrays
...
Subtract the base register away from the register to show the correct array index
2025-03-20 13:52:20 +00:00
Jake Turner
e444aff7cf
Extend D3D12_Shader_Debug_Zoo tests
...
New pixel shader for testing which does not contain resource references
Added new tests for ddx, ddy and discard
2025-03-20 13:52:20 +00:00
Jake Turner
025a6bbf86
Extend D3D12_Resource_Mapping_Zoo test to SM6 & SM6.6
...
To test the DXIL debugger and added a test of dynamic SRV array index
2025-03-20 13:52:20 +00:00
Jake Turner
dae198b39e
Extend D3D12_Draw_Zoo to SM6 & SM6.6
...
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner
ac2da339ae
Extend D3D12_Bufer_Truncation test to SM6.0 & SM6.6
...
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner
9163aa76c2
Add SM6.6 tests to D3D12_CBuffer_Zoo
2025-03-20 13:52:19 +00:00
Jake Turner
2dbaf739d7
Extend D3D12_Shader_Linkage_Zoo test to SM6
...
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner
b27f5d5872
Extend D3D12_PrimitiveID test to SM6
...
To test the DXIL debugger
2025-03-20 13:52:18 +00:00
Jake Turner
506d1a1222
Minor tidyup of D3D12_Mesh_Shader python
2025-03-20 13:52:18 +00:00
Jake Turner
7eef20b3db
Added demos test VK_Mesh_Shader
...
Similar on d3d12_mesh_shader test, move some helper code from d3d12_mesh_shader python to testcase.py to allow for sharing with vk_mesh_shader python
2025-03-20 13:52:17 +00:00
baldurk
1ab434d983
Work around NV driver bug miscompiling quadSwizzleHelper() in some cases
2025-03-19 18:31:56 +00:00
baldurk
20eda2c3a2
Fix mapping calculation for array-of-structs variables
2025-03-19 18:31:56 +00:00
baldurk
b565693e15
Pass subgroup size and index through to DXIL instruction execute
2025-03-19 18:31:56 +00:00
baldurk
9bdb5bc134
Add D3D12_Subgroup_Zoo test
2025-03-19 18:31:56 +00:00
baldurk
083af09397
Expand input fetching to VS & CS when subgroup info is needed
2025-03-19 18:31:55 +00:00
baldurk
54810cc8a5
Fix thread calculation for subgroup&workgroup scope in shader debug
2025-03-19 18:31:55 +00:00
baldurk
dbb58a1179
Extract PS input fetching code into common helpers to be re-used
2025-03-19 18:31:55 +00:00
baldurk
6b0604f735
Refactor how builtins are gathered & provided for DXIL debugging
...
* Buitins can either be thread-varying or global, we pick the narrowest type to
use
2025-03-19 18:31:55 +00:00
baldurk
5914b0641d
Expand D3D input fetchers to support VS&CS and support subgroup fetch
2025-03-19 18:31:55 +00:00
baldurk
59fbd3d820
Reflect explicit wave size out of compute shaders if present in DXIL
2025-03-19 18:31:55 +00:00
baldurk
a20214452f
Prepare DXIL debugger for larger workgroup sizes
2025-03-19 18:31:55 +00:00
Tristan Ritchie
2eade4650b
Add support for VK_KHR_maintenance5
2025-03-19 15:43:08 +00:00
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