Commit Graph
16476 Commits
Author SHA1 Message Date
Jake Turner f858b2320f Extend D3D12_Shader_DebugData_Zoo tests to include matrix
Check matrix in the outputs from Vertex Shader
Check matrix in the inputs to Pixel Shader
Check matrix debug data source values from debugger trace
2025-11-12 11:10:32 +13:00
Jake Turner 9598abb266 D3D12 Shader Debug Zoo simple test for matrix output/input 2025-11-12 10:57:13 +13:00
Jake Turner 4d180eecfa Tweak D3D12_Resource_Mapping_Zoo test to mark as failed in all cases 2025-11-12 10:57:13 +13:00
baldurk 4e215518df Force evaluation of any lazy structured data on fatal error 2025-11-11 16:59:42 +00:00
baldurk 8128ea0e0f Fix vulkan descriptor lazy serialising 2025-11-11 16:52:33 +00:00
baldurk ff00b85ae0 Update SPIR-V headers and grammar
* Add an extension tracker to list which extensions/capabilities are supported
  by the debugger.
2025-11-11 15:48:38 +00:00
baldurk 039ae9fa35 Avoid crash if invalid internal image copy happens in pixel history 2025-11-11 13:43:24 +00:00
baldurk 9e6ca9f649 Disable logic ops for shader out and primitive ID PSOs 2025-11-11 13:29:16 +00:00
baldurk 75175ce8d9 Ensure only one thread at a time uses GPU readbacks during capture
* This was already done on D3D12 but Vulkan was missing the appropriate locks
2025-11-11 12:25:36 +00:00
baldurk 4a3447af78 Fix vkCmdDrawIndexedIndirectCount not properly using patched arguments 2025-11-11 12:25:36 +00:00
baldurk 9521122e18 Don't crash on binding a NULL index buffer 2025-11-11 12:25:35 +00:00
baldurk 75acc706f7 Try to create descriptor buffer buffer if failing to create wholeMemBuf
* On some drivers such as radv there are memory types only accessible via
  descriptor buffer usage flags, and it's important to have a wholeMemBuf to
  readback both for maps (quite possible/likely) as well as initial contents.
2025-11-11 12:25:35 +00:00
baldurk 7cd77b5812 Reset descriptor access when moving to dummy driver after fatal error 2025-11-11 12:25:35 +00:00
Jake Turner c534b41eb6 Tune the ShaderVariable consistency checks for resources
Do not check before/after equals existing value for ReadOnlyResource and ReadWriteResource
In the DXIL debugger for resources the same SSA ID might have different names
2025-11-11 10:53:15 +13:00
Jake Turner e2449b9eaf Comment the unsupported DXIL DXOp instructions 2025-11-11 09:54:59 +13:00
baldurk d00c563e89 Fix initial state creation for CPU upload heaps on D3D12 2025-11-10 17:03:52 +00:00
baldurk eee1268a9f Fix handling of test failure cases in test results page 2025-11-10 16:43:05 +00:00
baldurk 23748c0089 Fix validation issues with D3D12 test 2025-11-10 16:43:05 +00:00
baldurk ea368a631e Allow GPU upload heaps to be enabled in D3D12. Closes #3724
* We attempt to enable the experimental feature since this allows the use of the
  feature on a much wider set of OS versions, at the time of this commit support
  seems quite rare/narrow.
2025-11-10 16:43:05 +00:00
baldurk a533832c2c Fix query for supported root signature version 2025-11-10 16:43:05 +00:00
baldurk d20295cf41 Don't wrap queue readback buffer
* This can fix a potential race condition during capture if capture ends while
  the readback buffer is being resized/created.
2025-11-10 16:43:05 +00:00
baldurk 7cf68de074 Update D3D12 headers to 1.618.2
* This includes some support for the new serialised-root signature
  representation for precompilation which also affects runtime.
  GetRootSignature*() functions in pipeline state and state object are not
  implemented as it's unclear if they are supported.
* The interfaces for the precompilation are *not* supported as there is no need.
2025-11-10 16:43:05 +00:00
baldurk cf746cf0be Work around poor D3D12 behaviour to return unusable Desc. Closes #3728
* For some cases D3D12's GetDesc() returns a desc that is not usable for
  resource creation, and must instead be modified to work.
