device RHI support - 2018-04 2020-10
Vulkan version
This section provides data about the relative number of devices that support a particular version of Vulkan. Devices that lack Vulkan support are represented by None. Note that support for one particular version of Vulkan also implies support for any lower version (for example, support for version 1.1 also implies support for 1.0.3).
To declare which version of Vulkan your application requires, you should create a <uses-feature>
element defining android.hardware.vulkan.version
. See FEATURE_VULKAN_HARDWARE_VERSION
for more details on the hardware version. You can also use android.hardware.vulkan.level
to declare a required Vulkan feature level. See FEATURE_VULKAN_HARDWARE_LEVEL
for more details on the feature level.
Vulkan Version | Distribution |
---|---|
None | 45.0% |
Vulkan 1.0.3 | 23.0% |
Vulkan 1.1 | 32.0% |
Data collected during a 7-day period ending on October 30, 2020.
OpenGL ES version
This section provides data about the relative number of devices that support a particular version of OpenGL ES. Note that support for one particular version of OpenGL ES also implies support for any lower version (for example, support for version 2.0 also implies support for 1.1).
To declare which version of OpenGL ES your application requires, you should use the android:glEsVersion
attribute of the <uses-feature>
element. You can also use the <supports-gl-texture>
element to declare the GL compression formats that your application uses.
OpenGL ES Version | Distribution |
---|---|
GL 2.0 | 11.27% |
GL 3.0 | 15.27% |
GL 3.1 | 8.51% |
GL 3.2 | 64.94% |
Data collected during a 7-day period ending on October 30, 2020.
https://developer.android.com/about/dashboards/index.html
OpenGL ES 桌面实现
Hardware Feature Levels | Example devices | What does ANGLE support? |
---|---|---|
11_1 11_0 10_1 |
Modern Desktop PCs Surface Pros |
OpenGL ES 2.0 OpenGL ES 3.0 |
10_0 | OpenGL ES 2.0 | |
9_3 | Windows Phones | OpenGL ES 2.0 (except minor corner cases) |
9_2 9_1 |
Surface RT | OpenGL ES 2.0 (via software emulation) |
None | Raspberry Pi 2 | OpenGL ES 2.0 (via software emulation) |
OpenGL ES 对应的OpenGL
OpenGL ES 支持平台
OpenGL ES 2.0
Supported by:
- The Android platform since Android 2.0 through NDK and Android 2.2 through Java[35]
- AmigaOS on AmigaOne with Warp3D Nova and compatible RadeonHD graphics card.
- Apple iOS 5 or later in iPad, iPad Mini, iPhone 3GS or later, and iPod Touch 3rd generation or later
- BlackBerry devices with BlackBerry OS 7.0 and Blackberry 10, as well as the BlackBerry PlayBook
- Google Native Client
- Various Nokia phones (such as Symbian^3 based Nokia N8, MeeGo based Nokia N9, and Maemo based Nokia N900[36])
- Palm webOS, using the Plug-in Development Kit[33]
- The Pandora console
- The Raspberry Pi
- The Odroid
- Various Samsung mobile phones (such as the Wave)
- Web browsers (WebGL)
- The GCW Zero console
- Android Smartphones and Tablets with Graphic-Chip Mali 200-, 300-, 400-Series
OpenGL ES 3.0
Supported by:
- Android since version 4.3, on devices with appropriate hardware and drivers, including:
- Nexus 7 (2013)
- Nexus 4
- Nexus 5
- Nexus 10
- HTC Butterfly S
- HTC One/One Max
- LG G2
- LG G Pad 8.3
- Samsung Galaxy J5
- Samsung Galaxy J5 (2016)
- Samsung Galaxy S4 (Snapdragon version)
- Samsung Galaxy S5
- Samsung Galaxy Note 3
- Samsung Galaxy Note 10.1 (2014 Edition)
- Sony Xperia M
- Sony Xperia Z/ZL
- Sony Xperia Z1
- Sony Xperia Z Ultra
- Sony Xperia Tablet Z
- iOS since version 7, on devices including:
- BlackBerry 10 OS since version 10.2, on devices including:
Supported by some recent versions of these GPUs:[38][39]
- Adreno 300 and 400 series (Android, BlackBerry 10, Windows Phone 8, Windows RT)
- Mali T600 series onwards (Android, Linux, Windows 7)
- PowerVR Series6 (iOS, Linux)
- Vivante (Android, OS X 10.8.3, Windows 7)
- Nvidia (Android, Linux, Windows 7)
- Intel (Linux)
安卓平台图形接口
# openGL Supportability
# platform status
# (0 12) ES2/ES3 not supported
# [12, 18) ES2 only; for ES3, app do dynamic load/detection
# this applies to the situations that:
# - minimum API is set to less than 18. In this case
# there is no ES3 header/lib support inside NDK
# - the built APK might be running on newer API phones
# with dynamic loading of ES3, the same APK would still be able
# to use ES3. Otherwise, app would stuck with ES2 even phone is
# is newer than the minimum API level (for example, Android-27 etc).
#
# [18, 24) ES2 & ES3
# If app is built to only support API-18 or later,
# set minimum api level to 18 is good enough, NDK supprts ES3
# with the right header and lib files. No need to use ES3 dynamic
# detection.
# [24, infinite) ES2 & ES3 & Vulkan
2018 04 23 设备支持状况
https://github.com/google/angle