64 if (
data !=
nullptr) {
114 ssbo->
clear(clear_value);
123 ssbo->
copy_sub(src, dst_offset, src_offset, copy_size);
char * STRNCPY(char(&dst)[N], const char *src)
void GPU_storagebuf_free(blender::gpu::StorageBuf *ssbo)
blender::gpu::StorageBuf * GPU_storagebuf_create_ex(size_t size, const void *data, GPUUsageType usage, const char *name)
void GPU_storagebuf_clear_to_zero(blender::gpu::StorageBuf *ssbo)
void GPU_storagebuf_clear(blender::gpu::StorageBuf *ssbo, uint32_t clear_value)
void GPU_storagebuf_copy_sub_from_vertbuf(blender::gpu::StorageBuf *ssbo, blender::gpu::VertBuf *src, uint dst_offset, uint src_offset, uint copy_size)
Copy a part of a vertex buffer to a storage buffer.
void GPU_storagebuf_update(blender::gpu::StorageBuf *ssbo, const void *data)
void GPU_storagebuf_sync_to_host(blender::gpu::StorageBuf *ssbo)
void GPU_storagebuf_bind(blender::gpu::StorageBuf *ssbo, int slot)
void GPU_storagebuf_unbind(blender::gpu::StorageBuf *ssbo)
void GPU_storagebuf_usage_size_set(blender::gpu::StorageBuf *ssbo, size_t size)
void GPU_storagebuf_read(blender::gpu::StorageBuf *ssbo, void *data)
void GPU_storagebuf_debug_unbind_all()
void GPU_storagebuf_sync_as_indirect_buffer(blender::gpu::StorageBuf *ssbo)
Read Guarded memory(de)allocation.
BMesh const char void * data
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
virtual void debug_unbind_all_ssbo()=0
static GPUBackend * get()
virtual StorageBuf * storagebuf_alloc(size_t size, GPUUsageType usage, const char *name)=0
StorageBuf(size_t size, const char *name)
size_t usage_size_in_bytes_
virtual void bind(int slot)=0
virtual void read(void *data)=0
virtual void async_flush_to_host()=0
char name_[DEBUG_NAME_LEN]
virtual void clear(uint32_t clear_value)=0
virtual void update(const void *data)=0
virtual void copy_sub(VertBuf *src, uint dst_offset, uint src_offset, uint copy_size)=0
virtual void sync_as_indirect_buffer()=0
void usage_size_set(size_t size)