27 friend MTLCircularBuffer;
34 MTL_STORAGE_BUF_TYPE_DEFAULT = 0,
35 MTL_STORAGE_BUF_TYPE_UNIFORMBUF = 1,
36 MTL_STORAGE_BUF_TYPE_VERTBUF = 2,
37 MTL_STORAGE_BUF_TYPE_INDEXBUF = 3,
38 MTL_STORAGE_BUF_TYPE_TEXTURE = 4,
39 } storage_source_ = MTL_STORAGE_BUF_TYPE_DEFAULT;
53 bool has_data_ =
false;
62 id<MTLSharedEvent> gpu_write_fence_ = nil;
63 uint64_t host_read_signal_value_ = 0;
78 void bind(
int slot)
override;
80 void clear(uint32_t clear_value)
override;
96 MEM_CXX_CLASS_ALLOC_FUNCS(
"MTLStorageBuf");
Read Guarded memory(de)allocation.
BMesh const char void * data
unsigned long long int uint64_t
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void async_flush_to_host() override
gpu::MTLTexture * texture_
void clear(uint32_t clear_value) override
MTLIndexBuf * index_buffer_
~MTLStorageBuf() override
void copy_sub(VertBuf *src, uint dst_offset, uint src_offset, uint copy_size) override
void update(const void *data) override
gpu::MTLBuffer * metal_buffer_
MTLStorageBuf(size_t size, GPUUsageType usage, const char *name)
id< MTLBuffer > get_metal_buffer()
MTLUniformBuf * uniform_buffer_
void bind(int slot) override
void sync_as_indirect_buffer() override
MTLVertBuf * vertex_buffer_
StorageBuf(size_t size, const char *name)
char name_[DEBUG_NAME_LEN]
TEX_TEMPLATE DataVec texture(T, FltCoord, float=0.0f) RET