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

#include <gl_storage_buffer.hh>

Inherits blender::gpu::StorageBuf.

Public Member Functions

Creation & Deletion
 GLStorageBuf (size_t size, GPUUsageType usage, const char *name)
 ~GLStorageBuf ()
Usage
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
void bind_as (GLenum target)
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

Data upload / update

void update (const void *data) override

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

Implementation of Storage Buffers using OpenGL.

Definition at line 23 of file gl_storage_buffer.hh.

Constructor & Destructor Documentation

◆ GLStorageBuf()

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

◆ ~GLStorageBuf()

blender::gpu::GLStorageBuf::~GLStorageBuf ( )

Member Function Documentation

◆ async_flush_to_host()

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

◆ bind()

◆ bind_as()

void blender::gpu::GLStorageBuf::bind_as ( GLenum target)

Definition at line 123 of file gl_storage_buffer.cc.

References BLI_assert_msg.

Referenced by sync_as_indirect_buffer().

◆ clear()

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

◆ copy_sub()

void blender::gpu::GLStorageBuf::copy_sub ( VertBuf * src,
uint dst_offset,
uint src_offset,
uint copy_size )
overridevirtual

◆ read()

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

◆ sync_as_indirect_buffer()

void blender::gpu::GLStorageBuf::sync_as_indirect_buffer ( )
overridevirtual

Implements blender::gpu::StorageBuf.

Definition at line 253 of file gl_storage_buffer.cc.

References bind_as().

◆ unbind()

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

◆ update()

void blender::gpu::GLStorageBuf::update ( const void * data)
overridevirtual

Implements blender::gpu::StorageBuf.

Definition at line 76 of file gl_storage_buffer.cc.

References data, init(), and blender::gpu::StorageBuf::size_in_bytes_.

Referenced by bind().


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