You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
665 B

#pragma once
#include <vulkan/vulkan_core.h>
#include <stdexcept>
2 weeks ago
#include "vertex.hpp"
#include "vk_mem_alloc.h"
class Instance;
2 weeks ago
class CommandPool;
class Buffer {
public:
explicit Buffer(VkDeviceSize size, VkBufferUsageFlags bufferUsage,
VmaMemoryUsage memoryUsage, VmaAllocationCreateFlags flags);
explicit Buffer(VkDeviceSize size, void* data, VkDeviceSize dataSize, VkBufferUsageFlags bufferUsage,
VmaMemoryUsage memoryUsage, VmaAllocationCreateFlags flags);
~Buffer();
2 weeks ago
VkBuffer handle = VK_NULL_HANDLE;
VmaAllocation allocation = VK_NULL_HANDLE;
VmaAllocationInfo allocationInfo {};
2 weeks ago
VkDeviceSize size;
private:
void copyTo(Buffer* dst);
};