28 Buffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties,
29 const void* data =
nullptr);
32 void MapMemory(
void** data)
const;
33 void UnmapMemory()
const;
35 VkDeviceSize GetSize()
const
39 const VkBuffer& GetBuffer()
const
43 const VkDeviceMemory& GetBufferMemory()
const
45 return m_BufferMemory;
48 static uint32_t FindMemoryType(uint32_t typeFilter,
const VkMemoryPropertyFlags& requiredProperties);
50 static void InsertBufferMemoryBarrier(
const CommandBuffer& commandBuffer,
const VkBuffer& buffer,
51 VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask,
52 VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask,
53 VkDeviceSize offset = 0, VkDeviceSize size = VK_WHOLE_SIZE);
57 VkBuffer m_Buffer = VK_NULL_HANDLE;
58 VkDeviceMemory m_BufferMemory = VK_NULL_HANDLE;