Jake Turner
b29e2cc987
Extend test coverage in Vk_Subgroup_Zoo
...
- gl_NumSubgroups
- gl_SubgroupID
- gl_SubgroupEqMask
- gl_SubgroupGeMask
- gl_SubgroupGtMask
- gl_SubgroupLeMask
- gl_SubgroupLtMask
- subgroupBallotInclusiveBitCount
- subgroupInverseBallot
- subgroupShuffleXor
- subgroupShuffleUp
- subgroupShuffleDown
- subgroupInclusiveAdd
- subgroupInclusiveMul
- subgroupInclusiveMin
- subgroupInclusiveMax
- subgroupInclusiveAnd
- subgroupInclusiveOr
- subgroupInclusiveXor
- subgroupExclusiveAdd
- subgroupExclusiveMul
- subgroupExclusiveMin
- subgroupExclusiveMax
- subgroupExclusiveAnd
- subgroupExclusiveOr
- subgroupExclusiveXor
- subgroupClusteredAdd
- subgroupClusteredMul
- subgroupClusteredMin
- subgroupClusteredMax
- subgroupClusteredAnd
- subgroupClusteredOr
- subgroupClusteredXor
2026-09-21 16:22:24 +01:00
Jake Turner
be2676ff56
Improve VK_Subgroup_Zoo tests
...
- compute any bitmasks using subgroupBallot() outside of flow control
- add tests for subgroupBallotBitExtract, subgroupBallotFindLSB, subgroupBallotFindMSB
2026-09-18 14:02:55 +01:00
baldurk
856c838def
Update copyright years to 2026 and fix copyright ranges
...
* In a previous update in 2021 many copyright ranges were truncated
accidentally, and some files have been copy-pasted with wrong years. These
dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner
34ce4035d0
VK_Subgroup_Zoo tests for Quad Ops in Compute Shader
...
subgroupQuadBroadcast
subgroupQuadSwapDiagonal
subgroupQuadSwapHorizontal
subgroupQuadSwapVertical
subgroupQuadAny
subgroupQuadAll
2025-11-27 12:42:21 +13:00
baldurk
7c5b76dcad
Change subgroup zoo to use a triangle list instead of strip
...
* This produces more consistent subgroup thread assignments in the vertex
shader.
2025-09-11 14:09:53 +01:00
Jake Turner
08696443a0
Added workgroup performance tests and basic D3D11 Workgroup test
...
Added D3D11_Workgroup_Zoo, D3D12 Workgroup Zoo, Vk Workgroup Zoo performance tests
Performance tests primarily for performance testing workgroup debugging speed
Changed workgroup and subgroup result variable from "data" -> "testResult" to help to reduce conflicts
2025-07-21 09:16:56 +01:00
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
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
Jake Turner
13588f3962
Alter VK, D3D12 Subgroup_Zoo tests to increase convergence/merge usage
2025-04-14 08:46:12 +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
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
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
001539a3cd
Add VK_Workgroup_Zoo unit tests for subgroup Vote operations
...
subgroupAny()
subgroupAll()
subgroupBallot()
2025-04-07 11:05:07 +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
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
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
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
baldurk
2322e165de
Update copyright years to 2025
2025-03-14 18:54:37 +00:00
baldurk
cfefa5d5ef
Add a test for new group ops
2025-02-10 17:52:31 +00:00