|
| VulkanVaoManager (VulkanDevice *device, VulkanRenderSystem *renderSystem, const NameValuePairList *params) |
|
| ~VulkanVaoManager () override |
|
void | _notifyDeviceStalled () |
|
void | _notifyNewCommandBuffer () |
|
void | _schedulePoolAdvanceFrame (VulkanDescriptorPool *pool) |
|
void | _update () override |
|
void | addDelayedFunc (VulkanDelayedFuncBase *cmd) |
|
VulkanRawBuffer | allocateRawBuffer (VboFlag vboFlag, size_t sizeBytes, size_t alignment=4u) |
|
VkDeviceMemory | allocateTexture (const VkMemoryRequirements &memReq, size_t &outVboIdx, size_t &outBufferOffset) |
|
void | bindDrawIdVertexBuffer (VkCommandBuffer cmdBuffer, uint32 binding=15) |
|
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...
|
|
VulkanStagingTexture * | createStagingTexture (PixelFormatGpu formatFamily, size_t sizeBytes) |
|
void | createVkResources () |
|
void | deallocateRawBuffer (VulkanRawBuffer &rawBuffer, bool bImmediately) |
|
void | deallocateTexture (size_t vboIdx, size_t bufferOffset, size_t sizeBytes) |
|
void | destroyStagingTexture (VulkanStagingTexture *stagingTexture) |
|
void | destroyVkResources (bool finalDestruction=false) |
|
VkSemaphore | getAvailableSemaphore () |
|
void | getAvailableSemaphores (VkSemaphoreArray &semaphoreArray, size_t numSemaphores) |
| Insert into the end of semaphoreArray 'numSemaphores' number of semaphores that are safe for use. More...
|
|
VulkanDescriptorPool * | getDescriptorPool (const VulkanRootLayout *rootLayout, size_t setIdx, VkDescriptorSetLayout setLayout) |
|
VulkanDevice * | getDevice () const |
|
VertexBufferPacked * | getDrawId () const |
|
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...
|
|
VulkanRenderSystem * | getVkRenderSystem () |
|
void | initDrawIdVertexBuffer () |
|
bool | isFrameFinished (uint32 frameCount) override |
| See VaoManager::isFrameFinished. More...
|
|
void | notifySemaphoreUnused (VkSemaphore semaphore) |
|
void | notifyWaitSemaphoresSubmitted (const VkSemaphoreArray &semaphores) |
|
void | notifyWaitSemaphoreSubmitted (VkSemaphore semaphore) |
| Call this function after you've submitted to the GPU a VkSemaphore that will be waited on. More...
|
|
bool | supportsCoherentMapping () const |
|
bool | supportsNonCoherentMapping () const |
|
void | waitForSpecificFrameToFinish (uint32 frameCount) override |
| See VaoManager::waitForSpecificFrameToFinish. More...
|
|
uint8 | waitForTailFrameToFinish () override |
| Returns the current frame # (which wraps to 0 every mDynamicBufferMultiplier times). More...
|
|
| VaoManager (const NameValuePairList *params) |
|
virtual | ~VaoManager () |
|
virtual void | _beginFrame () |
|
uint8 | _getDynamicBufferCurrentFrameNoWait () const |
|
void | _notifyStagingBufferEnteredZeroRef (StagingBuffer *stagingBuffer) |
|
void | _notifyStagingBufferLeftZeroRef (StagingBuffer *stagingBuffer) |
|
virtual void | _waitUntilCommitedCommandBufferCompleted () |
| 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...
|
|
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 |
|