43 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 1660 Win10:
GL_RENDERER
isANGLE (NVIDIA, Vulkan 1.2.142 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-456.38.0.0)
GL_VENDOR
isGoogle Inc. (NVIDIA)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.19130 git hash: e3933465d88f)
- Data updated July 23, 2022
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.18778 git hash: 4784f091deba)
- Data updated June 1, 2022
NVIDIA 1660 Linux:
GL_RENDERER
isANGLE (NVIDIA, Vulkan 1.1.119 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-440.100.0.0)
GL_VENDOR
isGoogle Inc. (NVIDIA)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.19130 git hash: e3933465d88f)
- Data updated July 23, 2022
Intel 630 Linux:
GL_RENDERER
isANGLE (Intel, Vulkan 1.2.131 (Intel(R) UHD Graphics 630 (CML GT2) (0x00009BC5)), Intel open-source Mesa driver-20.0.8)
GL_VENDOR
isGoogle Inc. (Intel)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.19130 git hash: e3933465d88f)
- Data updated July 23, 2022
SwiftShader Win10:
GL_RENDERER
isANGLE (Google, Vulkan 1.3.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.19130 git hash: e3933465d88f)
- Data updated July 23, 2022
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.19130 git hash: e3933465d88f)
- Data updated July 24, 2022
Pixel 6 Android 13:
GL_RENDERER
isANGLE (ARM, Vulkan 1.1.201 (Mali-G78 (0x92020010)), Mali-G78-35.0.0)
GL_VENDOR
isGoogle Inc. (ARM)
GL_VERSION
isOpenGL ES 3.2.0 (ANGLE 2.1.19130 git hash: e3933465d88f)
- Data updated July 24, 2022
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
or GLinfo_ES3_1_Vulkan_SwiftShader.json
for
SwiftShader.
All data except for GLES 1 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 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.
Also update update_extension_data.py
as necessary.