40 int handle_refcount_ = 1;
81 if (handle_refcount_ == 0) {
87 virtual const void *
read()
const = 0;
88 virtual void *
unmap(
const void *mapped_data)
const = 0;
105 return reinterpret_cast<VertBuf *
>(vert);
109 return reinterpret_cast<const VertBuf *
>(vert);
struct GPUVertBuf GPUVertBuf
virtual void wrap_handle(uint64_t handle)=0
size_t size_used_get() const
size_t size_alloc_get() const
virtual void bind_as_ssbo(uint binding)=0
static size_t memory_usage
void resize(uint vert_len)
virtual void upload_data()=0
virtual void * unmap(const void *mapped_data) const =0
void init(const GPUVertFormat *format, GPUUsageType usage)
virtual const void * read() const =0
void allocate(uint vert_len)
virtual void duplicate_data(VertBuf *dst)=0
virtual void resize_data()=0
virtual void bind_as_texture(uint binding)=0
virtual void release_data()=0
virtual void acquire_data()=0
virtual void update_sub(uint start, uint len, const void *data)=0
static GPUContext * wrap(Context *ctx)
static Context * unwrap(GPUContext *ctx)
unsigned __int64 uint64_t