CoopVec<T, int N>.store

Description

Store all elements of this CoopVec into a buffer at a specified offset. Pointer accesses are 16-byte aligned.

Signature

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

/// Requires Capability Set 1:
void CoopVec<T, int N>.store<L>(
    RWStructuredBuffer<T, L> buffer,
    int byteOffset16ByteAligned)
    where L : IBufferDataLayout
    where T : __BuiltinArithmeticType;

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

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

Generic Parameters

L: IBufferDataLayout = DefaultDataLayout

M : int

Parameters

buffer : RWByteAddressBuffer

The destination buffer to store the values into.

byteOffset16ByteAligned : int = 0

The byte offset from the start of the buffer where the data will be stored. Must be 16-byte aligned.

buffer : RWStructuredBuffer<T, L>

The destination buffer to store the values into.

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

The destination buffer to store the values into.

data : T [ M ]

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.

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.

Capability Set 2

Defined for the following targets:

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.