Commit Graph

16463 Commits

Author SHA1 Message Date
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
baldurk 48088ac07e Add handling of D3D shaders which declare no output value 2025-10-27 11:50:36 +00:00
baldurk 1a5177453c Move GL test to use common pixel history test framework 2025-10-27 11:50:36 +00:00
baldurk fbab189b06 Move D3D11 test to use common pixel history test framework 2025-10-27 11:50:35 +00:00
baldurk a6ad1313fd Move D3D12 test to use common pixel history test framework 2025-10-27 11:50:35 +00:00
baldurk d8fa6a1747 Revamp vulkan pixel history test to cover more cases
* The test is also written generically to be applied to other APIs uniformly
2025-10-27 11:50:35 +00:00
baldurk 2bdcc3dd2f Ensure pixel history is consistent about unknown depth or colour data 2025-10-27 11:50:35 +00:00
baldurk 9c001c3f59 Fix D3D12 pixel history not properly picking up discarded fragments 2025-10-27 11:50:35 +00:00
baldurk f459440d03 Fix issues with mismatching float/uint bindings in D3D11 pixel history 2025-10-27 11:50:35 +00:00
baldurk eb3136808d Fix handling of 3D attachments in pixel history 2025-10-27 11:50:35 +00:00
baldurk f12b2573ad Fix calculation of subresource for mip/slice D3D11 pixel history 2025-10-27 11:50:18 +00:00
baldurk bc1caaffee Ensure all UAVs are unbound for D3D11 pixel history pixel copy
* This is necessary so the source texture can be bound as an SRV - we already
  unbind all RTVs.
2025-10-27 11:50:18 +00:00
baldurk 30a2b704e2 Correctly handle some fragments discarding when doing stencil counting
* If some fragments discard then our stencil counting goes off-by-one. Use
  primitive IDs to render primitives in isolation and determine which ones
  discarded so we can adjust stencil counting as needed.
2025-10-27 11:50:18 +00:00
baldurk 74ecbd235a Explicitly fetch pre/postmod values per-fragment with stencil counting
* This is more precise than propagating pre/post mod
2025-10-27 11:50:18 +00:00