Jake Turner
2fbf85fad1
Divide up tests between Workgroup_Zoo and Subgroup_Zoo
...
Subgroup_Zoo : unit tests, non-trivial convergence tests moved to Workgroup_Zoo
Workgroup_Zoo : convergence tests, small number of unit tests (not full coverage)
Added checks for workgroup convergence in Workgroup_Zoo tests
* Vulkan uses barrier()
* D3D12 uses AllMemoryBarrierWithGroupSync()
* dispatches workgroup of 2x1x1
* test debug results for workgroup 1,0,0
2025-05-07 11:05:55 +01:00
baldurk
395d8079e6
Don't test MSAA with A8_UNORM formats in VK_Texture_Zoo
...
* This is apparently in a format capability class to R8 it seems, and since we
don't expect anyone to be rendering to A8 let alone in MSAA, there's no point
in testing this.
2025-04-28 17:26:53 +01:00
baldurk
d239a59ff0
Fix pick component type for S8 textures
2025-04-28 17:26:06 +01:00
baldurk
361624ff84
Add slight increase to error tolerance for SNorm textures
2025-04-28 17:10:53 +01:00
baldurk
e0b0b24efd
Increase shader compiler delay in tests
2025-04-24 16:12:15 +01:00
Jake Turner
258ab5b6e3
Change test helper to just check for asserts (not errors)
...
Setting the Vulkan layer produces two errors
2025-04-22 14:31:43 +01:00
Jake Turner
a8de121cd0
Check for Asserts & Errors when running D3D12_Shader_DebugData_Zoo tests
2025-04-22 13:09:04 +01:00
Jake Turner
4ead1e4423
Handle initialising a DXIL constant struct to NULL
...
It is a nop because ShaderVariable starts initialised to 0
2025-04-22 12:37:28 +01:00
Jake Turner
eeac056816
VK and D3D12 Workgroup & Subgroup Zoo tests fail on Asserts or Errors
...
Check the renderdoc log for lines matching "Assertion" or "Error"
Using new helper function in testcase.py
def check_renderdoc_log(self, asserts: bool = True, errors: bool = True):
2025-04-22 12:33:56 +01:00
Jake Turner
1c4520534d
new helper function in testcase.py to check RD log for Asserts/Errors
...
def check_renderdoc_log(self, asserts: bool = True, errors: bool = True):
2025-04-22 12:33:50 +01:00
Jake Turner
e14bc98e18
Added VK_Workgroup_Zoo, D3D12_Workgroup_Zoo tests
...
Tests specifically aimed at workgroup debugging i.e GSM and non-aligned subgroups
Not focused on unit tests of subgroup/quad instructions that is handled by *_Subgroup_Zoo
2025-04-18 13:58:09 +01:00
baldurk
a8a0e9628d
Update VK_CBuffer_Zoo test to account for glslang regression
...
* glslang now requires and uses scalar block layout for hlsl cbuffer packing
2025-04-18 13:28:19 +01:00
baldurk
f837af3066
Make sure functional test sections always match begin/end
2025-04-18 12:54:53 +01:00
baldurk
933a91e47c
Update shaderc build script (VS2015 no longer supported)
2025-04-18 11:19:34 +01:00
Jake Turner
13588f3962
Alter VK, D3D12 Subgroup_Zoo tests to increase convergence/merge usage
2025-04-14 08:46:12 +01:00
Jake Turner
89d131ab3a
Add D3D12_Workgroup_Zoo unit tests for QuadAny, QuadAll ops
...
For SM6.0, DXC will replace with SM6.0 instructions
For SM6.7, DXC will use SM6.7 instruction QuadVote
2025-04-12 11:26:30 +01:00
Jake Turner
21c576730c
Add D3D12_Workgroup_Zoo unit tests for SM6.5 Wave ops
...
WaveMatch()
WaveMultiPrefixSum()
WaveMultiPrefixProduct()
WaveMultiPrefixCountBits()
WaveMultiPrefixBitAnd()
WaveMultiPrefixBitOr()
WaveMultiPrefixBitXor()
2025-04-10 10:48:27 +01:00
Jake Turner
cc32e24d81
Add D3D12_Workgroup_Zoo unit tests for Wave Reduction ops
...
WaveActiveMax()
WaveActiveMin()
WaveActiveProduct()
WaveActiveSum()
WaveActiveAllEqual()
WaveActiveBitAnd()
WaveActiveBitOr()
WaveActiveBitXor()
WaveActiveCountBits()
2025-04-07 17:51:29 +01:00
Jake Turner
ebd0648096
Add VK_Workgroup_Zoo unit tests for subgroup Reduction ops
...
subgroupMax()
subgroupMin()
subgroupMul()
subgroupAdd()
subgroupAllEqual()
subgroupAnd()
subgroupOr()
subgroupXor()
subgroupBallotBitCount()
2025-04-07 17:51:22 +01:00
Jake Turner
cf6e3d68fa
Add D3D12_Workgroup_Zoo unit tests for Wave Scan and Prefix ops
...
WavePrefixCountBits()
WavePrefixSum()
WavePrefixProduct()
2025-04-07 13:20:39 +01:00
Jake Turner
a4d916f033
Add VK_Workgroup_Zoo unit tests for subgroup Scan and Prefix ops
...
subgroupBallotExclusiveBitCount()
subgroupExclusiveAdd()
subgroupExclusiveMul()
2025-04-07 13:20:36 +01:00
Jake Turner
214d3f766f
Add D3D12_Workgroup_Zoo unit tests for subgroup Broadcast ops
...
WaveReadLaneFirst()
WaveReadLaneAt()
2025-04-07 11:07:03 +01:00
Jake Turner
b8f1d01b35
Add VK_Workgroup_Zoo unit tests for subgroup Broadcast/Shuffle ops
...
subgroupBroadcastFirst()
subgroupBroadcast()
subgroupShuffle()
2025-04-07 11:06:29 +01:00
Jake Turner
aefb21fa36
Add D3D12_Workgroup_Zoo unit tests for Wave Vote operations
...
WaveActiveAnyTrue()
WaveActiveAllTrue()
WaveActiveBallot()
2025-04-07 11:05:07 +01:00
Jake Turner
001539a3cd
Add VK_Workgroup_Zoo unit tests for subgroup Vote operations
...
subgroupAny()
subgroupAll()
subgroupBallot()
2025-04-07 11:05:07 +01:00
Jake Turner
038aee2459
Add D3D12_Workgroup_Zoo unit tests for Quad Shuffle operations
...
QuadReadLaneAt()
QuadReadAcrossDiagonal()
QuadReadAcrossX()
QuadReadAcrossY()
2025-04-06 14:38:13 +01:00
Jake Turner
7240cf8c57
Add VK_Workgroup_Zoo unit tests for Quad Shuffle operations
...
subgroupQuadBroadcast()
subgroupQuadSwapDiagonal()
subgroupQuadSwapHorizontal()
subgroupQuadSwapVertical()
2025-04-06 14:00:52 +01:00
Jake Turner
5e6cfd73a0
Add D3D12_Workgroup_Zoo unit tests for workgroup query functions
...
WaveGetLaneCount()
WaveGetLaneIndex()
WaveIsFirstLane()
2025-04-06 12:55:29 +01:00
Jake Turner
e0f8f29fa7
Add VK_Workgroup_Zoo unit tests for workgroup query functions
...
gl_SubgroupSize
gl_SubgroupInvocationID
subgroupElect()
2025-04-06 12:50:08 +01:00
Jake Turner
fdc2125e7b
Add D3D12_Workgroup_Zoo convergence test with dynamic for loop
...
A different number of iterations per thread
2025-04-06 12:49:34 +01:00
Jake Turner
2af9015e04
Add VK_Workgroup_Zoo convergence test with dynamic for loop
...
A different number of iterations per thread
2025-04-06 12:49:16 +01:00
Jake Turner
99260a9c9b
Add d3d12_subgroup_zoo tests for maximal reconvergence behaviour
...
Diverged threads which re-converge at expected points
The tests copied over from vk_subgroup_zoo
2025-04-04 11:42:58 +01:00
Jake Turner
f50c85173b
Unified Subgroup_Zoo VK and D3D12 python
...
Improved test failure reporting
2025-04-02 08:43:30 +01:00
Jake Turner
fa9bc127b1
Add early return test case to D3D12_Shader_DebugData
...
Change python to search backwards through the instruction info to find the value for a source variable
2025-04-02 08:39:49 +01:00
baldurk
b353bbdc66
For sparse MSAA textures ignore queried heap props. Closes #3561
2025-03-28 17:09:51 +00:00
Jake Turner
7f4098d835
Add vk_subgroup_zoo tests for maximal reconvergence behaviour
...
Diverged threads which re-converge at expected points
2025-03-23 12:00:53 +00:00
Jake Turner
e444aff7cf
Extend D3D12_Shader_Debug_Zoo tests
...
New pixel shader for testing which does not contain resource references
Added new tests for ddx, ddy and discard
2025-03-20 13:52:20 +00:00
Jake Turner
025a6bbf86
Extend D3D12_Resource_Mapping_Zoo test to SM6 & SM6.6
...
To test the DXIL debugger and added a test of dynamic SRV array index
2025-03-20 13:52:20 +00:00
Jake Turner
dae198b39e
Extend D3D12_Draw_Zoo to SM6 & SM6.6
...
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner
ac2da339ae
Extend D3D12_Bufer_Truncation test to SM6.0 & SM6.6
...
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner
9163aa76c2
Add SM6.6 tests to D3D12_CBuffer_Zoo
2025-03-20 13:52:19 +00:00
Jake Turner
2dbaf739d7
Extend D3D12_Shader_Linkage_Zoo test to SM6
...
To test the DXIL debugger
2025-03-20 13:52:19 +00:00
Jake Turner
b27f5d5872
Extend D3D12_PrimitiveID test to SM6
...
To test the DXIL debugger
2025-03-20 13:52:18 +00:00
Jake Turner
506d1a1222
Minor tidyup of D3D12_Mesh_Shader python
2025-03-20 13:52:18 +00:00
Jake Turner
7eef20b3db
Added demos test VK_Mesh_Shader
...
Similar on d3d12_mesh_shader test, move some helper code from d3d12_mesh_shader python to testcase.py to allow for sharing with vk_mesh_shader python
2025-03-20 13:52:17 +00:00
baldurk
9bdb5bc134
Add D3D12_Subgroup_Zoo test
2025-03-19 18:31:56 +00:00
Tristan Ritchie
2eade4650b
Add support for VK_KHR_maintenance5
2025-03-19 15:43:08 +00:00
baldurk
b400d4bc52
Refactor D3D ps input fetch to use quad swizzle helper
...
* Also centralises and shares more code between D3D11 and D3D12 to use the same
shader
2025-03-14 18:54:38 +00:00
baldurk
2322e165de
Update copyright years to 2025
2025-03-14 18:54:37 +00:00
Jake Turner
90827deed3
Add DebugPixel to D3D12_Mesh_Shader python tests
...
Validates can do shader debugging on pixels generated by mesh shaders
2025-03-12 13:50:36 +00:00