spirv_std::arch

Function subgroup_clustered_logical_or

Source
pub unsafe fn subgroup_clustered_logical_or<const CLUSTER_SIZE: u32, I: VectorOrScalar<Scalar = bool>>(
    value: I,
) -> I
Expand description

A logical or group operation of all Value operands contributed by active invocations in the group.

Result Type must be a scalar or vector of Boolean 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.