Blender V4.3
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 ()
 

Data upload / update

void update (const void *data) override
 

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

Implementation of Storage Buffers using OpenGL.

Definition at line 21 of file gl_storage_buffer.hh.

Constructor & Destructor Documentation

◆ GLStorageBuf()

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

Definition at line 26 of file gl_storage_buffer.cc.

References BLI_assert, and GPU_max_storage_buffer_size().

◆ ~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 122 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 240 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 75 of file gl_storage_buffer.cc.

References blender::gpu::StorageBuf::size_in_bytes_.

Referenced by bind().


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