23 lines
512 B
C++
23 lines
512 B
C++
#pragma once
|
|
#include "vulkan/basalt_pipeline.h"
|
|
|
|
namespace basalt
|
|
{
|
|
class Buffer
|
|
{
|
|
public:
|
|
Buffer(basalt::Device& device, u64 num_bytes, VkBufferUsageFlagBits usage_flags,
|
|
VkMemoryPropertyFlags props= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
|
|
VkSharingMode sharing_mode = VK_SHARING_MODE_EXCLUSIVE);
|
|
~Buffer();
|
|
|
|
void* map ();
|
|
void unmap ();
|
|
|
|
void* mapped_ptr;
|
|
VkBuffer buffer;
|
|
VkDeviceMemory memory;
|
|
basalt::Device* device;
|
|
size_t size = 0;
|
|
};
|
|
} |