![]() |
LLGL 0.05 Beta
|
Hardware buffer descriptor structure. More...
#include <BufferFlags.h>
Public Member Functions | |
| BufferDescriptor ()=default | |
| BufferDescriptor (const BufferDescriptor &)=default | |
| BufferDescriptor (BufferDescriptor &&)=default | |
| BufferDescriptor & | operator= (const BufferDescriptor &)=default |
| BufferDescriptor & | operator= (BufferDescriptor &&)=default |
| ~BufferDescriptor ()=default | |
Public Attributes | |
| const char * | debugName = nullptr |
| Optional name for debugging purposes. By default null. | |
| std::uint64_t | size = 0 |
| Buffer size (in bytes). This must not be larger than RenderingLimits::maxBufferSize. By default 0. | |
| std::uint32_t | stride = 0 |
| Optional stride for vertex and structured buffers. By default 0. | |
| Format | format = Format::Undefined |
| Optional hardware buffer format. By default Format::Undefined. | |
| long | bindFlags = 0 |
| These flags describe to which resource slots the buffer can be bound. By default 0. | |
| long | cpuAccessFlags = 0 |
| CPU read/write access flags. By default 0. | |
| long | miscFlags = 0 |
| Miscellaneous buffer flags. By default 0. | |
| ArrayView< VertexAttribute > | vertexAttribs |
Hardware buffer descriptor structure.
|
default |
|
default |
|
default |
|
default |
|
default |
|
default |
| long LLGL::BufferDescriptor::bindFlags = 0 |
These flags describe to which resource slots the buffer can be bound. By default 0.
| long LLGL::BufferDescriptor::cpuAccessFlags = 0 |
CPU read/write access flags. By default 0.
| const char* LLGL::BufferDescriptor::debugName = nullptr |
Optional name for debugging purposes. By default null.
| Format LLGL::BufferDescriptor::format = Format::Undefined |
Optional hardware buffer format. By default Format::Undefined.
Buffer<uint4> and RWBuffer<float4> in HLSL), and byte address buffers (i.e. ByteAddressBuffer and RWByteAddressBuffer in HLSL). SetIndexBuffer function can be used in the CommandBuffer interface. stride is zero, sampled and storage buffers (i.e. buffer views with BindFlags::Sampled and BindFlags::Storage respectively) will be interpreted as byte address buffers. | long LLGL::BufferDescriptor::miscFlags = 0 |
Miscellaneous buffer flags. By default 0.
| std::uint64_t LLGL::BufferDescriptor::size = 0 |
Buffer size (in bytes). This must not be larger than RenderingLimits::maxBufferSize. By default 0.
stride is greater than zero, then size must be a multiple of stride. | std::uint32_t LLGL::BufferDescriptor::stride = 0 |
Optional stride for vertex and structured buffers. By default 0.
SetVertexBuffer function. StructuredBuffer, RWStructuredBuffer, AppendStructuredBuffer, and ConsumeStructuredBuffer in HLSL. format attribute is ignored for sampled and storage buffers, i.e. buffers with the binding flags BindFlags::Sampled or BindFlags::Storage. bindFlags also contains BindFlags::VertexBuffer since vertex buffers and structured buffers are mutually exclusive in D3D. | ArrayView<VertexAttribute> LLGL::BufferDescriptor::vertexAttribs |