25 if ([layer isKindOfClass:[CAMetalLayer
class]]) {
26 switch (context->GetBackend()) {
29 return std::make_unique<IOSSurfaceMetalSkia>(
30 static_cast<CAMetalLayer*
>(layer),
34 FML_LOG(FATAL) <<
"Impeller opt-out unavailable.";
39 return std::make_unique<IOSSurfaceMetalImpeller>(
40 static_cast<CAMetalLayer*
>(layer),
47 return std::make_unique<IOSSurfaceNoop>(std::move(context));
50 return std::make_unique<IOSSurfaceSoftware>(layer,
56 : ios_context_(std::move(ios_context)) {
57 FML_DCHECK(ios_context_);
IOSSurface(std::shared_ptr< IOSContext > ios_context)
static std::unique_ptr< IOSSurface > Create(std::shared_ptr< IOSContext > context, CALayer *layer)
std::shared_ptr< IOSContext > GetContext() const
#define METAL_IOS_VERSION_BASELINE