#include <kanzi/core/legacy/kzs_types.hpp>
#include <kanzi/core/legacy/debug/kzs_error.hpp>
#include <kanzi/core.ui/platform/graphics_backend/gl/gl_buffer_handle.hpp>
Classes | |
class | kanzi::Buffer |
GPU memory buffer, for vertex or index data. More... | |
struct | KzcGPUBufferManagerStatistics |
Statistics of GPU buffer manager usage. More... | |
Namespaces | |
kanzi | |
Functions | |
kzsError | kzcGPUBufferManagerCreate (const KzcMemoryManager *memoryManager, kanzi::Renderer *renderer, unsigned int vertexBufferPoolSize, unsigned int indexBufferPoolSize, KzcGPUBufferManager **out_bufferManager) |
Creates a new buffer manager. More... | |
kzsError | kzcGPUBufferManagerDelete (KzcGPUBufferManager *bufferManager) |
Deletes buffer manager. More... | |
kzsError | kzcGPUBufferManagerInvalidateGPUMemory (KzcGPUBufferManager *bufferManager) |
Invalidates GPU memory manager by this manager. All pools will be removed and handles to this manager will became invalid. More... | |
kzsError | kzcGPUBufferManagerUploadData (KzcGPUBufferManager *bufferManager, kanzi::Buffer::BufferType bufferType, const void *data, unsigned int size, const KzcGPUBufferMemoryHandle **out_handle) |
Uploads vertex data to VBO. More... | |
kzsError | kzcGPUBufferManagerFreeData (const KzcGPUBufferManager *bufferManager, const KzcGPUBufferMemoryHandle *handle) |
Frees vertex data in VBO. More... | |
kanzi::Buffer::BufferType | kzcGPUBufferMemoryHandleGetBufferType (const KzcGPUBufferMemoryHandle *handle) |
Gets type of buffer object referenced by specified handle. More... | |
unsigned int | kzcGPUBufferMemoryHandleGetBufferHandle (const KzcGPUBufferMemoryHandle *handle) |
Gets handle of buffer object referenced by specified handle. More... | |
unsigned int | kzcGPUBufferMemoryHandleGetDataOffset (const KzcGPUBufferMemoryHandle *handle) |
Gets offset in bytes in buffer object for the memory referenced by specified handle. More... | |
void | kzcGPUBufferManagerGetStatistics (const KzcGPUBufferManager *bufferManager, kanzi::Buffer::BufferType bufferType, KzcGPUBufferManagerStatistics *statistics) |
Returns statistics for GPU buffer manager. More... | |
void | kzcGPUBufferManagerDumpStatistics (const KzcGPUBufferManager *bufferManager, kzBool dumpPoolBlocks) |
Prints out statistics for GPU buffer manager. More... | |
kzsError kzcGPUBufferManagerCreate | ( | const KzcMemoryManager * | memoryManager, |
kanzi::Renderer * | renderer, | ||
unsigned int | vertexBufferPoolSize, | ||
unsigned int | indexBufferPoolSize, | ||
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 | ( | KzcGPUBufferManager * | bufferManager | ) |
Deletes buffer manager.
kzsError kzcGPUBufferManagerInvalidateGPUMemory | ( | KzcGPUBufferManager * | bufferManager | ) |
Invalidates GPU memory manager by this manager. All pools will be removed and handles to this manager will became invalid.
kzsError kzcGPUBufferManagerUploadData | ( | KzcGPUBufferManager * | bufferManager, |
kanzi::Buffer::BufferType | bufferType, | ||
const void * | data, | ||
unsigned int | size, | ||
const 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 KzcGPUBufferManager * | bufferManager, |
const 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. |
kanzi::Buffer::BufferType kzcGPUBufferMemoryHandleGetBufferType | ( | const KzcGPUBufferMemoryHandle * | handle | ) |
Gets type of buffer object referenced by specified handle.
unsigned int kzcGPUBufferMemoryHandleGetBufferHandle | ( | const KzcGPUBufferMemoryHandle * | handle | ) |
Gets handle of buffer object referenced by specified handle.
unsigned int kzcGPUBufferMemoryHandleGetDataOffset | ( | const KzcGPUBufferMemoryHandle * | handle | ) |
Gets offset in bytes in buffer object for the memory referenced by specified handle.
void kzcGPUBufferManagerGetStatistics | ( | const KzcGPUBufferManager * | bufferManager, |
kanzi::Buffer::BufferType | bufferType, | ||
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 KzcGPUBufferManager * | bufferManager, |
kzBool | dumpPoolBlocks | ||
) |
Prints out statistics for GPU buffer manager.