Module |
|
Header |
/Engine/Source/Runtime/RHI/Public/RHIDefinitions.h |
Include |
#include "RHIDefinitions.h" |
enum EBufferUsageFlags
{
BUF_None = 0x0000,
BUF_Static = 0x0001,
BUF_Dynamic = 0x0002,
BUF_Volatile = 0x0004,
BUF_UnorderedAccess = 0x0008,
BUF_ByteAddressBuffer = 0x0020,
BUF_SourceCopy = 0x0040,
BUF_StreamOutput = 0x0080,
BUF_DrawIndirect = 0x0100,
BUF_ShaderResource = 0x0200,
BUF_KeepCPUAccessible = 0x0400,
BUF_FastVRAM = 0x1000,
BUF_Transient = 0x2000,
BUF_Shared = 0x4000,
BUF_AccelerationStructure = 0x8000,
BUF_VertexBuffer = 0x10000,
BUF_IndexBuffer = 0x20000,
BUF_StructuredBuffer = 0x40000,
BUF_AnyDynamic = (BUF_Dynamic | BUF_Volatile),
}
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_SourceCopy |
Buffer that the GPU will use as a source for a copy. |
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_FastVRAM |
Unused BUF_ZeroStride = 0x0800, Buffer should go in fast vram (hint only). Requires BUF_Transient |
BUF_Transient |
Buffer should be allocated from transient memory. |
BUF_Shared |
Create a buffer that can be shared with an external RHI or process. |
BUF_AccelerationStructure |
Buffer contains opaque ray tracing acceleration structure data. |
BUF_VertexBuffer |
|
BUF_IndexBuffer |
|
BUF_StructuredBuffer |
|
BUF_AnyDynamic |
Helper bit-masks. |
Resource usage flags - for vertex and index buffers.