26 const std::shared_ptr<const fml::SyncSwitch>& is_gpu_disabled_sync_switch,
30 [FlutterLogger logImportant:
@"Software rendering is incompatible with Impeller.\n"
31 "Software rendering may have been automatically selected when "
32 "running on a simulator in an environment that does not support "
33 "Metal. Enabling GPU passthrough in your environment may fix "
35 return std::make_unique<IOSContextNoop>();
39 [FlutterLogger logFatal:
@"Impeller opt-out unavailable."];
42 return std::make_unique<IOSContextMetalImpeller>(settings, is_gpu_disabled_sync_switch);
virtual std::shared_ptr< impeller::Context > GetImpellerContext() const
static std::unique_ptr< IOSContext > Create(IOSRenderingAPI api, IOSRenderingBackend backend, const std::shared_ptr< const fml::SyncSwitch > &is_gpu_disabled_sync_switch, const Settings &settings)
Create an iOS context object capable of creating the on-screen and off-screen GPU context for use by ...
virtual ~IOSContext()
Collects the context object. This must happen on the thread on which this object was created.
virtual IOSRenderingBackend GetBackend() const
Get the rendering backend used by this context.
virtual std::shared_ptr< impeller::AiksContext > GetAiksContext() const