Function spirv_std::arch::subgroup_clustered_xor

source ·
pub unsafe fn subgroup_clustered_xor<const CLUSTER_SIZE: u32, I: VectorOrScalar<Scalar = impl Integer>>(
    value: I
) -> I
Expand description

A bitwise xor group operation of all Value operands contributed by active invocations in the group.

Result Type must be a scalar or vector of integer type.

Execution is a Scope that identifies the group of invocations affected by this command. It must be Subgroup.

The identity I for Operation is 0. If Operation is ClusteredReduce, ClusterSize must be present.

The type of Value must be the same as Result Type.

ClusterSize is the size of cluster to use. ClusterSize must be a scalar of integer type, whose Signedness operand is 0. ClusterSize must come from a constant instruction. Behavior is undefined unless ClusterSize is at least 1 and a power of 2. If ClusterSize is greater than the size of the group, executing this instruction results in undefined behavior.

Requires Capability GroupNonUniformArithmetic and GroupNonUniformClustered.