Flutter Engine
The Flutter Engine
rendering_api_selection.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_RENDERING_API_SELECTION_H_
6#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_RENDERING_API_SELECTION_H_
7
8#include <objc/runtime.h>
9
10#include "flutter/fml/macros.h"
11
12namespace flutter {
13
14enum class IOSRenderingAPI {
16 kMetal,
17};
18
20 kSkia,
22};
23
24// Pass force_software to force software rendering. This is only respected on
25// simulators.
27
29
30} // namespace flutter
31
32// Flutter supports Metal on all devices with Apple A7 SoC or above that have
33// been updated to or past iOS 10.0. The processor was selected as it is the
34// first version at which Metal was supported. The iOS version floor was
35// selected due to the availability of features used by Skia.
36// Support for Metal on simulators was added by Apple in the SDK for iOS 13.
37#if TARGET_OS_SIMULATOR
38#define METAL_IOS_VERSION_BASELINE 13.0
39#else
40#define METAL_IOS_VERSION_BASELINE 10.0
41#endif // TARGET_OS_SIMULATOR
42
43#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_RENDERING_API_SELECTION_H_
@ kMetal
Definition: embedder.h:85
@ kSoftware
Definition: embedder.h:81
IOSRenderingAPI GetRenderingAPIForProcess(bool force_software)
Class GetCoreAnimationLayerClassForRenderingAPI(IOSRenderingAPI rendering_api)