Commit Graph
19 Commits
Author SHA1 Message Date
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