• Slang Standard Library Reference
    • Interfaces
    • Types
      • Buffer types
        • AppendStructuredBuffer
        • ByteAddressBuffer
        • ConsumeStructuredBuffer
        • RWByteAddressBuffer
          • GetDimensions
          • InterlockedAdd
          • InterlockedAdd64
          • InterlockedAddF16
          • InterlockedAddF16Emulated
          • InterlockedAddF32
          • InterlockedAddI64
          • InterlockedAddU64
          • InterlockedAnd
          • InterlockedAnd64
          • InterlockedAndU64
          • InterlockedCompareExchange
          • InterlockedCompareExchange64
          • InterlockedCompareExchangeFloatBitwise
          • InterlockedCompareExchangeU64
          • InterlockedCompareStore
          • InterlockedCompareStore64
          • InterlockedCompareStoreFloatBitwise
          • InterlockedExchange
          • InterlockedExchange64
          • InterlockedExchangeFloat
          • InterlockedExchangeU64
          • InterlockedMax
          • InterlockedMax64
          • InterlockedMaxU64
          • InterlockedMin
          • InterlockedMin64
          • InterlockedMinU64
          • InterlockedOr
          • InterlockedOr64
          • InterlockedOrU64
          • InterlockedXor
          • InterlockedXor64
          • InterlockedXorU64
          • Load
          • Load2
          • Load2Aligned
          • Load3
          • Load3Aligned
          • Load4
          • Load4Aligned
          • LoadAligned
          • Store
          • Store2
          • Store2Aligned
          • Store3
          • Store3Aligned
          • Store4
          • Store4Aligned
          • StoreAligned
          • _NvInterlockedAddFp16x2
        • RWStructuredBuffer
        • RasterizerOrderedByteAddressBuffer
        • RasterizerOrderedStructuredBuffer
        • StructuredBuffer
      • Math types
      • Miscelaneous types
      • Ray-tracing
      • Sampler types
      • Scalar types
      • Stage IO types
      • Texture types
      • Array
      • Atomic
      • ConstantBuffer
      • DifferentialPair
      • DifferentialPtrPair
      • Optional
      • ParameterBlock
      • Ptr
      • String
      • Tuple
      • _AttributeTargets
    • Attributes
    • Global Declarations

RWByteAddressBuffer.Load

Description

Load a 32-bit unsigned integer or value with type of T from the buffer at the specified location.

Signature

/// Requires Capability Set 1:
uint RWByteAddressBuffer.Load(int location);

/// Requires Capability Set 2:
uint RWByteAddressBuffer.Load(
    int location,
    out uint status);

/// Requires Capability Set 2:
T RWByteAddressBuffer.Load<T>(int location);

/// Requires Capability Set 2:
T RWByteAddressBuffer.Load<T>(
    int location,
    int alignment);

Generic Parameters

T

The type of the value to load from the buffer.

Parameters

location : int

The input address in bytes, which must be a multiple of 4.

status : uint

[out] The status of the operation.

alignment : int

Specifies the alignment of the location, which must be a multiple of 4.

Return value

The value loaded from the buffer.

Remarks

You can’t access the output parameter status directly; instead, pass the status to the CheckAccessFullyMapped intrinsic function. CheckAccessFullyMapped returns TRUE if all values from the corresponding Sample, Gather, or Load operation accessed mapped tiles in a tiled resource. If any values were taken from an unmapped tile, CheckAccessFullyMapped returns FALSE. When targeting non-HLSL, the status is always 0.

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.

metal

Available in all stages.

wgsl

Available in all stages.

spirv

Available in all stages.

Capability Set 2

Defined for the following targets:

hlsl

Available in all stages.