Buffer description. More...
#include <Buffer.h>
Public Member Functions | |
constexpr bool | operator== (const BufferDesc &RHS) const |
Tests if two buffer descriptions are equal. | |
Public Attributes | |
Uint64 | Size = 0 |
Size of the buffer, in bytes. For a uniform buffer, this must be a multiple of 16. | |
BIND_FLAGS | BindFlags = BIND_NONE |
Buffer bind flags, see Diligent::BIND_FLAGS for details. | |
USAGE | Usage = USAGE_DEFAULT |
Buffer usage, see Diligent::USAGE for details. | |
CPU_ACCESS_FLAGS | CPUAccessFlags = CPU_ACCESS_NONE |
CPU access flags or 0 if no CPU access is allowed, see Diligent::CPU_ACCESS_FLAGS for details. | |
BUFFER_MODE | Mode = BUFFER_MODE_UNDEFINED |
Buffer mode, see Diligent::BUFFER_MODE. | |
MISC_BUFFER_FLAGS | MiscFlags = MISC_BUFFER_FLAG_NONE |
Miscellaneous flags, see Diligent::MISC_BUFFER_FLAGS for details. | |
Uint32 | ElementByteStride = 0 |
Buffer element stride, in bytes. | |
Uint64 | ImmediateContextMask = 1 |
Defines which immediate contexts are allowed to execute commands that use this buffer. | |
![]() | |
const Char * | Name = nullptr |
Object name. | |
Buffer description.
|
inlineconstexpr |
Tests if two buffer descriptions are equal.
[in] | RHS | - reference to the structure to compare with. |
BIND_FLAGS Diligent::BufferDesc::BindFlags = BIND_NONE |
Buffer bind flags, see Diligent::BIND_FLAGS for details.
The following bind flags are allowed: Diligent::BIND_VERTEX_BUFFER, Diligent::BIND_INDEX_BUFFER, Diligent::BIND_UNIFORM_BUFFER, Diligent::BIND_SHADER_RESOURCE, Diligent::BIND_STREAM_OUTPUT, Diligent::BIND_UNORDERED_ACCESS, Diligent::BIND_INDIRECT_DRAW_ARGS, Diligent::BIND_RAY_TRACING. Use SparseResourceProperties::BufferBindFlags to get allowed bind flags for a sparse buffer.
Uint32 Diligent::BufferDesc::ElementByteStride = 0 |
Buffer element stride, in bytes.
For a structured buffer (BufferDesc::Mode equals Diligent::BUFFER_MODE_STRUCTURED) this member defines the size of each buffer element. For a formatted buffer (BufferDesc::Mode equals Diligent::BUFFER_MODE_FORMATTED) and optionally for a raw buffer (Diligent::BUFFER_MODE_RAW), this member defines the size of the format that will be used for views created for this buffer.
Uint64 Diligent::BufferDesc::ImmediateContextMask = 1 |
Defines which immediate contexts are allowed to execute commands that use this buffer.
When ImmediateContextMask contains a bit at position n, the buffer may be used in the immediate context with index n directly (see DeviceContextDesc::ContextId). It may also be used in a command list recorded by a deferred context that will be executed through that immediate context.