aosp12/external/angle/doc/ExtensionSupport.md

2.2 KiB

Introduction

This page details the extensions that are supported by ANGLE.

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] (http://www.khronos.org/registry/egl/)

Specifications for ANGLE-specific extensions can be found in the ANGLE extension registry

Details

GLES extensions

  • GL_OES_element_index_uint (fn1)
  • GL_OES_get_program_binary
  • GL_OES_packed_depth_stencil
  • GL_OES_rgb8_rgba8
  • GL_OES_standard_derivatives
  • GL_OES_texture_half_float (fn1)
  • GL_OES_texture_half_float_linear (fn1)
  • GL_OES_texture_float (fn1)
  • GL_OES_texture_float_linear (fn1)
  • GL_OES_texture_npot (fn1)
  • GL_EXT_occlusion_query_boolean (fn1)
  • GL_EXT_read_format_bgra
  • GL_EXT_robustness
    • reset notifications and sized queries only, no robust buffer access
  • GL_EXT_texture_compression_dxt1 (fn1)
  • GL_EXT_texture_filter_anisotropic (fn1)
  • GL_EXT_texture_format_BGRA8888
  • GL_EXT_texture_storage
  • GL_ANGLE_depth_texture
  • GL_ANGLE_framebuffer_blit
  • GL_ANGLE_framebuffer_multisample (fn1)
  • GL_ANGLE_instanced_arrays
    • requires SM3 support
  • GL_ANGLE_pack_reverse_row_order
  • GL_ANGLE_texture_compression_dxt3 (fn1)
  • GL_ANGLE_texture_compression_dxt5 (fn1)
  • GL_ANGLE_texture_usage
  • GL_ANGLE_translated_shader_source
  • GL_NV_fence (fn1)

EGL Extensions

  • EGL_EXT_create_context_robustness
    • only reset notifications supported
  • EGL_ANGLE_d3d_share_handle_client_buffer (fn2)
  • EGL_ANGLE_query_surface_pointer
  • EGL_ANGLE_software_display (fn3)
  • EGL_ANGLE_surface_d3d_texture_2d_share_handle (fn2)
  • EGL_NV_post_sub_buffer

Notes

  • fn1: extensions are only exposed if underlying D3D9 device has support for the required features
  • fn2: extensions are only exposed when running on D3D9Ex (ie Win Vista/7)
  • fn3: extension is only exposed when swiftshader is present