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_ZeroStride = 0x0800,
BUF_FastVRAM = 0x1000,
BUF_Transient = 0x2000,
BUF_AccelerationStructure = 0x8000,
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 |
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_AccelerationStructure |
Buffer that should be accessed one byte at a time. |
BUF_AnyDynamic |
Helper bit-masks. |
Resource usage flags - for vertex and index buffers.