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.
Note: some data is sampled from older drivers, so might not represent the latest driver support.
Note: some ANGLE extensions are currently missing specifications.
| 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 | ✔ |
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.
NVIDIA 1660 Win10:
GL_RENDERER is ANGLE (NVIDIA, Vulkan 1.2.142 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-456.38.0.0)GL_VENDOR is Google Inc. (NVIDIA)GL_VERSION is OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)Intel 630 Win10:
GL_RENDERER is ANGLE (Intel, Vulkan 1.3.215 (Intel(R) UHD Graphics 630 (0x00009BC5)), Intel Corporation-101.101.)GL_VENDOR is Google Inc. (Intel)GL_VERSION is OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)NVIDIA 1660 Linux:
GL_RENDERER is ANGLE (NVIDIA, Vulkan 1.1.119 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-440.100.0.0)GL_VENDOR is Google Inc. (NVIDIA)GL_VERSION is OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)Intel 630 Linux:
GL_RENDERER is ANGLE (Intel, Vulkan 1.2.131 (Intel(R) UHD Graphics 630 (CML GT2) (0x00009BC5)), Intel open-source Mesa driver-20.0.8)GL_VENDOR is Google Inc. (Intel)GL_VERSION is OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)SwiftShader Win10:
GL_RENDERER is ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)GL_VENDOR is Google Inc. (Google)GL_VERSION is OpenGL ES 3.1.0 (ANGLE 2.1.20572 git hash: 75901296a09f)Pixel 4 Android 11:
GL_RENDERER is ANGLE (Qualcomm, Vulkan 1.1.128 (Adreno (TM) 640 (0x06040001)), Qualcomm Technologies Inc. Adreno Vulkan Driver-512.490.0)GL_VENDOR is Google Inc. (Qualcomm)GL_VERSION is OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)Pixel 6 Android 13:
GL_RENDERER is ANGLE (ARM, Vulkan 1.1.201 (Mali-G78 (0x92020010)), Mali-G78-36.0.0)GL_VENDOR is Google Inc. (ARM)GL_VERSION is OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)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.