This Class is a Wrapper of VulkanBuffer. More...
#include <VulkanBuffer.h>
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 | |
| VulkanState & | m_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. | |
This Class is a Wrapper of VulkanBuffer.
Definition at line 16 of file VulkanBuffer.h.