61 if (
data !=
nullptr) {
97 unwrap(ssbo)->clear(internal_format, data_format,
data);
109 unwrap(ssbo)->copy_sub(
unwrap(
src), dst_offset, src_offset, copy_size);
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
struct GPUStorageBuf GPUStorageBuf
struct GPUVertBuf GPUVertBuf
Read Guarded memory(de)allocation.
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
static GPUBackend * get()
virtual StorageBuf * storagebuf_alloc(int size, GPUUsageType usage, const char *name)=0
StorageBuf(size_t size, const char *name)
char name_[DEBUG_NAME_LEN]
virtual void update(const void *data)=0
SyclQueue void void * src
void GPU_storagebuf_copy_sub_from_vertbuf(GPUStorageBuf *ssbo, GPUVertBuf *src, uint dst_offset, uint src_offset, uint copy_size)
Copy a part of a vertex buffer to a storage buffer.
void GPU_storagebuf_bind(GPUStorageBuf *ssbo, int slot)
void GPU_storagebuf_unbind_all()
void GPU_storagebuf_clear(GPUStorageBuf *ssbo, eGPUTextureFormat internal_format, eGPUDataFormat data_format, void *data)
void GPU_storagebuf_unbind(GPUStorageBuf *ssbo)
void GPU_storagebuf_clear_to_zero(GPUStorageBuf *ssbo)
void GPU_storagebuf_free(GPUStorageBuf *ssbo)
void GPU_storagebuf_update(GPUStorageBuf *ssbo, const void *data)
GPUStorageBuf * GPU_storagebuf_create_ex(size_t size, const void *data, GPUUsageType usage, const char *name)
static GPUContext * wrap(Context *ctx)
static Context * unwrap(GPUContext *ctx)