40 KiB
ANGLE Supported Extensions
This is a list of all extensions currently supported by ANGLE's front-end, and
support listed for some of the tested targets for ANGLE's Vulkan back-end. To
produce a list of all supported extensions in the Vulkan back-end, run
angle_end2end_tests
with --gtest_filter EGLPrintEGLinfoTest.PrintGLInfo/ES*_Vulkan
.
Specifications for GLES extensions can be found in the Khronos OpenGL ES API Registry
Specifications for EGL extensions can be found in the Khronos EGL API Registry
Specifications for ANGLE-specific extensions can be found in the ANGLE extension registry
This list is automatically generated by gen_extensions.py
using data from registry_xml.py and gl.xml.
GLES 2.0, 3.0, 3.1 and 3.2 extension support
Note: some data is sampled from older drivers, so might not represent the latest driver support.
ANGLE unofficial extension support
Note: some ANGLE extensions are currently missing specifications.
GLES 1.0 and 1.1 extension support
Extension Name | SwiftShader Win10 |
---|---|
GL_OES_draw_texture | ✔ |
GL_OES_framebuffer_object | ✔ |
GL_OES_matrix_palette | ❌ |
GL_OES_point_size_array | ✔ |
GL_OES_point_sprite | ✔ |
GL_OES_query_matrix | ❌ |
GL_OES_texture_cube_map | ✔ |
EGL extension support
Currently EGL extensions are not automatically tracked by our scripting. For a
list of supported EGL extensions in ANGLE's front-end see
src/libANGLE/Caps.h
.
Configuration information
NVIDIA P400 Win10:
GL_RENDERER
isANGLE (NVIDIA, Vulkan 1.2.133 (NVIDIA Quadro P400 (0x00001CB3)), NVIDIA-451.48.0.0)
GL_VENDOR
isGoogle Inc. (NVIDIA)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.16847 git hash: a097ee2ea7a9)
- Data updated October 1, 2021
Intel 630 Win10:
GL_RENDERER
isANGLE (Intel, Vulkan 1.2.135 (Intel(R) HD Graphics 630 (0x00005912)), Intel Corporation-100.100.)
GL_VENDOR
isGoogle Inc. (Intel)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.16846 git hash: 22d8115a208b)
- Data updated October 1, 2021
NVIDIA P400 Linux:
GL_RENDERER
isANGLE (NVIDIA, Vulkan 1.1.95 (NVIDIA Quadro P400 (0x00001CB3)), NVIDIA-418.56.0.0)
GL_VENDOR
isGoogle Inc. (NVIDIA)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.16847 git hash: a097ee2ea7a9)
- Data updated October 1, 2021
Intel 630 Linux:
GL_RENDERER
isANGLE (Intel, Vulkan 1.1.96 (Intel(R) HD Graphics 630 (Kaby Lake GT2) (0x00005912)), Intel open-source Mesa driver-19.0.2)
GL_VENDOR
isGoogle Inc. (Intel)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.16847 git hash: a097ee2ea7a9)
- Data updated October 1, 2021
SwiftShader Win10:
GL_RENDERER
isANGLE (Google, Vulkan 1.2.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)
GL_VENDOR
isGoogle Inc. (Google)
GL_VERSION
isOpenGL ES 3.1.0 (ANGLE 2.1.16782 git hash: 368c0ce94472)
- Data updated September 23, 2021
Pixel 4 Android 11:
GL_RENDERER
isANGLE (Qualcomm, Vulkan 1.1.128 (Adreno (TM) 640 (0x06040001)), Qualcomm Technologies Inc. Adreno Vulkan Driver-512.490.0)
GL_VENDOR
isGoogle Inc. (Qualcomm)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.16847 git hash: a097ee2ea7a9)
- Data updated October 1, 2021
How to update supported extension data
Supported extension data is stored in the ANGLE repo as JSON files in
scripts/extension_data
. The JSON data is
sourced from public ANGLE test runs. Look for angle_end2end_tests
in a bot
run: example link.
Search for "angle_end2end_tests
", then click on the "cas output" and find
GLinfo_ES3_2_Vulkan.json
.
The Pixel 4 and GLES 3 NVIDIA and Intel data is automatically updated using
the update_extension_data.py
script.
To use it first authenticate to the bb
and luci-go
tools by running bb auth-login
and ./tools/luci-go/swarming login
. Then run the script and
re-run code generation.
The GLES 1 and SwiftShader data is currently manually updated. Find the relevant file from the task output (see above) and overwrite the correspoding file. Re-run code generation and create a CL as per our normal process.
To add a new configuration, first retrieve the JSON data, modify
gen_extensions.py
as necessary, then
run scripts/run_code_generation.py
to refresh generated files.