EBufferUsageFlags

Syntax

enum EBufferUsageFlags
{
    BUF_None                     = 0x0000,
    BUF_Static                   = 0x0001,
    BUF_Dynamic                  = 0x0002,
    BUF_Volatile                 = 0x0004,
    BUF_UnorderedAccess          = 0x0008,
    BUF_ByteAddressBuffer        = 0x0020,
    BUF_UAVCounter               = 0x0040,
    BUF_StreamOutput             = 0x0080,
    BUF_DrawIndirect             = 0x0100,
    BUF_ShaderResource           = 0x0200,
    BUF_KeepCPUAccessible        = 0x0400,
    BUF_ZeroStride               = 0x0800,
    BUF_FastVRAM                 = 0x1000,
    BUF_Transient                = 0x2000,
    BUF_UINT8                    = 0x4000,
    BUF_AccelerationStructure    = 0x8000,
    BUF_AnyDynamic               = (BUF_Dynamic | BUF_Volatile),
}

Values

Name

Description

BUF_None

BUF_Static

The buffer will be written to once.

BUF_Dynamic

The buffer will be written to occasionally, GPU read only, CPU write only.

BUF_Volatile

The buffer's data will have a lifetime of one frame.

BUF_UnorderedAccess

Mutually exclusive bind flags.

BUF_ByteAddressBuffer

Create a byte address buffer, which is basically a structured buffer with a uint32 type.

BUF_UAVCounter

Create a structured buffer with an atomic UAV counter.

BUF_StreamOutput

Create a buffer that can be bound as a stream output target.

BUF_DrawIndirect

Create a buffer which contains the arguments used by DispatchIndirect or DrawIndirect.

BUF_ShaderResource

Create a buffer that can be bound as a shader resource.

BUF_KeepCPUAccessible

Request that this buffer is directly CPU accessible (

BUF_ZeroStride

Provide information that this buffer will contain only one vertex, which should be delivered to every primitive drawn.

BUF_FastVRAM

Buffer should go in fast vram (hint only). Requires BUF_Transient

BUF_Transient

Buffer should be allocated from transient memory.

BUF_UINT8

Buffer that should be accessed one byte at a time.

BUF_AccelerationStructure

Buffer contains opaque ray tracing acceleration structure data.

BUF_AnyDynamic

Helper bit-masks.

Remarks

Resource usage flags - for vertex and index buffers.

References

Module

RHI

Header

Runtime/RHI/Public/RHIDefinitions.h