CoopVec<T, int N>.load

Description

Load values from a byte-addressable buffer into a cooperative vector. Pointer accesses are 16-byte aligned.

Signature

/// Requires Capability Set 1:
static CoopVec<T, N> CoopVec<T, int N>.load(
    ByteAddressBuffer buffer,
    int byteOffset16ByteAligned)
    where T : __BuiltinArithmeticType;

/// Requires Capability Set 1:
static CoopVec<T, N> CoopVec<T, int N>.load(
    RWByteAddressBuffer buffer,
    int byteOffset16ByteAligned)
    where T : __BuiltinArithmeticType;

/// Requires Capability Set 2:
static CoopVec<T, N> CoopVec<T, int N>.load<L>(
    StructuredBuffer<T, L> buffer,
    int byteOffset16ByteAligned)
    where L : IBufferDataLayout
    where T : __BuiltinArithmeticType;

/// Requires Capability Set 2:
static CoopVec<T, N> CoopVec<T, int N>.load<L>(
    RWStructuredBuffer<T, L> buffer,
    int byteOffset16ByteAligned)
    where L : IBufferDataLayout
    where T : __BuiltinArithmeticType;

/// Requires Capability Set 3:
static CoopVec<T, N> CoopVec<T, int N>.load(
    Ptr<T, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> buffer,
    int byteOffset16ByteAligned)
    where T : __BuiltinArithmeticType;

/// Requires Capability Set 1:
static CoopVec<T, N> CoopVec<T, int N>.load<int M>(
    const T[M] data,
    int byteOffset16ByteAligned)
    where T : __BuiltinArithmeticType;

Generic Parameters

L: IBufferDataLayout = DefaultDataLayout

M : int

Parameters

buffer : ByteAddressBuffer

The source buffer to load data from.

byteOffset16ByteAligned : int = 0

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

buffer : RWByteAddressBuffer

The source buffer to load data from.

buffer : StructuredBuffer<T, L>

The source buffer to load data from.

buffer : RWStructuredBuffer<T, L>

The source buffer to load data from.

buffer : Ptr<T, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>

The source buffer to load data from.

data : T [ M ]

Return value

A new cooperative vector containing the loaded values.

Availability and Requirements

Capability Set 1

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

cuda

Available in all stages.

Requires capability: optix_coopvec.

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.

Capability Set 2

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

cuda

Available in all stages.

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.

Capability Set 3

Defined for the following targets:

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.