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. | |
Public Attributes inherited from Diligent::DeviceObjectAttribs | |
| 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.