|
| | 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.