![]()  | 
  
    PeriDyno 1.2.1
    
   | 
 
Encapsulates access to a Vulkan buffer backed up by device memory. More...
#include <VulkanBuffer.h>
Public Member Functions | |
| Buffer (VkDevice dev=nullptr) | |
| ~Buffer () | |
| VkResult | map (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0) | 
| void | unmap () | 
| VkResult | bind (VkDeviceSize offset=0) | 
| void | setupDescriptor (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0) | 
| void | copyTo (void *data, VkDeviceSize size) | 
| VkResult | flush (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0) | 
| VkResult | invalidate (VkDeviceSize size=VK_WHOLE_SIZE, VkDeviceSize offset=0) | 
| void | destroy () | 
Public Attributes | |
| VkDevice | device | 
| VkBuffer | buffer = VK_NULL_HANDLE | 
| VkDeviceMemory | memory = VK_NULL_HANDLE | 
| VkDescriptorBufferInfo | descriptor | 
| VkDeviceSize | size = 0 | 
| VkDeviceSize | alignment = 0 | 
| VkDeviceSize | offset = 0 | 
| VmaAllocation | allocation = VK_NULL_HANDLE | 
| VmaAllocator | allocator = VK_NULL_HANDLE | 
| VkBool32 | usePool = VK_FALSE | 
| void * | mapped = nullptr | 
| VkBufferUsageFlags | usageFlags | 
| Usage flags to be filled by external source at buffer creation (to query at some later point)   | |
| VkMemoryPropertyFlags | memoryPropertyFlags | 
| Memory property flags to be filled by external source at buffer creation (to query at some later point)   | |
Encapsulates access to a Vulkan buffer backed up by device memory.
Definition at line 27 of file VulkanBuffer.h.
| vks::Buffer::Buffer | ( | VkDevice | dev = nullptr | ) | 
| vks::Buffer::~Buffer | ( | ) | 
| VkResult vks::Buffer::bind | ( | VkDeviceSize | offset = 0 | ) | 
Attach the allocated memory block to the buffer
| offset | (Optional) Byte offset (from the beginning) for the memory region to bind | 
Definition at line 77 of file VulkanBuffer.cpp.
| void vks::Buffer::copyTo | ( | void * | data, | 
| VkDeviceSize | size ) | 
Copies the specified data to the mapped buffer
| data | Pointer to the data to copy | 
| size | Size of the data to copy in machine units | 
Definition at line 107 of file VulkanBuffer.cpp.

| void vks::Buffer::destroy | ( | ) | 
Release all Vulkan resources held by this buffer
Definition at line 164 of file VulkanBuffer.cpp.


| VkResult vks::Buffer::flush | ( | VkDeviceSize | size = VK_WHOLE_SIZE, | 
| VkDeviceSize | offset = 0 ) | 
Flush a memory range of the buffer to make it visible to the device
| size | (Optional) Size of the memory range to flush. Pass VK_WHOLE_SIZE to flush the complete buffer range. | 
| offset | (Optional) Byte offset from beginning | 
Definition at line 123 of file VulkanBuffer.cpp.
| VkResult vks::Buffer::invalidate | ( | VkDeviceSize | size = VK_WHOLE_SIZE, | 
| VkDeviceSize | offset = 0 ) | 
Invalidate a memory range of the buffer to make it visible to the host
| size | (Optional) Size of the memory range to invalidate. Pass VK_WHOLE_SIZE to invalidate the complete buffer range. | 
| offset | (Optional) Byte offset from beginning | 
Definition at line 147 of file VulkanBuffer.cpp.
| VkResult vks::Buffer::map | ( | VkDeviceSize | size = VK_WHOLE_SIZE, | 
| VkDeviceSize | offset = 0 ) | 
Map a memory range of this buffer. If successful, mapped points to the specified buffer range.
| size | (Optional) Size of the memory range to map. Pass VK_WHOLE_SIZE to map the complete buffer range. | 
| offset | (Optional) Byte offset from beginning | 
Definition at line 44 of file VulkanBuffer.cpp.
| void vks::Buffer::setupDescriptor | ( | VkDeviceSize | size = VK_WHOLE_SIZE, | 
| VkDeviceSize | offset = 0 ) | 
Setup the default descriptor for this buffer
| size | (Optional) Size of the memory range of the descriptor | 
| offset | (Optional) Byte offset from beginning | 
Definition at line 93 of file VulkanBuffer.cpp.
| void vks::Buffer::unmap | ( | ) | 
Unmap a mapped memory range
Definition at line 58 of file VulkanBuffer.cpp.

| VkDeviceSize vks::Buffer::alignment = 0 | 
Definition at line 46 of file VulkanBuffer.h.
| VmaAllocation vks::Buffer::allocation = VK_NULL_HANDLE | 
Definition at line 48 of file VulkanBuffer.h.
| VmaAllocator vks::Buffer::allocator = VK_NULL_HANDLE | 
Definition at line 49 of file VulkanBuffer.h.
| VkBuffer vks::Buffer::buffer = VK_NULL_HANDLE | 
Definition at line 42 of file VulkanBuffer.h.
| VkDescriptorBufferInfo vks::Buffer::descriptor | 
Definition at line 44 of file VulkanBuffer.h.
| VkDevice vks::Buffer::device | 
Definition at line 41 of file VulkanBuffer.h.
| void* vks::Buffer::mapped = nullptr | 
Definition at line 51 of file VulkanBuffer.h.
| VkDeviceMemory vks::Buffer::memory = VK_NULL_HANDLE | 
Definition at line 43 of file VulkanBuffer.h.
| VkMemoryPropertyFlags vks::Buffer::memoryPropertyFlags | 
Memory property flags to be filled by external source at buffer creation (to query at some later point)
Definition at line 55 of file VulkanBuffer.h.
| VkDeviceSize vks::Buffer::offset = 0 | 
Definition at line 47 of file VulkanBuffer.h.
| VkDeviceSize vks::Buffer::size = 0 | 
Definition at line 45 of file VulkanBuffer.h.
| VkBufferUsageFlags vks::Buffer::usageFlags | 
Usage flags to be filled by external source at buffer creation (to query at some later point)
Definition at line 53 of file VulkanBuffer.h.
| VkBool32 vks::Buffer::usePool = VK_FALSE | 
Definition at line 50 of file VulkanBuffer.h.