Commit Graph
11098 Commits
Author SHA1 Message Date
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 9dffc2f6c6 Do not force rebuild DXIL reflection data when starting the debugger
Closes #3554
2025-03-12 13:50:36 +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 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
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 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
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 fe9a875fab Fix documentation of ResultDetails.code 2025-02-26 16:13:24 +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 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 2bb425563b Task and mesh shaders are part of pre-rasterization library interface 2025-02-24 18:52:49 +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
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