mt_internal.h
cross platform rendering playgroundsrc/backend/metal/mt_internal.h
460 B#pragma once
namespace MTL {
class Device;
} // namespace MTL
namespace CA {
class MetalLayer;
class MetalDrawable;
} // namespace CA
namespace mt {
CA::MetalLayer *mt_attach_metal_layer(void *glfw_window, MTL::Device *device);
// +1. caller frees.
void mt_set_current_drawable(CA::MetalDrawable *drawable);
// borrowed.
CA::MetalDrawable *mt_current_drawable();
// drop current.
void mt_clear_current_drawable();
void mt_wait_idle();
} // namespace mt