Jake Turner
0194951bca
Fix D3D12_Resource_Mapping_Zoo false failure if no SM6.6 action to test
...
Apply the same fix for no SM6.0 action to test
2025-11-12 17:42:03 +13:00
Jake Turner
8a2ca8e14d
Convert GetNextUniformBlock() to use graph instead of path
...
Added:
int32_t BlockInAnyPath(uint32_t from, uint32_t to) const;
which replaces path API BlockInAnyPathSlow()
Removed:
All path related data and functions
Added unit tests for GetNextUniformBlock()
2025-11-12 17:24:20 +13:00
Jake Turner
61262d26f1
Treat vectors of size one as scalars for DXIL debug mapping
2025-11-12 11:42:19 +13:00
Jake Turner
637626638c
Fix D3D Shader Debugger source variable mapping for matrix
...
If the matrix was mapped to a single register (i.e. special SSA ID -1) then it was expanded because a single element was mapped to different register the expansion was not happening because the matrix row was being set to be emitted in the code which tries to recombine rows
Apply similar fix for vector recombining code, do not emit the whole vector by default when assigning a single element and let the recombining code mark if the whole vector should be emitted
2025-11-12 11:42:19 +13:00
Jake Turner
0e84176738
Handle float3 packing and arrays in D3D11/12 shader debug input fetcher
...
Packing float with a float3
float TEXCOORD0
int TEXCOORD1
float3 COLOR
Packing float with a float3[1]
float TEXCOORD0
int TEXCOORD1
float3[1] COLOR
Not packing float with a float3[2]
float TEXCOORD0
int TEXCOORD1
float3[2] COLOR
2025-11-12 11:42:19 +13:00
Jake Turner
a9edce59ea
New D3D11/D3D12 shader linkage tests for float3 packing/not packing
...
Packing float with a float3
float TEXCOORD0
int TEXCOORD1
float3 COLOR
Packing float with a float3[1]
float TEXCOORD0
int TEXCOORD1
float3[1] COLOR
Not packing float with a float3[2]
float TEXCOORD0
int TEXCOORD1
float3[2] COLOR
2025-11-12 11:42:19 +13:00
Jake Turner
95a6f13730
Fix DXIL Debugger support for structs in the input structure
...
i.e. matrices
Fixed incorrect asserts in LoadInput
Fixed source variable mapping
Fixed input data copying from fetcher results
2025-11-12 11:42:19 +13:00
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