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;
35 using UniqueHandle = std::unique_ptr<void, decltype(&DestroyWindowHandle)>;
39 std::unique_ptr<Data> data_;
40 std::shared_ptr<ContextMTL> context_;
41 std::shared_ptr<fml::ConcurrentMessageLoop> concurrent_loop_;
42 std::shared_ptr<SwapchainTransientsMTL> swapchain_transients_;
43 std::shared_ptr<fml::SyncSwitch> is_gpu_disabled_sync_switch_;
46 std::shared_ptr<Context> GetContext()
const override;
52 std::unique_ptr<Surface> AcquireSurfaceFrame(
53 std::shared_ptr<Context> context)
override;
56 void SetGPUDisabled(
bool disabled)
const override;
RuntimeStageBackend GetRuntimeStageBackend() const override
fml::Status SetCapabilities(const std::shared_ptr< Capabilities > &capabilities) override
PlaygroundImplMTL(PlaygroundSwitches switches)