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
baldurk
4d96b492ec
Determine which events had some fragments discard in GL pixel history
2025-10-27 11:50:18 +00:00
baldurk
c17557eb5f
Always use full precision format for shader output in GL pixel history
2025-10-27 11:50:18 +00:00
baldurk
e17a10e329
Fetch clean values for per-pixel pre/post mod in GL pixel history
...
* We can't assume that premod == postmod in all cases. For colour history on a
colour target it will be, but depth values can change indepednently. Instead
we explicitly fetch pre/post mod before and after each event instead of just
postmod.
2025-10-27 11:50:18 +00:00
baldurk
dceced1496
Add a clean FBO to copy from for target image
...
* The target image won't always be bound to the (or any) current framebuffer, if
e.g. it's written via image storage. Ensuring we still have a framebuffer to
copy from keeps most code the same.
2025-10-27 11:50:18 +00:00
baldurk
15fb73a83d
Disable depth bounds test as needed when we want depth testing off
2025-10-27 11:50:18 +00:00
baldurk
802a8aa845
Note whether GL pixel history target is depth or colour
2025-10-27 11:50:17 +00:00
baldurk
0be1edd78b
Add separate pre/post mod reading in GL pixel history
...
* We will want to be able to batch these independently and this approach is
easier with fixed slots than having a slot per type in the same framebuffer.
2025-10-27 11:50:17 +00:00
baldurk
426f9724c0
Mark unbound pixel shader in GL pixel history
2025-10-27 11:50:17 +00:00