|
Blender V5.0
|
#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] = {} |
Implementation of Storage Buffers using OpenGL.
Definition at line 23 of file gl_storage_buffer.hh.
| 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, GPU_max_storage_buffer_size(), name, size(), and blender::gpu::StorageBuf::StorageBuf().
Referenced by copy_sub().
| blender::gpu::GLStorageBuf::~GLStorageBuf | ( | ) |
Definition at line 34 of file gl_storage_buffer.cc.
References blender::gpu::GLContext::buffer_free(), and blender::gpu::GLContext::direct_state_access_support.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 183 of file gl_storage_buffer.cc.
References BLI_assert, blender::gpu::GLContext::direct_state_access_support, init(), blender::gpu::StorageBuf::name_, and blender::gpu::debug::object_label().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 93 of file gl_storage_buffer.cc.
References BLI_assert, blender::gpu::GLContext::bound_ssbo_slots, blender::gpu::StorageBuf::data_, blender::gpu::GLContext::get(), init(), blender::gpu::GLContext::max_ssbo_binds, MEM_SAFE_FREE, blender::gpu::StorageBuf::name_, and update().
| 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().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 141 of file gl_storage_buffer.cc.
References blender::gpu::GLContext::direct_state_access_support, and init().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 159 of file gl_storage_buffer.cc.
References blender::gpu::GLVertBuf::bind(), blender::gpu::GLContext::direct_state_access_support, and GLStorageBuf().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 224 of file gl_storage_buffer.cc.
References BLI_assert, data, blender::gpu::GLContext::direct_state_access_support, and blender::gpu::StorageBuf::size_in_bytes_.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 253 of file gl_storage_buffer.cc.
References bind_as().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 130 of file gl_storage_buffer.cc.
References blender::gpu::GLContext::bound_ssbo_slots, and blender::gpu::GLContext::get().
|
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().