Skip to content
Snippets Groups Projects
Verified Commit 7bf01a2b authored by Tobias Frisch's avatar Tobias Frisch
Browse files

[#40] Added two methods to get the Vulkan handles of buffers

parent 47938552
No related branches found
No related tags found
1 merge request!33Resolve "Anbindung von Buffern an Descriptor Sets"
Pipeline #25170 passed
...@@ -61,6 +61,26 @@ namespace vkcv ...@@ -61,6 +61,26 @@ namespace vkcv
*/ */
uint64_t createBuffer(BufferType type, size_t size, BufferMemoryType memoryType); 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 * Fills a buffer represented by a given buffer
* handle id with custom data. * handle id with custom data.
......
...@@ -178,6 +178,26 @@ namespace vkcv { ...@@ -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) { void BufferManager::fillBuffer(uint64_t id, void *data, size_t size, size_t offset) {
if (size == 0) { if (size == 0) {
size = SIZE_MAX; 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