2025-11-10 11:10:57 +00:00
Jake Turner 0cf06344de Initialise ResourceReferenceInfo members for DXIL debugger
varType is copied to the ShaderVariable result varType
2025-11-06 12:10:42 +00:00
Jake Turner 1d56f5d871 Quick change to remove duplicate SSA ID on DXIL Alloca result name 2025-11-06 12:10:41 +00:00
baldurk fcf1889839 Bump version to v1.42 2025-11-05 17:11:32 +00:00
baldurk c9e72e3d70 Don't skip depth-only pass events due to invalid RT index v1.41 2025-11-04 14:39:46 +00:00
baldurk 3d23916b6a Update sign script to return failure/success properly in helper 2025-11-04 11:05:03 +00:00
baldurk fef3f27250 Fix D3D12 pixel history error if bound target is not declared in PSO 2025-11-03 11:34:07 +00:00
baldurk dec378eb9b Remove documentation note about outdated compute shader debug limitation 2025-10-31 15:43:37 +00:00
baldurk b3264d4a4e Add a summary table showing the durations of tests (slowest first) 2025-10-31 11:29:26 +00:00
baldurk 3a623d015d Sort failed tests to the end of the test result list 2025-10-31 11:29:26 +00:00
Jake Turner afb82cd6d5 Fix incorrect scope end instruction value when extending SSA ID lifetime 2025-10-29 17:12:26 +00:00
Jake Turner 76ca83b27a Don`t count finished threads as active for SPIRV control flow state 2025-10-29 12:35:23 +00:00
Jake Turner e528d796e4 Don`t count finished threads as active for DXIL control flow state 2025-10-29 12:35:23 +00:00
baldurk 9fe8cb8dcd Fix invalid query used if primitive indices are duplicated 2025-10-29 12:14:57 +00:00
baldurk cca9defbb5 Initialise AS variables in descriptor buffer test 2025-10-29 12:14:53 +00:00
baldurk 346d437c50 Make debug sampler heap large enough and assert on sizes 2025-10-29 12:14:52 +00:00
baldurk 55d886a1d5 Fetch extension strings after any potential modification 2025-10-29 12:14:52 +00:00
Jake Turner 14a4b283b3 Quick double/float/half mad intrinsic tests for D3D12
half will only be 16-bit for the SM6.6 tests
2025-10-28 17:03:26 +00:00
Jake Turner 7e476311d8 DXIL debugger handle all float types for DXOp::Fma, FMad 2025-10-28 15:26:36 +00:00
Jake Turner d6fcc5b8b5 DXIL Debugger fix incorrect assert for derivatives
A pixel shader might be simulating a complete subgroup not just a quad
2025-10-28 15:25:07 +00:00
Jake Turner a8e92eeb6a DXIL DXOp::UMin/UMax fix incorrect assert 2025-10-28 15:24:05 +00:00
Jake Turner 2fc51708c9 Fix use of out of scope rdcstr memory for D3D12 shader debugging
Found by ASAN
2025-10-27 16:41:21 +00:00
Jake Turner 6c7126eca1 Fix potentially incorrect indexing in DXIL debugger resource parsing
Found by ASAN build
2025-10-27 16:41:17 +00:00
Jake Turner 8d57a00a64 Fixup D3D12_Resource_Mapping_Zoo Sampler array tests
Add valid samplers instead of sampling using a NULL sampler
2025-10-27 13:57:23 +00:00
baldurk 6425d71fae Replay external memory declarations on images for compatibility
* Descriptors in descriptor buffer may be affected by this, so we need to replay
  it. We add checks that the handle types are still OK to use on replay.
2025-10-27 11:50:36 +00:00
baldurk c983b96e3d Ensure dead resource lifetimes are extended until capture is fully done 2025-10-27 11:50:36 +00:00
baldurk 2ea010f3e2 Don't version descriptor buffers inside a render pass
* Defer it until after like we do with indirect draw readbacks
2025-10-27 11:50:36 +00:00
baldurk c756088d11 Don't version descriptor buffers if there are none bound 2025-10-27 11:50:36 +00:00