|
| MetalBufferInterface (size_t vboPoolIdx, id< MTLBuffer > vboName, MetalDynamicBuffer *dynamicBuffer) |
|
virtual | ~MetalBufferInterface () |
|
virtual void | _ensureDelayedImmutableBuffersAreReady (void) |
|
void | _firstUpload (const void *data, size_t elementStart, size_t elementCount) |
| Only use this function for the first upload. More...
|
|
virtual void | _notifyBuffer (BufferPacked *buffer) |
|
void | _setVboPoolIndex (size_t newVboPool) |
|
virtual void | advanceFrame (void) |
|
virtual void | copyTo (BufferInterface *dstBuffer, size_t dstOffsetBytes, size_t srcOffsetBytes, size_t sizeBytes) |
|
BufferPacked * | getBufferPacked (void) |
|
id< MTLBuffer > | getVboName (void) const |
| Use __unsafe_unretained when possible to avoid unnecessary ARC overhead. More...
|
|
size_t | getVboPoolIndex (void) |
|
virtual void *RESTRICT_ALIAS_RETURN | map (size_t elementStart, size_t elementCount, MappingState prevMappingState, bool advanceFrame=true) |
|
virtual void | regressFrame (void) |
|
virtual void | unmap (UnmapOptions unmapOption, size_t flushStartElem=0, size_t flushSizeElem=0) |
|
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.