21 , m_Buffer(VK_NULL_HANDLE)
22 , m_BufferMemory(VK_NULL_HANDLE)
35 const VkDeviceSize& t_Size,
36 const VkBufferUsageFlags& t_Usage,
37 const VkMemoryPropertyFlags& t_Properties,
38 const void* t_Data =
nullptr 50 const VkDeviceSize&
GetSize()
const {
return m_Size; }
60 static void CopyBuffer(
Buffer* t_SrcBuffer,
Buffer* t_DstBuffer, VkDeviceSize t_Size);
73 bool IsUsed()
const {
return m_BufferMemory != VK_NULL_HANDLE && m_Buffer != VK_NULL_HANDLE && m_Size; }
82 void MapMemory(
void** t_Data)
const;
VkDeviceMemory m_BufferMemory
Pointer to the physcial device memory for this buffer.
Definition: Buffer.h:96
const VkDeviceMemory & GetVkDeviceMemory() const
Definition: Buffer.h:48
const VkBuffer & GetVkBuffer() const
Definition: Buffer.h:46
VkDeviceSize m_Size
The size of this buffer in bytes.
Definition: Buffer.h:90
bool IsUsed() const
Check if this buffer's vulkan assets are used.
Definition: Buffer.h:73
VkBuffer m_Buffer
Vulkan logical buffer object.
Definition: Buffer.h:93
A Buffer represents a Vulkan buffer with a size, buffer pointer, and buffer memory.
Definition: Buffer.h:11
const VkDeviceSize & GetSize() const
Definition: Buffer.h:50
Buffer()
Default Ctor for a buffer.
Definition: Buffer.h:19