|
Blender V4.3
|
#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] |
Implementation of Storage Buffers using OpenGL.
Definition at line 21 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, and GPU_max_storage_buffer_size().
| blender::gpu::GLStorageBuf::~GLStorageBuf | ( | ) |
Definition at line 34 of file gl_storage_buffer.cc.
References blender::gpu::GLContext::buf_free(), and blender::gpu::GLContext::direct_state_access_support.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 182 of file gl_storage_buffer.cc.
References BLI_assert, blender::gpu::GLContext::direct_state_access_support, blender::gpu::StorageBuf::name_, blender::gpu::debug::object_label(), and blender::gpu::StorageBuf::size_in_bytes_.
Referenced by read().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 92 of file gl_storage_buffer.cc.
References BLI_assert, blender::gpu::GLContext::bound_ssbo_slots, blender::gpu::StorageBuf::data_, blender::gpu::GLContext::get(), 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 122 of file gl_storage_buffer.cc.
References BLI_assert_msg.
Referenced by sync_as_indirect_buffer().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 140 of file gl_storage_buffer.cc.
References blender::gpu::GLContext::direct_state_access_support.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 158 of file gl_storage_buffer.cc.
References blender::gpu::GLVertBuf::bind(), and blender::gpu::GLContext::direct_state_access_support.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 221 of file gl_storage_buffer.cc.
References async_flush_to_host(), and blender::gpu::StorageBuf::size_in_bytes_.
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 240 of file gl_storage_buffer.cc.
References bind_as().
|
overridevirtual |
Implements blender::gpu::StorageBuf.
Definition at line 129 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 75 of file gl_storage_buffer.cc.
References blender::gpu::StorageBuf::size_in_bytes_.
Referenced by bind().