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"
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<SwapchainTransientsMTL> swapchain_transients_;
41 std::shared_ptr<fml::SyncSwitch> is_gpu_disabled_sync_switch_;
44 std::shared_ptr<Context> GetContext()
const override;
50 std::unique_ptr<Surface> AcquireSurfaceFrame(
51 std::shared_ptr<Context> context)
override;
54 void SetGPUDisabled(
bool disabled)
const override;
fml::Status SetCapabilities(const std::shared_ptr< Capabilities > &capabilities) override
PlaygroundImplMTL(PlaygroundSwitches switches)