|
| VulkanBuffer (VkBuffer buffer, BufferType type, unsigned elements, std::size_t element_size, std::size_t alignment, bool writable, const VmaAllocator &allocator, const VmaAllocation &allocation, const std::string &name) |
|
| VulkanBuffer (const VulkanBuffer &other)=delete |
|
| VulkanBuffer (VulkanBuffer &&other) noexcept=delete |
|
VulkanBuffer & | operator= (const VulkanBuffer &other)=delete |
|
VulkanBuffer & | operator= (VulkanBuffer &&other) noexcept=delete |
|
BufferType | type () const override |
| Gets the type of the buffer.
|
|
unsigned | elements () const noexcept override |
| Get the number of sub-resources in the memory chunk.
|
|
std::size_t | size () const noexcept override |
| Gets the size (in bytes) of the memory chunk.
|
|
std::size_t | elementSize () const noexcept override |
| Gets the size (in bytes) of one element in the memory chunk. If there is only one element, this equals the result of IDeviceMemory::size().
|
|
std::size_t | elementAlignment () const override |
| Gets the alignment of one element in the memory chunk.
|
|
std::size_t | alignedElementSize () const noexcept override |
| Gets the real size (in bytes) of the memory chunk.
|
|
bool | writable () const noexcept override |
| Checks if the resource can be bound to a read/write descriptor.
|
|
void | map (const void *data, std::size_t size, unsigned element) override |
| Maps the memory at data into the internal memory of the object.
|
|
void | map (std::span< const void * > data, std::size_t element_size, unsigned first_element) override |
| Maps the memory at data into the internal memory of the object.
|
|
void | map (void *data, size_t size, unsigned element, bool write) override |
| Maps the memory at data into the internal memory of the object.
|
|
void | map (std::span< void * > data, size_t element_size, unsigned first_element, bool write) override |
| Maps the memory at data into the internal memory of the object.
|
|
virtual void | map (const void *data, std::size_t size, unsigned int element)=0 |
| Maps the memory at data into the internal memory of the object.
|
|
virtual void | map (std::span< const void * > data, std::size_t element_size, unsigned int first_element)=0 |
| Maps the memory blocks within data into the internal memory of the object.
|
|
virtual void | map (void *data, size_t size, unsigned int element=0, bool write=true)=0 |
| Maps the memory at data into the internal memory of the object.
|
|
virtual void | map (std::span< void * > data, size_t element_size, unsigned int first_element=0, bool write=true)=0 |
| Maps the memory blocks within data into the internal memory of the object.
|
|
| Resource (VkBuffer handle) noexcept |
| Initializes the managed resource with the given handle.
|
|
| Resource (const Resource &other)=delete |
|
| Resource (Resource &&other) noexcept=delete |
|
Resource & | operator= (const Resource &other)=delete |
|
Resource & | operator= (Resource &&other) noexcept=delete |
|
const VkBuffer & | handle () const final |
| Gets the managed resource handle.
|
|
| StateResource (std::string_view name) noexcept |
| Initializes a new StateResource instance.
|
|
| StateResource (const StateResource &other)=delete |
|
| StateResource (StateResource &&other) noexcept |
|
StateResource & | operator= (const StateResource &other)=delete |
|
StateResource & | operator= (StateResource &&other) noexcept |
|
const std::string & | name () const noexcept final |
| Gets the name of the state resource.
|
|
|
static std::unique_ptr< IVulkanBuffer > | Allocate (BufferType type, unsigned elements, std::size_t element_size, std::size_t alignment, bool writable, const VmaAllocator &allocator, const VkBufferCreateInfo &create_info, const VmaAllocationCreateInfo &allocation_info, VmaAllocationInfo *allocation_result=nullptr) |
|
static std::unique_ptr< IVulkanBuffer > | Allocate (const std::string &name, BufferType type, unsigned elements, std::size_t element_size, std::size_t alignment, bool writable, const VmaAllocator &allocator, const VkBufferCreateInfo &create_info, const VmaAllocationCreateInfo &allocation_info, VmaAllocationInfo *allocation_result=nullptr) |
|
Vulkan implementation of IBuffer.