Blender V4.3
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)
 
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
 
int64_t size_in_bytes () const
 
void ensure_allocated ()
 
- Public Member Functions inherited from blender::gpu::StorageBuf
 StorageBuf (size_t size, const char *name)
 
virtual ~StorageBuf ()
 

Additional Inherited Members

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

Detailed Description

Definition at line 21 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 18 of file vk_storage_buffer.cc.

Member Function Documentation

◆ async_flush_to_host()

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

Implements blender::gpu::StorageBuf.

Definition at line 90 of file vk_storage_buffer.cc.

References GPU_BARRIER_BUFFER_UPDATE, and GPU_memory_barrier().

◆ bind()

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

◆ clear()

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

◆ copy_sub()

◆ ensure_allocated()

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

Definition at line 32 of file vk_storage_buffer.cc.

References blender::gpu::VKBuffer::is_allocated().

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

◆ read()

◆ size_in_bytes()

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

Definition at line 42 of file vk_storage_buffer.hh.

References blender::gpu::VKBuffer::size_in_bytes().

◆ sync_as_indirect_buffer()

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

Implements blender::gpu::StorageBuf.

Definition at line 35 of file vk_storage_buffer.hh.

◆ unbind()

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

Implements blender::gpu::StorageBuf.

Definition at line 57 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: