spirv_std::arch

Function subgroup_clustered_s_min

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

A signed integer minimum 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 INT_MAX. 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.