17 const fml::scoped_nsobject<CALayer>& layer) {
22 if ([layer.get() isKindOfClass:[CAMetalLayer
class]]) {
23 switch (context->GetBackend()) {
26 return std::make_unique<IOSSurfaceMetalSkia>(
27 fml::scoped_nsobject<CAMetalLayer>((CAMetalLayer*)layer.get()),
31 FML_LOG(FATAL) <<
"Impeller opt-out unavailable.";
36 return std::make_unique<IOSSurfaceMetalImpeller>(
37 fml::scoped_nsobject<CAMetalLayer>((CAMetalLayer*)layer.get()),
44 return std::make_unique<IOSSurfaceSoftware>(layer,
50 : ios_context_(std::move(ios_context)) {
51 FML_DCHECK(ios_context_);