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.17589 git hash: 6f1c39b52b4f)
Intel 630 Win10:
GL_RENDERER
is ANGLE (Intel, Vulkan 1.2.135 (Intel(R) HD Graphics 630 (0x00005912)), Intel Corporation-100.100.)
GL_VENDOR
is Google Inc. (Intel)
GL_VERSION
is OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)
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.17589 git hash: 6f1c39b52b4f)
Intel 630 Linux:
GL_RENDERER
is ANGLE (Intel, Vulkan 1.1.96 (Intel(R) HD Graphics 630 (Kaby Lake GT2) (0x00005912)), Intel open-source Mesa driver-19.0.2)
GL_VENDOR
is Google Inc. (Intel)
GL_VERSION
is OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)
SwiftShader Win10:
GL_RENDERER
is ANGLE (Google, Vulkan 1.2.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.17589 git hash: 6f1c39b52b4f)
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.17589 git hash: 6f1c39b52b4f)
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.