|
| MetalBufferInterface (size_t vboPoolIdx, id< MTLBuffer > vboName, MetalDynamicBuffer *dynamicBuffer) |
|
| ~MetalBufferInterface () override |
|
void | _firstUpload (const void *data, size_t elementStart, size_t elementCount) |
| Only use this function for the first upload. More...
|
|
void | _setVboPoolIndex (size_t newVboPool) |
|
void | advanceFrame () override |
|
void | copyTo (BufferInterface *dstBuffer, size_t dstOffsetBytes, size_t srcOffsetBytes, size_t sizeBytes) override |
|
id< MTLBuffer > | getVboName () const |
| Use __unsafe_unretained when possible to avoid unnecessary ARC overhead. More...
|
|
size_t | getVboPoolIndex () |
|
void *RESTRICT_ALIAS_RETURN | map (size_t elementStart, size_t elementCount, MappingState prevMappingState, bool advanceFrame=true) override |
|
void | regressFrame () override |
|
void | unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0) override |
|
| BufferInterface () |
|
virtual | ~BufferInterface () |
|
virtual void | _ensureDelayedImmutableBuffersAreReady () |
|
virtual void | _notifyBuffer (BufferPacked *buffer) |
|
BufferPacked * | getBufferPacked () |
|
void | upload (const void *data, size_t elementStart, size_t elementCount) |
|
For Metal, all buffers can be treated with the same code.
Hence most equivalent functionality is encapsulated here.