41 MTLBackend::platform_exit();
56 void compute_dispatch(
int groups_x_len,
int groups_y_len,
int groups_z_len)
override;
84 static void platform_exit();
86 static void capabilities_init(
MTLContext *ctx);
static GPUBackend * get()
void render_step() override
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 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
DrawList * drawlist_alloc(int list_length) override
Shader * shader_alloc(const char *name) override