Blender V5.0
blender::gpu::VKStorageBuffer Class Reference

#include <vk_storage_buffer.hh>

Inherits blender::gpu::StorageBuf.

Public Member Functions

 VKStorageBuffer (size_t size, GPUUsageType usage, const char *name)
 ~VKStorageBuffer ()
void update (const void *data) override
void bind (int slot) override
void unbind () override
void clear (uint32_t clear_value) override
void copy_sub (VertBuf *src, uint dst_offset, uint src_offset, uint copy_size) override
void read (void *data) override
void async_flush_to_host () override
void sync_as_indirect_buffer () override
VkBuffer vk_handle () const
VkDeviceAddress device_address_get () const
int64_t size_in_bytes () const
VkDeviceSize offset_get () const
void ensure_allocated ()
Public Member Functions inherited from blender::gpu::StorageBuf
 StorageBuf (size_t size, const char *name)
virtual ~StorageBuf ()
void usage_size_set (size_t size)
size_t usage_size_get () const

Additional Inherited Members

Protected Attributes inherited from blender::gpu::StorageBuf
size_t size_in_bytes_ = -1
size_t usage_size_in_bytes_ = -1
void * data_ = nullptr
char name_ [DEBUG_NAME_LEN] = {}

Detailed Description

Definition at line 22 of file vk_storage_buffer.hh.

Constructor & Destructor Documentation

◆ VKStorageBuffer()

blender::gpu::VKStorageBuffer::VKStorageBuffer ( size_t size,
GPUUsageType usage,
const char * name )

Definition at line 22 of file vk_storage_buffer.cc.

References name, size(), blender::gpu::StorageBuf::StorageBuf(), and UNUSED_VARS.

◆ ~VKStorageBuffer()

blender::gpu::VKStorageBuffer::~VKStorageBuffer ( )

Definition at line 27 of file vk_storage_buffer.cc.

Member Function Documentation

◆ async_flush_to_host()

void blender::gpu::VKStorageBuffer::async_flush_to_host ( )
overridevirtual

◆ bind()

void blender::gpu::VKStorageBuffer::bind ( int slot)
overridevirtual

◆ clear()

void blender::gpu::VKStorageBuffer::clear ( uint32_t clear_value)
overridevirtual

◆ copy_sub()

◆ device_address_get()

VkDeviceAddress blender::gpu::VKStorageBuffer::device_address_get ( ) const
inline

Definition at line 47 of file vk_storage_buffer.hh.

◆ ensure_allocated()

void blender::gpu::VKStorageBuffer::ensure_allocated ( )

Definition at line 71 of file vk_storage_buffer.cc.

Referenced by async_flush_to_host(), clear(), copy_sub(), and update().

◆ offset_get()

VkDeviceSize blender::gpu::VKStorageBuffer::offset_get ( ) const
inline

Definition at line 56 of file vk_storage_buffer.hh.

◆ read()

void blender::gpu::VKStorageBuffer::read ( void * data)
overridevirtual

◆ size_in_bytes()

int64_t blender::gpu::VKStorageBuffer::size_in_bytes ( ) const
inline

Definition at line 52 of file vk_storage_buffer.hh.

◆ sync_as_indirect_buffer()

void blender::gpu::VKStorageBuffer::sync_as_indirect_buffer ( )
inlineoverridevirtual

Implements blender::gpu::StorageBuf.

Definition at line 41 of file vk_storage_buffer.hh.

◆ unbind()

void blender::gpu::VKStorageBuffer::unbind ( )
overridevirtual

Implements blender::gpu::StorageBuf.

Definition at line 101 of file vk_storage_buffer.cc.

References blender::gpu::VKContext::get().

◆ update()

◆ vk_handle()

VkBuffer blender::gpu::VKStorageBuffer::vk_handle ( ) const
inline

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