41 virtual void compute_dispatch(
int groups_x_len,
int groups_y_len,
int groups_z_len) = 0;
virtual void render_end()=0
static GPUBackend * get()
virtual Batch * batch_alloc()=0
virtual void compute_dispatch_indirect(StorageBuf *indirect_buf)=0
virtual void compute_dispatch(int groups_x_len, int groups_y_len, int groups_z_len)=0
virtual DrawList * drawlist_alloc(int list_length)=0
virtual void delete_resources()=0
virtual void render_begin()=0
virtual void samplers_update()=0
virtual PixelBuffer * pixelbuf_alloc(size_t size)=0
virtual Context * context_alloc(void *ghost_window, void *ghost_context)=0
virtual QueryPool * querypool_alloc()=0
virtual Texture * texture_alloc(const char *name)=0
virtual FrameBuffer * framebuffer_alloc(const char *name)=0
virtual UniformBuf * uniformbuf_alloc(size_t size, const char *name)=0
virtual IndexBuf * indexbuf_alloc()=0
virtual StorageBuf * storagebuf_alloc(size_t size, GPUUsageType usage, const char *name)=0
virtual void render_step()=0
virtual void shader_cache_dir_clear_old()=0
virtual ~GPUBackend()=default
virtual Fence * fence_alloc()=0
virtual VertBuf * vertbuf_alloc()=0
virtual Shader * shader_alloc(const char *name)=0