|
Kanzi Graphics Engine
|
GPU buffer manager. More...
Data Structures | |
| struct | KzcGPUBufferManagerStatistics |
| Statistics of GPU buffer manager usage. More... | |
Macros | |
| #define | KZC_GPU_BUFFER_MANAGER_ENABLED |
| Is the GPU buffer manager in use. More... | |
Enumerations | |
| enum | KzcGPUBufferManagerType { KZC_GPU_BUFFER_MANAGER_TYPE_VERTEX, KZC_GPU_BUFFER_MANAGER_TYPE_INDEX } |
| Type enumeration of the buffer. More... | |
Functions | |
| kzsError | kzcGPUBufferManagerCreate (const struct KzcMemoryManager *memoryManager, struct KzcRenderer *renderer, kzUint vertexBufferPoolSize, kzUint indexBufferPoolSize, struct KzcGPUBufferManager **out_bufferManager) |
| Creates a new buffer manager. More... | |
| kzsError | kzcGPUBufferManagerDelete (struct KzcGPUBufferManager *bufferManager) |
| Deletes buffer manager. More... | |
| kzsError | kzcGPUBufferManagerInvalidateGPUMemory (struct KzcGPUBufferManager *bufferManager) |
| Invalidates GPU memory manager by this manager. More... | |
| kzsError | kzcGPUBufferManagerUploadData (struct KzcGPUBufferManager *bufferManager, enum KzcGPUBufferManagerType bufferType, const void *data, kzUint size, const struct KzcGPUBufferMemoryHandle **out_handle) |
| Uploads vertex data to VBO. More... | |
| kzsError | kzcGPUBufferManagerFreeData (const struct KzcGPUBufferManager *bufferManager, const struct KzcGPUBufferMemoryHandle *handle) |
| Frees vertex data in VBO. More... | |
| enum KzcGPUBufferManagerType | kzcGPUBufferMemoryHandleGetBufferType (const struct KzcGPUBufferMemoryHandle *handle) |
| Gets type of buffer object referenced by specified handle. More... | |
| kzUint | kzcGPUBufferMemoryHandleGetBufferHandle (const struct KzcGPUBufferMemoryHandle *handle) |
| Gets handle of buffer object referenced by specified handle. More... | |
| kzUint | kzcGPUBufferMemoryHandleGetDataOffset (const struct KzcGPUBufferMemoryHandle *handle) |
| Gets offset in bytes in buffer object for the memory referenced by specified handle. More... | |
| void | kzcGPUBufferManagerGetStatistics (const struct KzcGPUBufferManager *bufferManager, enum KzcGPUBufferManagerType bufferType, struct KzcGPUBufferManagerStatistics *statistics) |
| Returns statistics for GPU buffer manager. More... | |
| void | kzcGPUBufferManagerDumpStatistics (const struct KzcGPUBufferManager *bufferManager, kzBool dumpPoolBlocks) |
| Prints out statistics for GPU buffer manager. More... | |
GPU buffer manager.
Copyright 2008-2019 by Rightware. All rights reserved.
| #define KZC_GPU_BUFFER_MANAGER_ENABLED |
Is the GPU buffer manager in use.
| kzsError kzcGPUBufferManagerCreate | ( | const struct KzcMemoryManager * | memoryManager, |
| struct KzcRenderer * | renderer, | ||
| kzUint | vertexBufferPoolSize, | ||
| kzUint | indexBufferPoolSize, | ||
| struct KzcGPUBufferManager ** | out_bufferManager | ||
| ) |
Creates a new buffer manager.
| vertexBufferPoolSize | - default size of vertex buffer pool (== VBO). If equal to 0, the no default buffer will be created, and new pool will be created for each uploaded data. |
| indexBufferPoolSize | - default size of index buffer pool (== IBO). If equal to 0, the no default buffer will be created, and new pool will be created for each uploaded data. |
| kzsError kzcGPUBufferManagerDelete | ( | struct KzcGPUBufferManager * | bufferManager) |
Deletes buffer manager.
| kzsError kzcGPUBufferManagerInvalidateGPUMemory | ( | struct KzcGPUBufferManager * | bufferManager) |
Invalidates GPU memory manager by this manager.
All pools will be removed and handles to this manager will became invalid.
| kzsError kzcGPUBufferManagerUploadData | ( | struct KzcGPUBufferManager * | bufferManager, |
| enum KzcGPUBufferManagerType | bufferType, | ||
| const void * | data, | ||
| kzUint | size, | ||
| const struct KzcGPUBufferMemoryHandle ** | out_handle | ||
| ) |
Uploads vertex data to VBO.
If there is no available memory left in existing VBO's, the new one will be created.
| handle | to uploaded vertex data (owned by GPU buffer manager so user should not delete it). |
| kzsError kzcGPUBufferManagerFreeData | ( | const struct KzcGPUBufferManager * | bufferManager, |
| const struct KzcGPUBufferMemoryHandle * | handle | ||
| ) |
Frees vertex data in VBO.
| handle | to uploaded vertex data. The handle will be deleted by GPU buffer manager and should not be used after calling this function. |
| enum KzcGPUBufferManagerType kzcGPUBufferMemoryHandleGetBufferType | ( | const struct KzcGPUBufferMemoryHandle * | handle) |
Gets type of buffer object referenced by specified handle.
| kzUint kzcGPUBufferMemoryHandleGetBufferHandle | ( | const struct KzcGPUBufferMemoryHandle * | handle) |
Gets handle of buffer object referenced by specified handle.
| kzUint kzcGPUBufferMemoryHandleGetDataOffset | ( | const struct KzcGPUBufferMemoryHandle * | handle) |
Gets offset in bytes in buffer object for the memory referenced by specified handle.
| void kzcGPUBufferManagerGetStatistics | ( | const struct KzcGPUBufferManager * | bufferManager, |
| enum KzcGPUBufferManagerType | bufferType, | ||
| struct KzcGPUBufferManagerStatistics * | statistics | ||
| ) |
Returns statistics for GPU buffer manager.
User is responsible for deleting returned struct instance.
| statistics | - pointer to KzcGpuBufferManagerStatistics struct instance which will be filled with statistics data. |
| void kzcGPUBufferManagerDumpStatistics | ( | const struct KzcGPUBufferManager * | bufferManager, |
| kzBool | dumpPoolBlocks | ||
| ) |
Prints out statistics for GPU buffer manager.