5 #ifndef FLUTTER_IMPELLER_PLAYGROUND_BACKEND_METAL_PLAYGROUND_IMPL_MTL_H_
6 #define FLUTTER_IMPELLER_PLAYGROUND_BACKEND_METAL_PLAYGROUND_IMPL_MTL_H_
10 #include "flutter/fml/concurrent_message_loop.h"
11 #include "flutter/fml/synchronization/sync_switch.h"
26 const std::shared_ptr<Capabilities>& capabilities)
override;
32 using UniqueHandle = std::unique_ptr<void, decltype(&DestroyWindowHandle)>;
36 std::unique_ptr<Data> data_;
37 std::shared_ptr<ContextMTL> context_;
38 std::shared_ptr<fml::ConcurrentMessageLoop> concurrent_loop_;
39 std::shared_ptr<const fml::SyncSwitch> is_gpu_disabled_sync_switch_;
42 std::shared_ptr<Context> GetContext()
const override;
48 std::unique_ptr<Surface> AcquireSurfaceFrame(
49 std::shared_ptr<Context> context)
override;
58 #endif // FLUTTER_IMPELLER_PLAYGROUND_BACKEND_METAL_PLAYGROUND_IMPL_MTL_H_