#ifndef ML_VIDEO_H #define ML_VIDEO_H #include "tier0/platform.h" #include "Metal/Metal.hpp" #include "QuartzCore/QuartzCore.hpp" extern CA::MetalLayer *g_mlLayer; extern MTL::Device *g_mlDevice; extern MTL::CommandQueue *g_mlCommandQueue; extern MTL::CommandBuffer *g_mlCommandBuffer; extern NS::AutoreleasePool *g_mlPool; extern char g_bConfigNotify; extern uint32_t g_nWindowWidth; extern uint32_t g_nWindowHeight; extern CUtlVector g_destroyImageBuffer; extern CUtlVector g_destroyBuffersBuffer; extern MTL::Texture *g_mlDrawableTexture; interface IMetal { public: static void Init(); static void CreatePipelines(); static void Frame(); static void Deinit(); }; #endif