41 MTLBackend::platform_exit();
55 void compute_dispatch(
int groups_x_len,
int groups_y_len,
int groups_z_len)
override;
77 void render_step(
bool force_resource_release =
false)
override;
82 static void platform_exit();
84 static void capabilities_init(
MTLContext *ctx);
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
static GPUBackend * get()
void render_begin() override
QueryPool * querypool_alloc() override
static MTLCapabilities & get_capabilities()
void compute_dispatch_indirect(StorageBuf *indirect_buf) override
Context * context_alloc(void *ghost_window, void *ghost_context) override
bool is_inside_render_boundary()
PixelBuffer * pixelbuf_alloc(size_t size) override
FrameBuffer * framebuffer_alloc(const char *name) override
static bool metal_is_supported()
IndexBuf * indexbuf_alloc() override
StorageBuf * storagebuf_alloc(size_t size, GPUUsageType usage, const char *name) override
void render_end() override
void samplers_update() override
Batch * batch_alloc() override
Fence * fence_alloc() override
static MTLBackend * get()
void init_resources() override
void compute_dispatch(int groups_x_len, int groups_y_len, int groups_z_len) override
static MTLCapabilities capabilities
UniformBuf * uniformbuf_alloc(size_t size, const char *name) override
void shader_cache_dir_clear_old() override
VertBuf * vertbuf_alloc() override
void delete_resources() override
Texture * texture_alloc(const char *name) override
Shader * shader_alloc(const char *name) override
void render_step(bool force_resource_release=false) override