Commit Graph

15741 Commits

Author SHA1 Message Date
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
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