|
| MetalVaoManager (MetalDevice *device, const NameValuePairList *params) |
|
| ~MetalVaoManager () override |
|
void | _notifyDeviceStalled () |
|
void | _notifyNewCommandBuffer () |
|
void | _update () override |
|
void | _waitUntilCommitedCommandBufferCompleted () override |
| Waits for the last committed command buffer completion instead of the last frame completion with command buffer switching, so we can continue to work with current command buffer. More...
|
|
void | bindDrawId () |
| Binds the Draw ID to the current RenderEncoder. (Assumed to be active!) More...
|
|
void | cleanupEmptyPools () override |
| Frees GPU memory if there are empty, unused pools. More...
|
|
AsyncTicketPtr | createAsyncTicket (BufferPacked *creator, StagingBuffer *stagingBuffer, size_t elementStart, size_t elementCount) override |
|
StagingBuffer * | createStagingBuffer (size_t sizeBytes, bool forUpload) override |
| Creates a new staging buffer and adds it to the pool. More...
|
|
MetalDevice * | getDevice () |
|
void | getMemoryStats (MemoryStatsEntryVec &outStats, size_t &outCapacityBytes, size_t &outFreeBytes, Log *log, bool &outIncludesTextures) const override |
| Retrieves memory stats about our GPU pools being managed. More...
|
|
bool | isFrameFinished (uint32 frameCount) override |
| See VaoManager::isFrameFinished. More...
|
|
void | unalignedCopy (id< MTLBuffer > dstBuffer, size_t dstOffsetBytes, id< MTLBuffer > srcBuffer, size_t srcOffsetBytes, size_t sizeBytes) |
| In macOS before Catalina (i.e. More...
|
|
void | waitForSpecificFrameToFinish (uint32 frameCount) override |
| See VaoManager::waitForSpecificFrameToFinish. More...
|
|
uint8 | waitForTailFrameToFinish () override |
|
| VaoManager (const NameValuePairList *params) |
|
virtual | ~VaoManager () |
|
virtual void | _beginFrame () |
|
uint8 | _getDynamicBufferCurrentFrameNoWait () const |
|
void | _notifyStagingBufferEnteredZeroRef (StagingBuffer *stagingBuffer) |
|
void | _notifyStagingBufferLeftZeroRef (StagingBuffer *stagingBuffer) |
|
ConstBufferPacked * | createConstBuffer (size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow) |
| Creates an constant buffer based on the given parameters. More...
|
|
IndexBufferPacked * | createIndexBuffer (IndexBufferPacked::IndexType indexType, size_t numIndices, BufferType bufferType, void *initialData, bool keepAsShadow) |
| Creates an index buffer based on the given parameters. More...
|
|
IndirectBufferPacked * | createIndirectBuffer (size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow) |
| Creates an indirect buffer. More...
|
|
ReadOnlyBufferPacked * | createReadOnlyBuffer (PixelFormatGpu pixelFormat, size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow) |
| Creates a read-only buffer based on the given parameters. More...
|
|
TexBufferPacked * | createTexBuffer (PixelFormatGpu pixelFormat, size_t sizeBytes, BufferType bufferType, void *initialData, bool keepAsShadow) |
| Creates an constant buffer based on the given parameters. More...
|
|
UavBufferPacked * | createUavBuffer (size_t numElements, uint32 bytesPerElement, uint32 bindFlags, void *initialData, bool keepAsShadow) |
| Creates an UAV buffer based on the given parameters. More...
|
|
VertexArrayObject * | createVertexArrayObject (const VertexBufferPackedVec &vertexBuffers, IndexBufferPacked *indexBuffer, OperationType opType) |
| Creates a VertexArrayObject that binds all the vertex buffers with their respective declarations, and the index buffers. More...
|
|
VertexBufferPacked * | createVertexBuffer (const VertexElement2Vec &vertexElements, size_t numVertices, BufferType bufferType, void *initialData, bool keepAsShadow) |
| Creates a vertex buffer based on the given parameters. More...
|
|
void | deleteStagingBuffers () |
|
void | destroyConstBuffer (ConstBufferPacked *constBuffer) |
| Destroys the given constant buffer created with createConstBuffer. More...
|
|
void | destroyIndexBuffer (IndexBufferPacked *indexBuffer) |
| Destroys the given index buffer created with createIndexBuffer. More...
|
|
void | destroyIndirectBuffer (IndirectBufferPacked *indirectBuffer) |
| Destroys the given indirect buffer created with createIndirectBuffer. More...
|
|
void | destroyReadOnlyBuffer (ReadOnlyBufferPacked *readOnlyBuffer) |
| Destroys the given texture buffer created with createReadOnlyBuffer. More...
|
|
void | destroyTexBuffer (TexBufferPacked *texBuffer) |
| Destroys the given texture buffer created with createTexBuffer. More...
|
|
void | destroyUavBuffer (UavBufferPacked *uavBuffer) |
| Destroys the given UAV buffer created with createUavBuffer. More...
|
|
void | destroyVertexArrayObject (VertexArrayObject *vao) |
| Destroys the input pointer. More...
|
|
void | destroyVertexBuffer (VertexBufferPacked *vertexBuffer) |
| Destroys the given vertex buffer created with createVertexBuffer. More...
|
|
uint32 | getConstBufferAlignment () const |
|
size_t | getConstBufferMaxSize () const |
|
uint32 | getDefaultStagingBufferLifetime () const |
|
uint32 | getDefaultStagingBufferUnfencedTime () const |
|
uint8 | getDynamicBufferMultiplier () const |
|
uint32 | getFrameCount () |
|
size_t | getReadOnlyBufferMaxSize () const |
|
StagingBuffer * | getStagingBuffer (size_t minSizeBytes, bool forUpload) |
| Retrieves a staging buffer for use. More...
|
|
uint32 | getTexBufferAlignment () const |
|
size_t | getTexBufferMaxSize () const |
|
Timer * | getTimer () |
|
uint32 | getUavBufferAlignment () const |
|
size_t | getUavBufferMaxSize () const |
|
bool | readOnlyIsTexBuffer () const |
| When true, ReadOnlyBufferPacked behaves like TexBufferPacked, i.e. More...
|
|
void | setDefaultStagingBufferlifetime (uint32 lifetime, uint32 unfencedTime) |
| Sets the default time for staging buffers. More...
|
|
bool | supportsBaseInstance () const |
|
bool | supportsIndirectBuffers () const |
| When false, IndirectBufferPacked will emulate the mapping behavior, and we need to use the emulated calls in RenderSystem. More...
|
|
bool | supportsPersistentMapping () const |
|