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