#include <platform/graphics/metal/metalPaletteRingBuffer.h>
Definition at line 31 of file metalPaletteRingBuffer.h.
◆ MetalPaletteRingBuffer() [1/3]
| visutwin::canvas::MetalPaletteRingBuffer::MetalPaletteRingBuffer |
( |
MTL::Device * | device, |
|
|
const char * | label = "PaletteRing" ) |
|
inline |
◆ ~MetalPaletteRingBuffer()
| visutwin::canvas::MetalPaletteRingBuffer::~MetalPaletteRingBuffer |
( |
| ) |
|
|
inline |
◆ MetalPaletteRingBuffer() [2/3]
| visutwin::canvas::MetalPaletteRingBuffer::MetalPaletteRingBuffer |
( |
const MetalPaletteRingBuffer & | | ) |
|
|
delete |
◆ MetalPaletteRingBuffer() [3/3]
| visutwin::canvas::MetalPaletteRingBuffer::MetalPaletteRingBuffer |
( |
MetalPaletteRingBuffer && | | ) |
|
|
delete |
◆ allocate()
| size_t visutwin::canvas::MetalPaletteRingBuffer::allocate |
( |
const void * | data, |
|
|
size_t | size ) |
|
inlinenodiscard |
Bump-allocate palette data into the ring buffer.
- Parameters
-
| data | Pointer to palette data (N × float4x4, column-major) |
| size | Size in bytes of the palette data |
- Returns
- Byte offset into the MTLBuffer — pass to setVertexBufferOffset()
Returns SIZE_MAX if the allocation would exceed the frame region budget.
Definition at line 85 of file metalPaletteRingBuffer.h.
References kAlignment, and kRegionSize.
◆ beginFrame()
| void visutwin::canvas::MetalPaletteRingBuffer::beginFrame |
( |
| ) |
|
|
inline |
◆ buffer()
| MTL::Buffer * visutwin::canvas::MetalPaletteRingBuffer::buffer |
( |
| ) |
const |
|
inlinenodiscard |
◆ endFrame()
| void visutwin::canvas::MetalPaletteRingBuffer::endFrame |
( |
MTL::CommandBuffer * | commandBuffer | ) |
|
|
inline |
Register GPU completion signal on the frame's command buffer. Must be called on the LAST command buffer committed per frame.
Definition at line 107 of file metalPaletteRingBuffer.h.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ totalSize()
| size_t visutwin::canvas::MetalPaletteRingBuffer::totalSize |
( |
| ) |
const |
|
inlinenodiscard |
◆ writeOffset()
| size_t visutwin::canvas::MetalPaletteRingBuffer::writeOffset |
( |
| ) |
const |
|
inlinenodiscard |
◆ kAlignment
| size_t visutwin::canvas::MetalPaletteRingBuffer::kAlignment = 256 |
|
staticconstexpr |
◆ kMaxInflightFrames
| int visutwin::canvas::MetalPaletteRingBuffer::kMaxInflightFrames = 3 |
|
staticconstexpr |
◆ kRegionSize
| size_t visutwin::canvas::MetalPaletteRingBuffer::kRegionSize = 256 * 1024 |
|
staticconstexpr |
The documentation for this class was generated from the following file: