Commit Graph

1299 Commits

Author SHA1 Message Date
Jake Turner c864e87fbb Reorder the D3D12 DebugData Zoo shader work around bad DXC debug data
Put the early return case as the first case in the switch statement
2025-11-17 07:13:34 +13:00
Jake Turner dbbd9ba010 Added MSAA tests for SM6.0 and SM6.
Disabled in the python because the RenderDoc does not currently support DXIL debugging of MSAA instructions or SV_Barycentrics
2025-11-17 05:47:55 +13:00
Jake Turner ccbb516610 Simplify DXIL Disassembler/Debugger SSA ID name strings and aliases
Store SSA ID name strings in a container which is shared between the disassembler and the debugger.
The SSA ID name strings are guaranteed to be unique by appending the SSA ID value.

Do not use resource names for SSA ID names, only show resource names when a DXIL handle is created i.e. DXOp::CreateHandle, DXOp::CreateHandleFromBinding & DXOp::CreateHandleFromHeap

This means the debugger now has a unique name for each ShaderVariable generated.

Revert the ShaderViewer consistency changes which were only required because the DXIL debugger did not generate unique names for ShaderVariables.
2025-11-13 13:10:44 +13:00
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 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 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
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
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 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 3d23916b6a Update sign script to return failure/success properly in helper 2025-11-04 11:05:03 +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
baldurk cca9defbb5 Initialise AS variables in descriptor buffer test 2025-10-29 12:14:53 +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 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 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 1c970a7868 Add global helper for naming D3D12 objects with normal strings 2025-10-27 11:50:17 +00:00
baldurk 1521278fd5 Only avoid duplicate failures when exceptions are raised 2025-10-27 11:45:35 +00:00
baldurk 929548f478 Add dummy reads to pipes for linux for some reason 2025-10-27 11:45:35 +00:00
Jake Turner a4d407ec3a Enable D3D11, D3D12 groupshared, subgroup, workgroup tests
D3D11_Groupshared, D3D12_Groupshared
D3D12_Subgroup_Zoo
D3D11_Workgroup_Zoo D3D12_Workgroup_Zoo
2025-10-25 11:01:13 +01:00
Jake Turner 58ec8fd9d3 Simple test cases of arrays of Samplers for the DXIL debugger 2025-10-24 07:49:44 +01:00
Jake Turner 9c31e0131e Fix validate_trace() being called from generate_full_trace() 2025-10-23 09:15:42 +01:00
baldurk 12bb4eaf23 Add support for signing using google cloud KMS
* This is basically required for the stupid, expensive, and insecure new code
  signing key requirements
2025-10-21 23:31:22 +01:00
baldurk cb053efe77 Fix duplicate failure reporting in auto sections 2025-10-21 16:46:47 +01:00
baldurk 81a367be66 Add naming helper for image views 2025-10-15 12:32:44 +01:00
baldurk 48b19e8ba4 Add an immediate error check if SPIR-V compiler fails in tests 2025-10-15 12:32:44 +01:00
Jake Turner 196ca9bae2 Run validate_trace() as part of generate_full_trace()
Ensure the trace is valid before running comparisons on it
2025-10-10 12:58:32 +01:00
Jake Turner 2fda1f79eb Extend VK Groupshared GSM atomic tests to match D3D12 Groupshared 2025-10-10 12:40:44 +01:00
Jake Turner 4f8954ca1a Extend D3D12 Groupshared GSM atomic tests of groupshared int 2025-10-10 12:40:40 +01:00
Jake Turner c69d482f66 Remove race from D3D12 Shader Debug Zoo Interlocked tests 2025-10-08 16:08:43 +01:00
baldurk a2ce9b46db Add some array-based tests to shader linkage zoo demos 2025-10-08 14:22:45 +01:00
Jake Turner 49e764e2c1 D3D12_Shader_Debug_Zoo test overlapped GPU math and sampling operations
Also unified the indentation to spaces in the shader source
2025-10-08 09:48:14 +01:00
Jake Turner 0e6fc382d7 Add Interlocked* tests to D3D12_Groupshared 2025-10-05 07:50:05 +01:00
Jake Turner 3e38a63ebb D3D12_Shader_Debug_Zoo test for helper lane UAV writes are ignored 2025-10-04 07:16:49 +01:00
baldurk a92e0d2669 Ensure capabilities are properly cached when only prepared once 2025-09-30 11:26:01 +01:00
baldurk 8864a1d81e Improve time listing available demos
* Remove redundant repeated calls when preparing multiple tests
2025-09-29 16:40:15 +01:00
baldurk 41e9f3c426 Add a demo project with extremely high overlap/sparseness buffers
* For stressing memory overhead in buffer initial states
2025-09-29 16:37:45 +01:00
Jake Turner 9952483f2b Make D3D12_Groupshared test deterministic 2025-09-28 07:26:30 +01:00
Jake Turner 357102fd3f Make VK_Groupshared test deterministic 2025-09-28 07:26:30 +01:00
Jake Turner d6a49c4c18 Make D3D12_Workgroup_Zoo test determistic 2025-09-28 07:26:30 +01:00
Jake Turner 9e63b3fb8c Enable VK_Groupshared test 2025-09-28 07:26:30 +01:00
Jake Turner 61cc31062e Change D3D12_Shader_Debug_Zoo test to exercise thread local global mem 2025-09-28 07:26:15 +01:00