3#include "../Interface/BufferAllocator.hpp"
4#include <vulkan/vulkan.h>
27 void Write(uint32_t offset, uint32_t size,
const void* data)
final;
44 VkPhysicalDevice physicalDevice;
46 VkDeviceMemory deviceMemory;
77 VkPhysicalDevice physicalDevice;
Responsible for allocating buffers.
Definition: BufferAllocator.hpp:51
A buffer containing GPU accessible data.
Definition: Buffer.hpp:8
BufferUsage
How the buffer is going to be used.
Definition: Buffer.hpp:11
@ COUNT
The number of different buffer usages.
A large buffer from which buffers are sub-allocated.
Definition: BufferAllocator.hpp:21
Vulkan implementation of BufferAllocator.
Definition: VulkanBufferAllocator.hpp:51
~VulkanBufferAllocator() final
Destructor.
Definition: VulkanBufferAllocator.cpp:115
VulkanBufferAllocator(VulkanRenderer &vulkanRenderer, VkDevice device, VkPhysicalDevice physicalDevice, uint32_t frames, uint32_t nonCoherentAtomSize)
Create a new buffer allocator.
Definition: VulkanBufferAllocator.cpp:106
Vulkan implementation of RawBuffer.
Definition: VulkanBufferAllocator.hpp:11
VulkanRawBuffer(VulkanRenderer &vulkanRenderer, VkDevice device, VkPhysicalDevice physicalDevice, Buffer::BufferUsage bufferUsage, bool temporary, unsigned int size)
Create new raw buffer used to satisfy allocations.
Definition: VulkanBufferAllocator.cpp:37
void Write(uint32_t offset, uint32_t size, const void *data) final
Write data to buffer.
Definition: VulkanBufferAllocator.cpp:57
VkBuffer GetBuffer() const
Get the internal Vulkan buffer.
Definition: VulkanBufferAllocator.cpp:98
~VulkanRawBuffer() final
Destructor.
Definition: VulkanBufferAllocator.cpp:52
VkDeviceMemory GetDeviceMemory() const
Get the device memory.
Definition: VulkanBufferAllocator.cpp:102
Low-level renderer implementing Vulkan.
Definition: VulkanRenderer.hpp:24
Definition: Editor.hpp:18
An allocation.
Definition: BufferAllocator.hpp:36