Skip to content
Snippets Groups Projects
Commit 00c6cebc authored by Artur Wasmut's avatar Artur Wasmut
Browse files

Merge branch '40-anbindung-von-buffern-an-descriptor-sets' into 'develop'

Resolve "Anbindung von Buffern an Descriptor Sets"

Closes #40

See merge request !33
parents 68d87f99 e34f54e2
No related branches found
No related tags found
1 merge request!33Resolve "Anbindung von Buffern an Descriptor Sets"
Pipeline #25200 passed
......@@ -6,6 +6,7 @@
namespace vkcv
{
enum class BufferType {
INDEX,
VERTEX,
UNIFORM,
STORAGE,
......@@ -61,6 +62,26 @@ namespace vkcv
*/
uint64_t createBuffer(BufferType type, size_t size, BufferMemoryType memoryType);
/**
* Returns the Vulkan buffer handle of a buffer
* represented by a given buffer handle id.
*
* @param id Buffer handle id
* @return Vulkan buffer handle
*/
[[nodiscard]]
vk::Buffer getBuffer(uint64_t id) const;
/**
* Returns the Vulkan device memory handle of a buffer
* represented by a given buffer handle id.
*
* @param id Buffer handle id
* @return Vulkan device memory handle
*/
[[nodiscard]]
vk::DeviceMemory getDeviceMemory(uint64_t id) const;
/**
* Fills a buffer represented by a given buffer
* handle id with custom data.
......
......@@ -178,6 +178,26 @@ namespace vkcv {
);
}
vk::Buffer BufferManager::getBuffer(uint64_t id) const {
if (id >= m_buffers.size()) {
return nullptr;
}
auto& buffer = m_buffers[id];
return buffer.m_handle;
}
vk::DeviceMemory BufferManager::getDeviceMemory(uint64_t id) const {
if (id >= m_buffers.size()) {
return nullptr;
}
auto& buffer = m_buffers[id];
return buffer.m_memory;
}
void BufferManager::fillBuffer(uint64_t id, void *data, size_t size, size_t offset) {
if (size == 0) {
size = SIZE_MAX;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment