|
Blender V5.0
|
#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 () |
| void | usage_size_set (size_t size) |
| size_t | usage_size_get () const |
| 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_ = -1 |
| size_t | usage_size_in_bytes_ = -1 |
| 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 28 of file gpu_storage_buffer_private.hh.
| blender::gpu::StorageBuf::StorageBuf | ( | size_t | size, |
| const char * | name ) |
Definition at line 30 of file gpu_storage_buffer.cc.
References name, name_, size(), size_in_bytes_, STRNCPY(), and usage_size_in_bytes_.
Referenced by blender::gpu::GLStorageBuf::GLStorageBuf(), blender::gpu::MTLStorageBuf::MTLStorageBuf(), blender::gpu::MTLStorageBuf::MTLStorageBuf(), blender::gpu::MTLStorageBuf::MTLStorageBuf(), blender::gpu::MTLStorageBuf::MTLStorageBuf(), blender::gpu::MTLStorageBuf::MTLStorageBuf(), blender::gpu::MTLStorageBuf::MTLStorageBuf(), and blender::gpu::VKStorageBuffer::VKStorageBuffer().
|
virtual |
Definition at line 36 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.
Referenced by GPU_storagebuf_sync_to_host().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Referenced by GPU_storagebuf_bind().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Referenced by GPU_storagebuf_clear().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Referenced by GPU_storagebuf_copy_sub_from_vertbuf().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
References data.
Referenced by GPU_storagebuf_read().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Referenced by GPU_storagebuf_sync_as_indirect_buffer().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
Referenced by GPU_storagebuf_unbind().
|
pure virtual |
Implemented in blender::gpu::GLStorageBuf, blender::gpu::MTLStorageBuf, and blender::gpu::VKStorageBuffer.
References data.
Referenced by GPU_storagebuf_create_ex(), and GPU_storagebuf_update().
|
inline |
Definition at line 42 of file gpu_storage_buffer_private.hh.
References usage_size_in_bytes_.
| void blender::gpu::StorageBuf::usage_size_set | ( | size_t | size | ) |
Definition at line 41 of file gpu_storage_buffer.cc.
References BLI_assert, size_in_bytes_, and usage_size_in_bytes_.
Referenced by GPU_storagebuf_usage_size_set().
|
protected |
Continuous memory block to copy to GPU. This data is owned by the StorageBuf.
Definition at line 34 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 36 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. Doesn't need to match actual allocation size due to alignment rules.
Definition at line 31 of file gpu_storage_buffer_private.hh.
Referenced by 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(), blender::gpu::MTLStorageBuf::update(), and usage_size_set().
|
protected |
Definition at line 32 of file gpu_storage_buffer_private.hh.
Referenced by StorageBuf(), blender::gpu::VKStorageBuffer::update(), usage_size_get(), and usage_size_set().