6#ifndef INCLUDE_VULKANENGINE_BUFFER_H_
7#define INCLUDE_VULKANENGINE_BUFFER_H_
9#include <VulkanEngine/StagedBufferDestination.h>
12#pragma clang diagnostic push
13#pragma clang diagnostic ignored "-Wnullability-completeness"
15#include <vk_mem_alloc.h>
17#pragma clang diagnostic pop
20#include <vulkan/vulkan.hpp>
33 Buffer(
size_t _data_size, vk::BufferUsageFlags usage_flags,
34 vk::MemoryPropertyFlags memory_property_flags,
35 VmaMemoryUsage vma_memory_usage);
47 const vk::Buffer& source_buffer);
59 void createBuffer(vk::BufferUsageFlags usage_flags,
60 vk::MemoryPropertyFlags memory_property_flags,
61 VmaMemoryUsage vma_memory_usage);
Class which represents a single buffer using vk::Buffer.
Definition: Buffer.h:25
size_t data_size
The size of the data.
Definition: Buffer.h:68
virtual size_t getStagingBufferSize() const
Definition: Buffer.cpp:79
virtual void insertTransferCommand(const vk::CommandBuffer &command_buffer, const vk::Buffer &source_buffer)
Definition: Buffer.cpp:71
const vk::Buffer getVkBuffer() const
Definition: Buffer.cpp:37
~Buffer()
Destructor.
Definition: Buffer.cpp:32
Definition: StagedBufferDestination.h:19
TODO development of this class is in progress.
Definition: Attribute.h:13