D3D11 buffer wrapper covering vertex/index/constant usages and custom configurations.
More...
#include <DirectX11Buffer.hpp>
|
| | DirectX11Buffer (const DirectX11Buffer &)=delete |
| | DirectX11Buffer (DirectX11Buffer &&) noexcept |
| | DirectX11Buffer (ID3D11Device *device, size_t size, BufferType type) |
| | Derives usage/bind/CPU-access flags from the buffer type via ConfigureFromBufferType.
|
| | DirectX11Buffer (ID3D11Device *device, size_t size, D3D11_USAGE usage, UINT bindFlags, UINT cpuAccessFlags) |
| | ~DirectX11Buffer () override |
| void | Cleanup () override |
| UINT | GetBindFlags () const |
| UINT | GetCPUAccessFlags () const |
| ID3D11Buffer * | GetD3DBuffer () const |
| void * | GetData () override |
| | Returns CPU-visible data directly for readable buffers, or round-trips GPU-only buffers through a staging copy.
|
| D3D11_USAGE | GetUsage () const |
| bool | Initialize (const void *data, uint16_t size) |
| | Creates the buffer sized and pre-populated from a raw payload.
|
| bool | Initialize (void *Data) override |
| | Creates the D3D11 buffer resource and uploads initial data, if any.
|
| bool | IsValid () const |
| bool | Map () override |
| | Maps the buffer for CPU writes (dynamic usage only).
|
| DirectX11Buffer & | operator= (const DirectX11Buffer &)=delete |
| DirectX11Buffer & | operator= (DirectX11Buffer &&) noexcept |
| void | Unmap () override |
| void | Update () override |
| void | Update (void *data, size_t size) override |
| | Overwrites buffer contents via UpdateSubresource/Map depending on usage.
|
| const void * | GetCPUShadowCopy () const |
| size_t | GetCPUShadowCopySize () const |
| size_t | GetSize () |
| int | GetSlot () const |
| BufferType | GetType () |
| uint32_t | GetVertexFormat () const |
| | Registered custom vertex layout of this buffer; 0 means the engine default Vertex.
|
| void | SetSlot (int slot) |
| void | SetVertexFormat (uint32_t handle) |
| | Tags the buffer with a VertexFormatRegistry handle so backends pick the matching pipeline.
|
| void | StoreCPUShadowCopy (const void *data, size_t size) |
| | Copies up to 128 bytes into the inline shadow-copy storage, clamping oversized input.
|
| virtual | ~ResourceBase ()=default |
D3D11 buffer wrapper covering vertex/index/constant usages and custom configurations.
Definition at line 14 of file DirectX11Buffer.hpp.
◆ DirectX11Buffer() [1/4]
| Sleak::RenderEngine::DirectX11Buffer::DirectX11Buffer |
( |
ID3D11Device * | device, |
|
|
size_t | size, |
|
|
BufferType | type ) |
Derives usage/bind/CPU-access flags from the buffer type via ConfigureFromBufferType.
Definition at line 11 of file DirectX11Buffer.cpp.
◆ DirectX11Buffer() [2/4]
| Sleak::RenderEngine::DirectX11Buffer::DirectX11Buffer |
( |
ID3D11Device * | device, |
|
|
size_t | size, |
|
|
D3D11_USAGE | usage, |
|
|
UINT | bindFlags, |
|
|
UINT | cpuAccessFlags ) |
◆ DirectX11Buffer() [3/4]
| Sleak::RenderEngine::DirectX11Buffer::DirectX11Buffer |
( |
const DirectX11Buffer & | | ) |
|
|
delete |
◆ DirectX11Buffer() [4/4]
| Sleak::RenderEngine::DirectX11Buffer::DirectX11Buffer |
( |
DirectX11Buffer && | other | ) |
|
|
noexcept |
◆ ~DirectX11Buffer()
| Sleak::RenderEngine::DirectX11Buffer::~DirectX11Buffer |
( |
| ) |
|
|
override |
◆ Cleanup()
| void Sleak::RenderEngine::DirectX11Buffer::Cleanup |
( |
| ) |
|
|
overridevirtual |
◆ GetBindFlags()
| UINT Sleak::RenderEngine::DirectX11Buffer::GetBindFlags |
( |
| ) |
const |
|
inline |
◆ GetCPUAccessFlags()
| UINT Sleak::RenderEngine::DirectX11Buffer::GetCPUAccessFlags |
( |
| ) |
const |
|
inline |
◆ GetD3DBuffer()
| ID3D11Buffer * Sleak::RenderEngine::DirectX11Buffer::GetD3DBuffer |
( |
| ) |
const |
|
inline |
◆ GetData()
| void * Sleak::RenderEngine::DirectX11Buffer::GetData |
( |
| ) |
|
|
overridevirtual |
◆ GetUsage()
| D3D11_USAGE Sleak::RenderEngine::DirectX11Buffer::GetUsage |
( |
| ) |
const |
|
inline |
◆ Initialize() [1/2]
| bool Sleak::RenderEngine::DirectX11Buffer::Initialize |
( |
const void * | data, |
|
|
uint16_t | size ) |
Creates the buffer sized and pre-populated from a raw payload.
Definition at line 117 of file DirectX11Buffer.cpp.
◆ Initialize() [2/2]
| bool Sleak::RenderEngine::DirectX11Buffer::Initialize |
( |
void * | Data | ) |
|
|
overridevirtual |
◆ IsValid()
| bool Sleak::RenderEngine::DirectX11Buffer::IsValid |
( |
| ) |
const |
|
inline |
◆ Map()
| bool Sleak::RenderEngine::DirectX11Buffer::Map |
( |
| ) |
|
|
overridevirtual |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ Unmap()
| void Sleak::RenderEngine::DirectX11Buffer::Unmap |
( |
| ) |
|
|
overridevirtual |
◆ Update() [1/2]
| void Sleak::RenderEngine::DirectX11Buffer::Update |
( |
| ) |
|
|
overridevirtual |
◆ Update() [2/2]
| void Sleak::RenderEngine::DirectX11Buffer::Update |
( |
void * | data, |
|
|
size_t | size ) |
|
overridevirtual |