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/macros.h"
12 #include "flutter/fml/synchronization/sync_switch.h"
27 const std::shared_ptr<Capabilities>& capabilities)
override;
33 using UniqueHandle = std::unique_ptr<void, decltype(&DestroyWindowHandle)>;
37 std::unique_ptr<Data> data_;
38 std::shared_ptr<ContextMTL> context_;
39 std::shared_ptr<fml::ConcurrentMessageLoop> concurrent_loop_;
40 std::shared_ptr<const fml::SyncSwitch> is_gpu_disabled_sync_switch_;
43 std::shared_ptr<Context> GetContext()
const override;
49 std::unique_ptr<Surface> AcquireSurfaceFrame(
50 std::shared_ptr<Context> context)
override;
59 #endif // FLUTTER_IMPELLER_PLAYGROUND_BACKEND_METAL_PLAYGROUND_IMPL_MTL_H_