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 P400 Win10:
GL_RENDERER
is ANGLE (NVIDIA, Vulkan 1.2.133 (NVIDIA Quadro P400 (0x00001CB3)), NVIDIA-451.48.0.0)
GL_VENDOR
is Google Inc. (NVIDIA)
GL_VERSION
is OpenGL ES 3.2.0 (ANGLE 2.1.16847 git hash: a097ee2ea7a9)
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.16846 git hash: 22d8115a208b)
NVIDIA P400 Linux:
GL_RENDERER
is ANGLE (NVIDIA, Vulkan 1.1.95 (NVIDIA Quadro P400 (0x00001CB3)), NVIDIA-418.56.0.0)
GL_VENDOR
is Google Inc. (NVIDIA)
GL_VERSION
is OpenGL ES 3.2.0 (ANGLE 2.1.16847 git hash: a097ee2ea7a9)
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.16847 git hash: a097ee2ea7a9)
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.16782 git hash: 368c0ce94472)
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.16847 git hash: a097ee2ea7a9)
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.