Class VulkanStorageBuffer

Inheritance Relationships

Base Type

Class Documentation

class VulkanStorageBuffer : public portal::renderer::StorageBuffer

Vulkan storage buffer with VMA allocation.

GPU buffer for shader read-write access. Supports CPU-visible and GPU-only modes. Resizable.

Public Functions

VulkanStorageBuffer(const StorageBufferProperties &properties, const VulkanDevice &device)

Constructs Vulkan storage buffer.

Parameters:
  • properties – Buffer properties (size, gpu_only)

  • device – Vulkan device

~VulkanStorageBuffer() override
virtual void set_data(Buffer data, size_t offset) override

Uploads data to GPU.

Parameters:
  • data – CPU buffer

  • offset – Byte offset

virtual const Buffer &get_data() const override

Gets CPU buffer (const)

virtual void resize(size_t new_size) override

Resizes buffer (recreates GPU allocation)

Parameters:

new_size – New size in bytes

vk::DescriptorBufferInfo &get_descriptor_buffer_info()

Gets descriptor buffer info for binding.