SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::VulkanBuffer Class Reference

This Class is a Wrapper of VulkanBuffer. More...

#include <VulkanBuffer.h>

Inheritance diagram for Spices::VulkanBuffer:
Spices::VulkanObject

Public Member Functions

 VulkanBuffer (VulkanState &vulkanState)
 Constructor Function. Create VkBuffer.
 
 VulkanBuffer (VulkanState &vulkanState, const std::string &name, VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties)
 Constructor Function. Create VkBuffer.
 
virtual ~VulkanBuffer () override
 Destructor Function.
 
void CopyBuffer (VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size)
 Copy data from a buffer to another.
 
VkDeviceAddress & GetAddress ()
 Get VkBuffer Address.
 
VkBuffer & Get ()
 Get VkBuffer.
 
VkDescriptorBufferInfo * GetBufferInfo (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0)
 Get VkDescriptorBufferInfo.
 
void WriteToBuffer (const void *data, VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0)
 Write data to buffer.
 
void WriteFromBuffer (void *data, VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0)
 Write data from buffer.
 
void Flush (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0) const
 Flush the buffer's video memory data.
 
uint64_t GetSize () const
 Get Buffer Size.
 

Protected Attributes

VulkanStatem_VulkanState
 The global VulkanState Referenced from VulkanRenderBackend.
 

Private Member Functions

void CreateBuffer (VulkanState &vulkanState, const std::string &name, VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags properties)
 Create a buffer.
 
void Map (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0)
 Map buffer video memory to a local memory.
 

Private Attributes

std::string m_Name
 Buffer Name.
 
VkDeviceSize m_DeviceSize {}
 The buffer size.
 
VkBufferUsageFlags m_Usage {}
 The buffer usage.
 
VkMemoryPropertyFlags m_Flags {}
 The buffer memory requirement flags.
 
VkBuffer m_Buffer {}
 The buffer this class handled.
 
VkDeviceAddress m_BufferAddress {}
 The buffer gpu address.
 
VmaAllocation m_Alloc {}
 VMA allocation.
 
VkDescriptorBufferInfo m_BufferInfo {}
 VkDescriptorBufferInfo.
 

Detailed Description

This Class is a Wrapper of VulkanBuffer.

Definition at line 16 of file VulkanBuffer.h.


The documentation for this class was generated from the following files: