Templates
template subgroupAdd[T](value: T): T
- Returns sum of value across all threads in subgroup Source Edit
template subgroupAll(condition: bool): bool
- Returns true if condition is true for all active threads Source Edit
template subgroupAny(condition: bool): bool
- Returns true if condition is true for any active thread Source Edit
template subgroupBallot(condition: bool): UVec4
- Returns bitmap of which threads have condition true Source Edit
template subgroupBarrier()
- Synchronizes all threads within the current subgroup Source Edit
template subgroupBroadcast[T](value: T; id: uint32): T
- Broadcasts value from thread with specified id to all threads in subgroup Source Edit
template subgroupBroadcastFirst[T](value: T): T
- Broadcasts value from first active thread to all threads in subgroup Source Edit
template subgroupElect(): bool
- Returns true for exactly one active thread in subgroup Source Edit
template subgroupExclusiveAdd[T](value: T): T
- Returns exclusive prefix sum of value for current thread Source Edit
template subgroupInclusiveAdd[T](value: T): T
- Returns inclusive prefix sum of value for current thread Source Edit
template subgroupMax[T](value: T): T
- Returns maximum of value across all threads in subgroup Source Edit
template subgroupMin[T](value: T): T
- Returns minimum of value across all threads in subgroup Source Edit
template subgroupShuffle[T](value: T; id: uint32): T
- Returns value from thread with specified id Source Edit
template subgroupShuffleXor[T](value: T; mask: uint32): T
- Returns value from thread with id equal to current_id XOR mask Source Edit