CoopVec<T, int N>.loadAny

Description

Load values from a groupshared array into a CoopVec, allowing type conversion between source and destination elements. This operation is only available when targeting SPIR-V.

Signature

static CoopVec<T, N> CoopVec<T, int N>.loadAny<U, int M>(
    const U[M] data,
    int byteOffset16ByteAligned)
    where U : __BuiltinArithmeticType
    where T : __BuiltinArithmeticType;

static CoopVec<T, N> CoopVec<T, int N>.loadAny<U, int M, int L>(
    const vector<U, L>[M] data,
    int byteOffset16ByteAligned)
    where U : __BuiltinArithmeticType
    where T : __BuiltinArithmeticType;

Generic Parameters

U: __BuiltinArithmeticType

M : int

L : int

Parameters

data : U [ M ]

The source groupshared array to load from. The element type U can be different from the CoopVec element type T.

byteOffset16ByteAligned : int = 0

The byte offset from the start of the array. Must be 16-byte aligned.

data : vector<U, L> [ M ]

The source groupshared array to load from. The element type U can be different from the CoopVec element type T.

Return value

A new CoopVec containing the loaded and type-converted values.

Availability and Requirements

Defined for the following targets:

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.