|
| BufferManager (BufferManager &&other)=delete |
|
| BufferManager (const BufferManager &other)=delete |
|
BufferManager & | operator= (BufferManager &&other)=delete |
|
BufferManager & | operator= (const BufferManager &other)=delete |
|
BufferHandle | createBuffer (BufferType type, size_t size, BufferMemoryType memoryType, bool supportIndirect) |
|
vk::Buffer | getBuffer (const BufferHandle &handle) const |
|
size_t | getBufferSize (const BufferHandle &handle) const |
|
vk::DeviceMemory | getDeviceMemory (const BufferHandle &handle) const |
|
void | fillBuffer (const BufferHandle &handle, const void *data, size_t size, size_t offset) |
|
void * | mapBuffer (const BufferHandle &handle, size_t offset, size_t size) |
|
void | unmapBuffer (const BufferHandle &handle) |
|
void | recordBufferMemoryBarrier (const BufferHandle &handle, vk::CommandBuffer cmdBuffer) |
|
void | readBuffer (const BufferHandle &handle, vk::CommandBuffer cmdBuffer, void *data) |
|
◆ createBuffer()
BufferHandle vkcv::BufferManager::createBuffer |
( |
BufferType |
type, |
|
|
size_t |
size, |
|
|
BufferMemoryType |
memoryType, |
|
|
bool |
supportIndirect |
|
) |
| |
Creates and allocates a new buffer and returns its unique buffer handle.
- Parameters
-
type | Type of buffer |
size | Size of buffer in bytes |
memoryType | Type of buffers memory |
- Returns
- New buffer handle
◆ destroyBufferById()
void vkcv::BufferManager::destroyBufferById |
( |
uint64_t |
id | ) |
|
|
private |
Destroys and deallocates buffer represented by a given buffer handle id.
- Parameters
-
◆ fillBuffer()
void vkcv::BufferManager::fillBuffer |
( |
const BufferHandle & |
handle, |
|
|
const void * |
data, |
|
|
size_t |
size, |
|
|
size_t |
offset |
|
) |
| |
◆ getBuffer()
vk::Buffer vkcv::BufferManager::getBuffer |
( |
const BufferHandle & |
handle | ) |
const |
Returns the Vulkan buffer handle of a buffer represented by a given buffer handle.
- Parameters
-
- Returns
- Vulkan buffer handle
References vkcv::Handle::getId().
◆ getBufferSize()
size_t vkcv::BufferManager::getBufferSize |
( |
const BufferHandle & |
handle | ) |
const |
Returns the size of a buffer represented by a given buffer handle.
- Parameters
-
- Returns
- Size of the buffer
References vkcv::Handle::getId().
Referenced by readBuffer().
◆ getDeviceMemory()
vk::DeviceMemory vkcv::BufferManager::getDeviceMemory |
( |
const BufferHandle & |
handle | ) |
const |
Returns the Vulkan device memory handle of a buffer represented by a given buffer handle id.
- Parameters
-
- Returns
- Vulkan device memory handle
References vkcv::Handle::getId().
◆ mapBuffer()
void * vkcv::BufferManager::mapBuffer |
( |
const BufferHandle & |
handle, |
|
|
size_t |
offset, |
|
|
size_t |
size |
|
) |
| |
Maps memory to a buffer represented by a given buffer handle and returns it.
- Parameters
-
handle | Buffer handle |
offset | Offset of mapping in bytes |
size | Size of mapping in bytes |
- Returns
- Pointer to mapped memory
References vkcv::Handle::getId().
◆ readBuffer()
void vkcv::BufferManager::readBuffer |
( |
const BufferHandle & |
handle, |
|
|
vk::CommandBuffer |
cmdBuffer, |
|
|
void * |
data |
|
) |
| |
Reads buffer data from GPU for a given buffer handle and writes it to data pointer. Uses cmdBuffer to create neccessary memory barriers.
- Parameters
-
handle | Buffer handle to read |
cmdBuffer | commandbuffer to execute memory barriers |
data | data pointer to which result will be written |
References getBufferSize(), and vkcv::Handle::getId().
◆ unmapBuffer()
void vkcv::BufferManager::unmapBuffer |
( |
const BufferHandle & |
handle | ) |
|
Unmaps memory from a buffer represented by a given buffer handle.
- Parameters
-
References vkcv::Handle::getId().
The documentation for this class was generated from the following files: