|
Blender V4.3
|
#include <gpu_storage_buffer_private.hh>
Inherited by blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Public Member Functions | |
| StorageBuf (size_t size, const char *name) | |
| virtual | ~StorageBuf () |
| virtual void | update (const void *data)=0 |
| virtual void | bind (int slot)=0 |
| virtual void | unbind ()=0 |
| virtual void | clear (uint32_t clear_value)=0 |
| virtual void | copy_sub (VertBuf *src, uint dst_offset, uint src_offset, uint copy_size)=0 |
| virtual void | read (void *data)=0 |
| virtual void | async_flush_to_host ()=0 |
| virtual void | sync_as_indirect_buffer ()=0 |
Protected Attributes | |
| size_t | size_in_bytes_ |
| void * | data_ = nullptr |
| char | name_ [DEBUG_NAME_LEN] |
Implementation of Storage Buffers. Base class which is then specialized for each implementation (GL, VK, ...).
Definition at line 31 of file gpu_storage_buffer_private.hh.
| blender::gpu::StorageBuf::StorageBuf | ( | size_t | size, |
| const char * | name ) |
Definition at line 31 of file gpu_storage_buffer.cc.
References BLI_assert, name_, size(), size_in_bytes_, and STRNCPY.
|
virtual |
Definition at line 41 of file gpu_storage_buffer.cc.
References data_, and MEM_SAFE_FREE.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Referenced by GPU_storagebuf_create_ex().
|
protected |
Continuous memory block to copy to GPU. This data is owned by the StorageBuf.
Definition at line 36 of file gpu_storage_buffer_private.hh.
Referenced by blender::gpu::GLStorageBuf::bind(), blender::gpu::MTLStorageBuf::bind(), blender::gpu::MTLStorageBuf::get_metal_buffer(), and ~StorageBuf().
|
protected |
Debugging name
Definition at line 38 of file gpu_storage_buffer_private.hh.
Referenced by blender::gpu::GLStorageBuf::async_flush_to_host(), blender::gpu::GLStorageBuf::bind(), blender::gpu::MTLStorageBuf::bind(), blender::gpu::MTLStorageBuf::get_name(), blender::gpu::MTLStorageBuf::init(), and StorageBuf().
|
protected |
Data size in bytes.
Definition at line 34 of file gpu_storage_buffer_private.hh.
Referenced by blender::gpu::GLStorageBuf::async_flush_to_host(), blender::gpu::MTLStorageBuf::clear(), blender::gpu::MTLStorageBuf::get_size(), blender::gpu::MTLStorageBuf::init(), blender::gpu::GLStorageBuf::read(), blender::gpu::MTLStorageBuf::read(), StorageBuf(), blender::gpu::GLStorageBuf::update(), and blender::gpu::MTLStorageBuf::update().