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;
fml::Status SetCapabilities(const std::shared_ptr< Capabilities > &capabilities) override
PlaygroundImplMTL(PlaygroundSwitches switches)
SK_API GrDirectContext * GetContext(const SkImage *src)