Fetch gl.xml, egl.xml from Github repos
authorAlexander Galazin <alexander.galazin@arm.com>
Fri, 24 Feb 2017 20:47:42 +0000 (21:47 +0100)
committerMika Isojärvi <misojarvi@google.com>
Thu, 13 Jul 2017 21:00:22 +0000 (14:00 -0700)
SVN repository containing gl.xml and egl.xml is no longer updated.
The new locations for these files are OpenGL-Registry and
EGL-Registry repositories on Github.
Adjust fetching scripts to use the new locations.

Components: Framework
Affects: headers generation

Change-Id: Ic091a46c636d446b6a4751bd3b797bcd19f90014

59 files changed:
android/cts/master/egl-master.txt
framework/egl/egluCallLogWrapper.inl
framework/egl/egluCallLogWrapperApi.inl
framework/egl/egluStaticES20Library.inl
framework/egl/egluStaticES30Library.inl
framework/egl/egluStrUtil.inl
framework/egl/egluStrUtilPrototypes.inl
framework/egl/wrapper/eglwApi.inl
framework/egl/wrapper/eglwEnums.inl
framework/egl/wrapper/eglwEnumsC.inl [new file with mode: 0644]
framework/egl/wrapper/eglwFuncPtrLibraryDecl.inl
framework/egl/wrapper/eglwFuncPtrLibraryImpl.inl
framework/egl/wrapper/eglwFunctionTypes.inl
framework/egl/wrapper/eglwFunctions.inl
framework/egl/wrapper/eglwImpl.inl [new file with mode: 0644]
framework/egl/wrapper/eglwImplExt.inl [new file with mode: 0644]
framework/egl/wrapper/eglwInitCore.inl
framework/egl/wrapper/eglwInitExtensions.inl
framework/egl/wrapper/eglwLibrary.inl
framework/egl/wrapper/eglwStaticLibrary14.inl
framework/egl/wrapper/eglwStaticLibrary15.inl
framework/opengl/gluCallLogUtil.inl
framework/opengl/gluCallLogWrapper.inl
framework/opengl/gluCallLogWrapperApi.inl
framework/opengl/gluES3PlusWrapperFuncs.inl
framework/opengl/gluQueryUtil.inl
framework/opengl/gluStrUtil.inl
framework/opengl/gluStrUtilPrototypes.inl
framework/opengl/wrapper/glwApi.inl
framework/opengl/wrapper/glwEnums.inl
framework/opengl/wrapper/glwFunctionTypes.inl
framework/opengl/wrapper/glwFunctions.inl
framework/opengl/wrapper/glwImpl.inl
framework/opengl/wrapper/glwInitES20.inl
framework/opengl/wrapper/glwInitES20Direct.inl
framework/opengl/wrapper/glwInitES30.inl
framework/opengl/wrapper/glwInitES30Direct.inl
framework/opengl/wrapper/glwInitES31.inl
framework/opengl/wrapper/glwInitES31Direct.inl
framework/opengl/wrapper/glwInitES32.inl
framework/opengl/wrapper/glwInitES32Direct.inl
framework/opengl/wrapper/glwInitExtES.inl
framework/opengl/wrapper/glwInitExtGL.inl
framework/opengl/wrapper/glwInitGL30.inl
framework/opengl/wrapper/glwInitGL31.inl
framework/opengl/wrapper/glwInitGL32.inl
framework/opengl/wrapper/glwInitGL33.inl
framework/opengl/wrapper/glwInitGL40.inl
framework/opengl/wrapper/glwInitGL41.inl
framework/opengl/wrapper/glwInitGL42.inl
framework/opengl/wrapper/glwInitGL43.inl
framework/opengl/wrapper/glwInitGL44.inl
framework/opengl/wrapper/glwInitGL45.inl
framework/platform/null/tcuNullRenderContextFuncs.inl
framework/platform/null/tcuNullRenderContextInitFuncs.inl
modules/egl/teglGetProcAddressTests.inl
scripts/egl/common.py
scripts/khr_util/registry_cache.py
scripts/opengl/src_util.py

index a6b4a24..93332e8 100644 (file)
@@ -2447,6 +2447,7 @@ dEQP-EGL.functional.get_proc_address.extension.gl_angle_translated_shader_source
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_base_instance
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_blend_func_extended
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_buffer_storage
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_clear_texture
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_copy_image
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_debug_label
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_debug_marker
@@ -2455,20 +2456,26 @@ dEQP-EGL.functional.get_proc_address.extension.gl_ext_draw_buffers
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_draw_buffers_indexed
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_draw_elements_base_vertex
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_draw_instanced
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_draw_transform_feedback
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_geometry_shader
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_instanced_arrays
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_multi_draw_indirect
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_multiview_draw_buffers
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_occlusion_query_boolean
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_polygon_offset_clamp
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_primitive_bounding_box
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_raster_multisample
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_separate_shader_objects
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_shader_pixel_local_storage2
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_sparse_texture
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_tessellation_shader
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_border_clamp
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_buffer
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_filter_minmax
 dEQP-EGL.functional.get_proc_address.extension.gl_ext_texture_view
+dEQP-EGL.functional.get_proc_address.extension.gl_ext_window_rectangles
+dEQP-EGL.functional.get_proc_address.extension.gl_img_bindless_texture
+dEQP-EGL.functional.get_proc_address.extension.gl_img_framebuffer_downsample
 dEQP-EGL.functional.get_proc_address.extension.gl_intel_framebuffer_cmaa
 dEQP-EGL.functional.get_proc_address.extension.gl_intel_performance_query
 dEQP-EGL.functional.get_proc_address.extension.gl_khr_blend_equation_advanced
@@ -2478,6 +2485,7 @@ dEQP-EGL.functional.get_proc_address.extension.gl_nv_bindless_texture
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_blend_equation_advanced
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_conditional_render
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_conservative_raster
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_conservative_raster_pre_snap_triangles
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_copy_buffer
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_coverage_sample
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_draw_buffers
@@ -2486,6 +2494,7 @@ dEQP-EGL.functional.get_proc_address.extension.gl_nv_fragment_coverage_to_color
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_framebuffer_blit
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_framebuffer_mixed_samples
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_framebuffer_multisample
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_gpu_shader5
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_instanced_arrays
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_internalformat_sample_query
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_non_square_matrices
@@ -2494,6 +2503,7 @@ dEQP-EGL.functional.get_proc_address.extension.gl_nv_polygon_mode
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_read_buffer
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_sample_locations
 dEQP-EGL.functional.get_proc_address.extension.gl_nv_viewport_array
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_viewport_swizzle
 dEQP-EGL.functional.get_proc_address.extension.gl_oes_copy_image
 dEQP-EGL.functional.get_proc_address.extension.gl_oes_draw_buffers_indexed
 dEQP-EGL.functional.get_proc_address.extension.gl_oes_draw_elements_base_vertex
@@ -2507,8 +2517,12 @@ dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_border_clamp
 dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_buffer
 dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_storage_multisample_2d_array
 dEQP-EGL.functional.get_proc_address.extension.gl_oes_texture_view
+dEQP-EGL.functional.get_proc_address.extension.gl_oes_viewport_array
 dEQP-EGL.functional.get_proc_address.extension.gl_ovr_multiview
+dEQP-EGL.functional.get_proc_address.extension.gl_ovr_multiview_multisampled_render_to_texture
 dEQP-EGL.functional.get_proc_address.extension.gl_qcom_alpha_test
+dEQP-EGL.functional.get_proc_address.extension.gl_qcom_framebuffer_foveated
+dEQP-EGL.functional.get_proc_address.extension.gl_nv_draw_vulkan_image
 dEQP-EGL.functional.get_proc_address.core.egl
 dEQP-EGL.functional.get_proc_address.core.gles
 dEQP-EGL.functional.get_proc_address.core.gles2
index ee49459..f977b56 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 
 eglw::EGLBoolean CallLogWrapper::eglBindAPI (eglw::EGLenum api)
index 99df24b..a61493a 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 eglw::EGLBoolean                                                               eglBindAPI                                                      (eglw::EGLenum api);
 eglw::EGLBoolean                                                               eglBindTexImage                                         (eglw::EGLDisplay dpy, eglw::EGLSurface surface, eglw::EGLint buffer);
index fe4f4dc..bfc637c 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
        { "glActiveTexture",                                            (deFunctionPtr)glActiveTexture },
        { "glAttachShader",                                                     (deFunctionPtr)glAttachShader },
index c3cbc28..3f6a7e5 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
        { "glActiveTexture",                                            (deFunctionPtr)glActiveTexture },
        { "glAttachShader",                                                     (deFunctionPtr)glAttachShader },
index 2c563e5..b081316 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 
 const char* getBooleanName (int value)
index 839837f..97a43a9 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 const char*                                                    getBooleanName                          (int value);
 const char*                                                    getBoolDontCareName                     (int value);
index fadb2a9..2d26cb9 100644 (file)
@@ -1,7 +1,11 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
+<<<<<<< HEAD
  * Generated from Khronos EGL API description (egl.xml) revision 28861.
+=======
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
+>>>>>>> 2528a63a9... Fetch gl.xml, egl.xml from Github repos
  */
 #define                                                                                eglBindAPI                                                      eglwBindAPI
 #define                                                                                eglBindTexImage                                         eglwBindTexImage
index edb58c5..1822da9 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 #define EGL_PBUFFER_BIT                                                                                0x0001
 #define EGL_PIXMAP_BIT                                                                         0x0002
diff --git a/framework/egl/wrapper/eglwEnumsC.inl b/framework/egl/wrapper/eglwEnumsC.inl
new file mode 100644 (file)
index 0000000..c3ab2ef
--- /dev/null
@@ -0,0 +1,269 @@
+/* WARNING: This is auto-generated file. Do not modify, since changes will
+ * be lost! Modify the generating script instead.
+ *
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
+ */
+#define EGL_PBUFFER_BIT                                                                                0x0001
+#define EGL_PIXMAP_BIT                                                                         0x0002
+#define EGL_WINDOW_BIT                                                                         0x0004
+#define EGL_VG_COLORSPACE_LINEAR_BIT                                           0x0020
+#define EGL_VG_ALPHA_FORMAT_PRE_BIT                                                    0x0040
+#define EGL_LOCK_SURFACE_BIT_KHR                                                       0x0080
+#define EGL_OPTIMAL_FORMAT_BIT_KHR                                                     0x0100
+#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT                                                0x0200
+#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT                                                0x0400
+#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR                                      0x1000
+#define EGL_OPENGL_ES_BIT                                                                      0x0001
+#define EGL_OPENVG_BIT                                                                         0x0002
+#define EGL_OPENGL_ES2_BIT                                                                     0x0004
+#define EGL_OPENGL_BIT                                                                         0x0008
+#define EGL_OPENGL_ES3_BIT                                                                     0x00000040
+#define EGL_OPENGL_ES3_BIT_KHR                                                         0x00000040
+#define EGL_READ_SURFACE_BIT_KHR                                                       0x0001
+#define EGL_WRITE_SURFACE_BIT_KHR                                                      0x0002
+#define EGL_SYNC_FLUSH_COMMANDS_BIT                                                    0x0001
+#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR                                                0x0001
+#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR                                       0x00000001
+#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR          0x00000002
+#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR                       0x00000004
+#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT                                    0x00000001
+#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR                                0x00000001
+#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT           0x00000002
+#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR       0x00000002
+#define EGL_FALSE                                                                                      0
+#define EGL_TRUE                                                                                       1
+#define EGL_DONT_CARE                                                                          ((EGLint)-1)
+#define EGL_UNKNOWN                                                                                    ((EGLint)-1)
+#define EGL_NO_CONTEXT                                                                         ((EGLContext)0)
+#define EGL_NO_DISPLAY                                                                         ((EGLDisplay)0)
+#define EGL_NO_IMAGE                                                                           ((EGLImage)0)
+#define EGL_NO_IMAGE_KHR                                                                       ((EGLImageKHR)0)
+#define EGL_DEFAULT_DISPLAY                                                                    ((EGLNativeDisplayType)0)
+#define EGL_NO_SURFACE                                                                         ((EGLSurface)0)
+#define EGL_NO_SYNC                                                                                    ((EGLSync)0)
+#define EGL_NO_SYNC_KHR                                                                                ((EGLSyncKHR)0)
+#define EGL_DISPLAY_SCALING                                                                    10000
+#define EGL_FOREVER                                                                                    0xFFFFFFFFFFFFFFFFull
+#define EGL_FOREVER_KHR                                                                                0xFFFFFFFFFFFFFFFFull
+#define EGL_SUCCESS                                                                                    0x3000
+#define EGL_NOT_INITIALIZED                                                                    0x3001
+#define EGL_BAD_ACCESS                                                                         0x3002
+#define EGL_BAD_ALLOC                                                                          0x3003
+#define EGL_BAD_ATTRIBUTE                                                                      0x3004
+#define EGL_BAD_CONFIG                                                                         0x3005
+#define EGL_BAD_CONTEXT                                                                                0x3006
+#define EGL_BAD_CURRENT_SURFACE                                                                0x3007
+#define EGL_BAD_DISPLAY                                                                                0x3008
+#define EGL_BAD_MATCH                                                                          0x3009
+#define EGL_BAD_NATIVE_PIXMAP                                                          0x300A
+#define EGL_BAD_NATIVE_WINDOW                                                          0x300B
+#define EGL_BAD_PARAMETER                                                                      0x300C
+#define EGL_BAD_SURFACE                                                                                0x300D
+#define EGL_CONTEXT_LOST                                                                       0x300E
+#define EGL_BUFFER_SIZE                                                                                0x3020
+#define EGL_ALPHA_SIZE                                                                         0x3021
+#define EGL_BLUE_SIZE                                                                          0x3022
+#define EGL_GREEN_SIZE                                                                         0x3023
+#define EGL_RED_SIZE                                                                           0x3024
+#define EGL_DEPTH_SIZE                                                                         0x3025
+#define EGL_STENCIL_SIZE                                                                       0x3026
+#define EGL_CONFIG_CAVEAT                                                                      0x3027
+#define EGL_CONFIG_ID                                                                          0x3028
+#define EGL_LEVEL                                                                                      0x3029
+#define EGL_MAX_PBUFFER_HEIGHT                                                         0x302A
+#define EGL_MAX_PBUFFER_PIXELS                                                         0x302B
+#define EGL_MAX_PBUFFER_WIDTH                                                          0x302C
+#define EGL_NATIVE_RENDERABLE                                                          0x302D
+#define EGL_NATIVE_VISUAL_ID                                                           0x302E
+#define EGL_NATIVE_VISUAL_TYPE                                                         0x302F
+#define EGL_SAMPLES                                                                                    0x3031
+#define EGL_SAMPLE_BUFFERS                                                                     0x3032
+#define EGL_SURFACE_TYPE                                                                       0x3033
+#define EGL_TRANSPARENT_TYPE                                                           0x3034
+#define EGL_TRANSPARENT_BLUE_VALUE                                                     0x3035
+#define EGL_TRANSPARENT_GREEN_VALUE                                                    0x3036
+#define EGL_TRANSPARENT_RED_VALUE                                                      0x3037
+#define EGL_NONE                                                                                       0x3038
+#define EGL_BIND_TO_TEXTURE_RGB                                                                0x3039
+#define EGL_BIND_TO_TEXTURE_RGBA                                                       0x303A
+#define EGL_MIN_SWAP_INTERVAL                                                          0x303B
+#define EGL_MAX_SWAP_INTERVAL                                                          0x303C
+#define EGL_LUMINANCE_SIZE                                                                     0x303D
+#define EGL_ALPHA_MASK_SIZE                                                                    0x303E
+#define EGL_COLOR_BUFFER_TYPE                                                          0x303F
+#define EGL_RENDERABLE_TYPE                                                                    0x3040
+#define EGL_MATCH_NATIVE_PIXMAP                                                                0x3041
+#define EGL_CONFORMANT                                                                         0x3042
+#define EGL_MATCH_FORMAT_KHR                                                           0x3043
+#define EGL_SLOW_CONFIG                                                                                0x3050
+#define EGL_NON_CONFORMANT_CONFIG                                                      0x3051
+#define EGL_TRANSPARENT_RGB                                                                    0x3052
+#define EGL_VENDOR                                                                                     0x3053
+#define EGL_VERSION                                                                                    0x3054
+#define EGL_EXTENSIONS                                                                         0x3055
+#define EGL_HEIGHT                                                                                     0x3056
+#define EGL_WIDTH                                                                                      0x3057
+#define EGL_LARGEST_PBUFFER                                                                    0x3058
+#define EGL_DRAW                                                                                       0x3059
+#define EGL_READ                                                                                       0x305A
+#define EGL_CORE_NATIVE_ENGINE                                                         0x305B
+#define EGL_NO_TEXTURE                                                                         0x305C
+#define EGL_TEXTURE_RGB                                                                                0x305D
+#define EGL_TEXTURE_RGBA                                                                       0x305E
+#define EGL_TEXTURE_2D                                                                         0x305F
+#define EGL_TEXTURE_FORMAT                                                                     0x3080
+#define EGL_TEXTURE_TARGET                                                                     0x3081
+#define EGL_MIPMAP_TEXTURE                                                                     0x3082
+#define EGL_MIPMAP_LEVEL                                                                       0x3083
+#define EGL_BACK_BUFFER                                                                                0x3084
+#define EGL_SINGLE_BUFFER                                                                      0x3085
+#define EGL_RENDER_BUFFER                                                                      0x3086
+#define EGL_COLORSPACE                                                                         0x3087
+#define EGL_COLORSPACE                                                                         0x3087
+#define EGL_ALPHA_FORMAT                                                                       0x3088
+#define EGL_ALPHA_FORMAT                                                                       0x3088
+#define EGL_COLORSPACE_sRGB                                                                    0x3089
+#define EGL_GL_COLORSPACE_SRGB                                                         0x3089
+#define EGL_VG_COLORSPACE_sRGB                                                         0x3089
+#define EGL_COLORSPACE_LINEAR                                                          0x308A
+#define EGL_GL_COLORSPACE_LINEAR                                                       0x308A
+#define EGL_VG_COLORSPACE_LINEAR                                                       0x308A
+#define EGL_ALPHA_FORMAT_NONPRE                                                                0x308B
+#define EGL_ALPHA_FORMAT_NONPRE                                                                0x308B
+#define EGL_ALPHA_FORMAT_PRE                                                           0x308C
+#define EGL_ALPHA_FORMAT_PRE                                                           0x308C
+#define EGL_CLIENT_APIS                                                                                0x308D
+#define EGL_RGB_BUFFER                                                                         0x308E
+#define EGL_LUMINANCE_BUFFER                                                           0x308F
+#define EGL_HORIZONTAL_RESOLUTION                                                      0x3090
+#define EGL_VERTICAL_RESOLUTION                                                                0x3091
+#define EGL_PIXEL_ASPECT_RATIO                                                         0x3092
+#define EGL_SWAP_BEHAVIOR                                                                      0x3093
+#define EGL_BUFFER_PRESERVED                                                           0x3094
+#define EGL_BUFFER_DESTROYED                                                           0x3095
+#define EGL_OPENVG_IMAGE                                                                       0x3096
+#define EGL_CONTEXT_CLIENT_TYPE                                                                0x3097
+#define EGL_CONTEXT_CLIENT_VERSION                                                     0x3098
+#define EGL_CONTEXT_MAJOR_VERSION                                                      0x3098
+#define EGL_CONTEXT_MAJOR_VERSION_KHR                                          0x3098
+#define EGL_MULTISAMPLE_RESOLVE                                                                0x3099
+#define EGL_MULTISAMPLE_RESOLVE_DEFAULT                                                0x309A
+#define EGL_MULTISAMPLE_RESOLVE_BOX                                                    0x309B
+#define EGL_CL_EVENT_HANDLE                                                                    0x309C
+#define EGL_GL_COLORSPACE                                                                      0x309D
+#define EGL_OPENGL_ES_API                                                                      0x30A0
+#define EGL_OPENVG_API                                                                         0x30A1
+#define EGL_OPENGL_API                                                                         0x30A2
+#define EGL_GL_TEXTURE_2D                                                                      0x30B1
+#define EGL_GL_TEXTURE_2D_KHR                                                          0x30B1
+#define EGL_GL_TEXTURE_3D                                                                      0x30B2
+#define EGL_GL_TEXTURE_3D_KHR                                                          0x30B2
+#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X                                     0x30B3
+#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR                         0x30B3
+#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X                                     0x30B4
+#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR                         0x30B4
+#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y                                     0x30B5
+#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR                         0x30B5
+#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y                                     0x30B6
+#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR                         0x30B6
+#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z                                     0x30B7
+#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR                         0x30B7
+#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z                                     0x30B8
+#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR                         0x30B8
+#define EGL_GL_RENDERBUFFER                                                                    0x30B9
+#define EGL_GL_RENDERBUFFER_KHR                                                                0x30B9
+#define EGL_GL_TEXTURE_LEVEL                                                           0x30BC
+#define EGL_GL_TEXTURE_LEVEL_KHR                                                       0x30BC
+#define EGL_GL_TEXTURE_ZOFFSET                                                         0x30BD
+#define EGL_GL_TEXTURE_ZOFFSET_KHR                                                     0x30BD
+#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT                           0x30BF
+#define EGL_FORMAT_RGB_565_EXACT_KHR                                           0x30C0
+#define EGL_FORMAT_RGB_565_KHR                                                         0x30C1
+#define EGL_FORMAT_RGBA_8888_EXACT_KHR                                         0x30C2
+#define EGL_FORMAT_RGBA_8888_KHR                                                       0x30C3
+#define EGL_MAP_PRESERVE_PIXELS_KHR                                                    0x30C4
+#define EGL_LOCK_USAGE_HINT_KHR                                                                0x30C5
+#define EGL_BITMAP_POINTER_KHR                                                         0x30C6
+#define EGL_BITMAP_PITCH_KHR                                                           0x30C7
+#define EGL_BITMAP_ORIGIN_KHR                                                          0x30C8
+#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR                                                0x30C9
+#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR                                      0x30CA
+#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR                                       0x30CB
+#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR                                      0x30CC
+#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR                          0x30CD
+#define EGL_LOWER_LEFT_KHR                                                                     0x30CE
+#define EGL_UPPER_LEFT_KHR                                                                     0x30CF
+#define EGL_IMAGE_PRESERVED                                                                    0x30D2
+#define EGL_IMAGE_PRESERVED_KHR                                                                0x30D2
+#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE                                       0x30F0
+#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR                           0x30F0
+#define EGL_SYNC_STATUS                                                                                0x30F1
+#define EGL_SYNC_STATUS_KHR                                                                    0x30F1
+#define EGL_SIGNALED                                                                           0x30F2
+#define EGL_SIGNALED_KHR                                                                       0x30F2
+#define EGL_UNSIGNALED                                                                         0x30F3
+#define EGL_UNSIGNALED_KHR                                                                     0x30F3
+#define EGL_TIMEOUT_EXPIRED                                                                    0x30F5
+#define EGL_TIMEOUT_EXPIRED_KHR                                                                0x30F5
+#define EGL_CONDITION_SATISFIED                                                                0x30F6
+#define EGL_CONDITION_SATISFIED_KHR                                                    0x30F6
+#define EGL_SYNC_TYPE                                                                          0x30F7
+#define EGL_SYNC_TYPE_KHR                                                                      0x30F7
+#define EGL_SYNC_CONDITION                                                                     0x30F8
+#define EGL_SYNC_CONDITION_KHR                                                         0x30F8
+#define EGL_SYNC_FENCE                                                                         0x30F9
+#define EGL_SYNC_FENCE_KHR                                                                     0x30F9
+#define EGL_SYNC_REUSABLE_KHR                                                          0x30FA
+#define EGL_CONTEXT_MINOR_VERSION                                                      0x30FB
+#define EGL_CONTEXT_MINOR_VERSION_KHR                                          0x30FB
+#define EGL_CONTEXT_FLAGS_KHR                                                          0x30FC
+#define EGL_CONTEXT_OPENGL_PROFILE_MASK                                                0x30FD
+#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR                                    0x30FD
+#define EGL_SYNC_CL_EVENT                                                                      0x30FE
+#define EGL_SYNC_CL_EVENT_COMPLETE                                                     0x30FF
+#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT     0x3138
+#define EGL_BUFFER_AGE_KHR                                                                     0x313D
+#define EGL_BUFFER_AGE_EXT                                                                     0x313D
+#define EGL_NATIVE_BUFFER_ANDROID                                                      0x3140
+#define EGL_CONTEXT_OPENGL_DEBUG                                                       0x31B0
+#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE                          0x31B1
+#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS                                       0x31B2
+#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR     0x31BD
+#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR     0x31BD
+#define EGL_NO_RESET_NOTIFICATION                                                      0x31BE
+#define EGL_NO_RESET_NOTIFICATION_KHR                                          0x31BE
+#define EGL_NO_RESET_NOTIFICATION_EXT                                          0x31BE
+#define EGL_LOSE_CONTEXT_ON_RESET                                                      0x31BF
+#define EGL_LOSE_CONTEXT_ON_RESET_KHR                                          0x31BF
+#define EGL_LOSE_CONTEXT_ON_RESET_EXT                                          0x31BF
+#define EGL_PLATFORM_X11_EXT                                                           0x31D5
+#define EGL_PLATFORM_X11_SCREEN_EXT                                                    0x31D6
+#define EGL_PLATFORM_WAYLAND_KHR                                                       0x31D8
+#define EGL_YUV_BUFFER_EXT                                                                     0x3300
+#define EGL_YUV_ORDER_EXT                                                                      0x3301
+#define EGL_YUV_ORDER_YUV_EXT                                                          0x3302
+#define EGL_YUV_ORDER_YVU_EXT                                                          0x3303
+#define EGL_YUV_ORDER_YUYV_EXT                                                         0x3304
+#define EGL_YUV_ORDER_UYVY_EXT                                                         0x3305
+#define EGL_YUV_ORDER_YVYU_EXT                                                         0x3306
+#define EGL_YUV_ORDER_VYUY_EXT                                                         0x3307
+#define EGL_YUV_ORDER_AYUV_EXT                                                         0x3308
+#define EGL_YUV_CSC_STANDARD_EXT                                                       0x330A
+#define EGL_YUV_CSC_STANDARD_601_EXT                                           0x330B
+#define EGL_YUV_CSC_STANDARD_709_EXT                                           0x330C
+#define EGL_YUV_CSC_STANDARD_2020_EXT                                          0x330D
+#define EGL_YUV_NUMBER_OF_PLANES_EXT                                           0x3311
+#define EGL_YUV_SUBSAMPLE_EXT                                                          0x3312
+#define EGL_YUV_SUBSAMPLE_4_2_0_EXT                                                    0x3313
+#define EGL_YUV_SUBSAMPLE_4_2_2_EXT                                                    0x3314
+#define EGL_YUV_SUBSAMPLE_4_4_4_EXT                                                    0x3315
+#define EGL_YUV_DEPTH_RANGE_EXT                                                                0x3317
+#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT                                                0x3318
+#define EGL_YUV_DEPTH_RANGE_FULL_EXT                                           0x3319
+#define EGL_YUV_PLANE_BPP_EXT                                                          0x331A
+#define EGL_YUV_PLANE_BPP_0_EXT                                                                0x331B
+#define EGL_YUV_PLANE_BPP_8_EXT                                                                0x331C
+#define EGL_YUV_PLANE_BPP_10_EXT                                                       0x331D
+#define EGL_COLOR_COMPONENT_TYPE_EXT                                           0x3339
+#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT                                     0x333A
+#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT                                     0x333B
index e7d1327..e45b2f6 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 EGLBoolean                                                                     bindAPI                                                 (EGLenum api) const;
 EGLBoolean                                                                     bindTexImage                                    (EGLDisplay dpy, EGLSurface surface, EGLint buffer) const;
index 1678c71..66ea5f8 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 
 EGLBoolean FuncPtrLibrary::bindAPI (EGLenum api) const
index d57105e..2be3ea9 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 typedef EGLW_APICALL EGLBoolean                                                                        (EGLW_APIENTRY* eglBindAPIFunc)                                                 (EGLenum api);
 typedef EGLW_APICALL EGLBoolean                                                                        (EGLW_APIENTRY* eglBindTexImageFunc)                                    (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
index af0d1b2..d5068e9 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 eglBindAPIFunc                                                 bindAPI;
 eglBindTexImageFunc                                            bindTexImage;
diff --git a/framework/egl/wrapper/eglwImpl.inl b/framework/egl/wrapper/eglwImpl.inl
new file mode 100644 (file)
index 0000000..9fd4f35
--- /dev/null
@@ -0,0 +1,357 @@
+/* WARNING: This is auto-generated file. Do not modify, since changes will
+ * be lost! Modify the generating script instead.
+ *
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
+ */
+
+EGLBoolean eglwBindAPI (EGLenum api)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->bindAPI(api);
+}
+
+EGLBoolean eglwBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->bindTexImage(dpy, surface, buffer);
+}
+
+EGLBoolean eglwChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->chooseConfig(dpy, attrib_list, configs, config_size, num_config);
+}
+
+EGLint eglwClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLint)0;
+       return egl->clientWaitSync(dpy, sync, flags, timeout);
+}
+
+EGLBoolean eglwCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->copyBuffers(dpy, surface, (void*)target);
+}
+
+EGLContext eglwCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLContext)0;
+       return egl->createContext(dpy, config, share_context, attrib_list);
+}
+
+EGLImage eglwCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLImage)0;
+       return egl->createImage(dpy, ctx, target, buffer, attrib_list);
+}
+
+EGLSurface eglwCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPbufferFromClientBuffer(dpy, buftype, buffer, config, attrib_list);
+}
+
+EGLSurface eglwCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPbufferSurface(dpy, config, attrib_list);
+}
+
+EGLSurface eglwCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPixmapSurface(dpy, config, (void*)pixmap, attrib_list);
+}
+
+EGLSurface eglwCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPlatformPixmapSurface(dpy, config, native_pixmap, attrib_list);
+}
+
+EGLSurface eglwCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPlatformWindowSurface(dpy, config, native_window, attrib_list);
+}
+
+EGLSync eglwCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSync)0;
+       return egl->createSync(dpy, type, attrib_list);
+}
+
+EGLSurface eglwCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createWindowSurface(dpy, config, (void*)win, attrib_list);
+}
+
+EGLBoolean eglwDestroyContext (EGLDisplay dpy, EGLContext ctx)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->destroyContext(dpy, ctx);
+}
+
+EGLBoolean eglwDestroyImage (EGLDisplay dpy, EGLImage image)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->destroyImage(dpy, image);
+}
+
+EGLBoolean eglwDestroySurface (EGLDisplay dpy, EGLSurface surface)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->destroySurface(dpy, surface);
+}
+
+EGLBoolean eglwDestroySync (EGLDisplay dpy, EGLSync sync)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->destroySync(dpy, sync);
+}
+
+EGLBoolean eglwGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->getConfigAttrib(dpy, config, attribute, value);
+}
+
+EGLBoolean eglwGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->getConfigs(dpy, configs, config_size, num_config);
+}
+
+EGLContext eglwGetCurrentContext (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLContext)0;
+       return egl->getCurrentContext();
+}
+
+EGLDisplay eglwGetCurrentDisplay (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLDisplay)0;
+       return egl->getCurrentDisplay();
+}
+
+EGLSurface eglwGetCurrentSurface (EGLint readdraw)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->getCurrentSurface(readdraw);
+}
+
+EGLDisplay eglwGetDisplay (EGLNativeDisplayType display_id)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLDisplay)0;
+       return egl->getDisplay((void*)display_id);
+}
+
+EGLint eglwGetError (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLint)0;
+       return egl->getError();
+}
+
+EGLDisplay eglwGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLDisplay)0;
+       return egl->getPlatformDisplay(platform, native_display, attrib_list);
+}
+
+__eglMustCastToProperFunctionPointerType eglwGetProcAddress (const char *procname)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (__eglMustCastToProperFunctionPointerType)0;
+       return egl->getProcAddress(procname);
+}
+
+EGLBoolean eglwGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->getSyncAttrib(dpy, sync, attribute, value);
+}
+
+EGLBoolean eglwInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->initialize(dpy, major, minor);
+}
+
+EGLBoolean eglwMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->makeCurrent(dpy, draw, read, ctx);
+}
+
+EGLenum eglwQueryAPI (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLenum)0;
+       return egl->queryAPI();
+}
+
+EGLBoolean eglwQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->queryContext(dpy, ctx, attribute, value);
+}
+
+const char * eglwQueryString (EGLDisplay dpy, EGLint name)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (const char *)0;
+       return egl->queryString(dpy, name);
+}
+
+EGLBoolean eglwQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->querySurface(dpy, surface, attribute, value);
+}
+
+EGLBoolean eglwReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->releaseTexImage(dpy, surface, buffer);
+}
+
+EGLBoolean eglwReleaseThread (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->releaseThread();
+}
+
+EGLBoolean eglwSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->surfaceAttrib(dpy, surface, attribute, value);
+}
+
+EGLBoolean eglwSwapBuffers (EGLDisplay dpy, EGLSurface surface)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->swapBuffers(dpy, surface);
+}
+
+EGLBoolean eglwSwapInterval (EGLDisplay dpy, EGLint interval)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->swapInterval(dpy, interval);
+}
+
+EGLBoolean eglwTerminate (EGLDisplay dpy)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->terminate(dpy);
+}
+
+EGLBoolean eglwWaitClient (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->waitClient();
+}
+
+EGLBoolean eglwWaitGL (void)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->waitGL();
+}
+
+EGLBoolean eglwWaitNative (EGLint engine)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->waitNative(engine);
+}
+
+EGLBoolean eglwWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->waitSync(dpy, sync, flags);
+}
diff --git a/framework/egl/wrapper/eglwImplExt.inl b/framework/egl/wrapper/eglwImplExt.inl
new file mode 100644 (file)
index 0000000..43fcad1
--- /dev/null
@@ -0,0 +1,125 @@
+/* WARNING: This is auto-generated file. Do not modify, since changes will
+ * be lost! Modify the generating script instead.
+ *
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
+ */
+
+EGLint eglwClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout)
+{
+                                                                       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLint)0;
+               return egl->clientWaitSyncKHR(dpy, sync, flags, timeout);
+}
+
+EGLImageKHR eglwCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLImageKHR)0;
+       return egl->createImageKHR(dpy, ctx, target, buffer, attrib_list);
+}
+
+EGLSurface eglwCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPlatformPixmapSurfaceEXT(dpy, config, native_pixmap, attrib_list);
+}
+
+EGLSurface eglwCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list)
+{
+       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSurface)0;
+       return egl->createPlatformWindowSurfaceEXT(dpy, config, native_window, attrib_list);
+}
+
+EGLSyncKHR eglwCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list)
+{
+                                                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLSyncKHR)0;
+       return egl->createSyncKHR(dpy, type, attrib_list);
+}
+
+EGLBoolean eglwDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image)
+{
+                                                                                                                                       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->destroyImageKHR(dpy, image);
+}
+
+EGLBoolean eglwDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync)
+{
+                                                                                                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->destroySyncKHR(dpy, sync);
+}
+
+EGLDisplay eglwGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list)
+{
+                                                       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLDisplay)0;
+       return egl->getPlatformDisplayEXT(platform, native_display, attrib_list);
+}
+
+EGLBoolean eglwGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value)
+{
+                                                                       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->getSyncAttribKHR(dpy, sync, attribute, value);
+}
+
+EGLBoolean eglwLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list)
+{
+                                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->lockSurfaceKHR(dpy, surface, attrib_list);
+}
+
+EGLBoolean eglwSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects)
+{
+                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->setDamageRegionKHR(dpy, surface, rects, n_rects);
+}
+
+EGLBoolean eglwSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode)
+{
+                                                                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->signalSyncKHR(dpy, sync, mode);
+}
+
+EGLBoolean eglwSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects)
+{
+                                                       const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->swapBuffersWithDamageKHR(dpy, surface, rects, n_rects);
+}
+
+EGLBoolean eglwUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface)
+{
+                                                                                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLBoolean)0;
+       return egl->unlockSurfaceKHR(dpy, surface);
+}
+
+EGLint eglwWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags)
+{
+                                                                                                                               const eglw::Library* egl = eglw::getCurrentThreadLibrary();
+       if (!egl)
+               return (EGLint)0;
+               return egl->waitSyncKHR(dpy, sync, flags);
+}
index 15f941d..a5919ed 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 dst->bindAPI                                           = (eglBindAPIFunc)                                                      loader->get("eglBindAPI");
 dst->bindTexImage                                      = (eglBindTexImageFunc)                                         loader->get("eglBindTexImage");
index 90d00a1..28b92bd 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 dst->clientWaitSyncKHR                         = (eglClientWaitSyncKHRFunc)                            loader->get("eglClientWaitSyncKHR");
 dst->createImageKHR                                    = (eglCreateImageKHRFunc)                                       loader->get("eglCreateImageKHR");
index a3d617d..bfba13e 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 virtual EGLBoolean                                                                     bindAPI                                                 (EGLenum api) const                                                                                                                                                                                             = 0;
 virtual EGLBoolean                                                                     bindTexImage                                    (EGLDisplay dpy, EGLSurface surface, EGLint buffer) const                                                                                                               = 0;
index 22a2c5c..f9ae983 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
        { "eglBindAPI",                                                 (deFunctionPtr)eglBindAPI },
        { "eglBindTexImage",                                    (deFunctionPtr)eglBindTexImage },
index a44c589..6a69ede 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
        { "eglBindAPI",                                                 (deFunctionPtr)eglBindAPI },
        { "eglBindTexImage",                                    (deFunctionPtr)eglBindTexImage },
index 7df1a37..4f6e42b 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 int getTextureParamNumArgs (int pname)
index 13ce84c..1ecc948 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 void CallLogWrapper::glActiveShaderProgram (glw::GLuint pipeline, glw::GLuint program)
@@ -423,11 +423,11 @@ void CallLogWrapper::glClearNamedBufferSubData (glw::GLuint buffer, glw::GLenum
        m_gl.clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
 }
 
-void CallLogWrapper::glClearNamedFramebufferfi (glw::GLuint framebuffer, glw::GLenum buffer, const glw::GLfloat depth, glw::GLint stencil)
+void CallLogWrapper::glClearNamedFramebufferfi (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil)
 {
        if (m_enableLog)
-               m_log << TestLog::Message << "glClearNamedFramebufferfi(" << framebuffer << ", " << toHex(buffer) << ", " << depth << ", " << stencil << ");" << TestLog::EndMessage;
-       m_gl.clearNamedFramebufferfi(framebuffer, buffer, depth, stencil);
+               m_log << TestLog::Message << "glClearNamedFramebufferfi(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << depth << ", " << stencil << ");" << TestLog::EndMessage;
+       m_gl.clearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil);
 }
 
 void CallLogWrapper::glClearNamedFramebufferfv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value)
index 5785d59..53e83dd 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 void                                   glActiveShaderProgram                                                   (glw::GLuint pipeline, glw::GLuint program);
 void                                   glActiveTexture                                                                 (glw::GLenum texture);
@@ -62,7 +62,7 @@ void                                  glClearDepth                                                                    (glw::GLdouble depth);
 void                                   glClearDepthf                                                                   (glw::GLfloat d);
 void                                   glClearNamedBufferData                                                  (glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data);
 void                                   glClearNamedBufferSubData                                               (glw::GLuint buffer, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data);
-void                                   glClearNamedFramebufferfi                                               (glw::GLuint framebuffer, glw::GLenum buffer, const glw::GLfloat depth, glw::GLint stencil);
+void                                   glClearNamedFramebufferfi                                               (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil);
 void                                   glClearNamedFramebufferfv                                               (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value);
 void                                   glClearNamedFramebufferiv                                               (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLint *value);
 void                                   glClearNamedFramebufferuiv                                              (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLuint *value);
index bf4b095..8d5167a 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 dst->activeShaderProgram                                       = src.activeShaderProgram;
 dst->activeTexture                                                     = src.activeTexture;
index 93a03c2..da5a927 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 int getBasicQueryNumArgsOut (int pname)
index f1504a6..a75e8ab 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 const char* getErrorName (int value)
index c0505ef..5e54abf 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 const char*                                                    getErrorName                                                    (int value);
 const char*                                                    getTypeName                                                             (int value);
index beb0940..c082721 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 #define                        glActiveShaderProgram                                                   glwActiveShaderProgram
 #define                        glActiveTexture                                                                 glwActiveTexture
@@ -722,7 +722,7 @@ void                        glwClearDepth                                                                   (GLdouble depth);
 void                   glwClearDepthf                                                                  (GLfloat d);
 void                   glwClearNamedBufferData                                                 (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
 void                   glwClearNamedBufferSubData                                              (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
-void                   glwClearNamedFramebufferfi                                              (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
+void                   glwClearNamedFramebufferfi                                              (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 void                   glwClearNamedFramebufferfv                                              (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
 void                   glwClearNamedFramebufferiv                                              (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
 void                   glwClearNamedFramebufferuiv                                             (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
index e0c4d6c..8fc33f9 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 #define GL_DEPTH_BUFFER_BIT                                                                                            0x00000100
 #define GL_STENCIL_BUFFER_BIT                                                                                  0x00000400
index 0b1f747..615a256 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 typedef GLW_APICALL void                       (GLW_APIENTRY* glActiveShaderProgramFunc)                                                       (GLuint pipeline, GLuint program);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glActiveTextureFunc)                                                                     (GLenum texture);
@@ -62,7 +62,7 @@ typedef GLW_APICALL void                      (GLW_APIENTRY* glClearDepthFunc)                                                                        (GLdouble de
 typedef GLW_APICALL void                       (GLW_APIENTRY* glClearDepthfFunc)                                                                       (GLfloat d);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedBufferDataFunc)                                                      (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedBufferSubDataFunc)                                           (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
-typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedFramebufferfiFunc)                                           (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil);
+typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedFramebufferfiFunc)                                           (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedFramebufferfvFunc)                                           (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedFramebufferivFunc)                                           (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
 typedef GLW_APICALL void                       (GLW_APIENTRY* glClearNamedFramebufferuivFunc)                                          (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
index 80bbcb5..7149f17 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 glActiveShaderProgramFunc                                                      activeShaderProgram;
 glActiveTextureFunc                                                                    activeTexture;
index e521405..0ba8a73 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 void glwActiveShaderProgram (GLuint pipeline, GLuint program)
@@ -476,12 +476,12 @@ void glwClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr
        gl->clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
 }
 
-void glwClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil)
+void glwClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
 {
        const glw::Functions* gl = glw::getCurrentThreadFunctions();
        if (!gl)
                return;
-       gl->clearNamedFramebufferfi(framebuffer, buffer, depth, stencil);
+       gl->clearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil);
 }
 
 void glwClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value)
index 5dd6080..c6e6f0f 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index 2af9a05..ce21ae6 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = &glActiveTexture;
 gl->attachShader                                               = &glAttachShader;
index 8d822f3..e765528 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index a6c125e..445d2c0 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = &glActiveTexture;
 gl->attachShader                                               = &glAttachShader;
index 9d8e175..67d5faf 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                        = (glActiveShaderProgramFunc)                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
index a1f1f5b..713cc49 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                        = &glActiveShaderProgram;
 gl->activeTexture                                              = &glActiveTexture;
index 376462d..4bcbebb 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                        = (glActiveShaderProgramFunc)                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
index f30b57e..79a203d 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                        = &glActiveShaderProgram;
 gl->activeTexture                                              = &glActiveTexture;
index 5e8005b..fdfbbfe 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 if (de::contains(extSet, "GL_KHR_blend_equation_advanced"))
index d044fa2..7530dd3 100644 (file)
@@ -1,9 +1,14 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
+if (de::contains(extSet, "GL_KHR_blend_equation_advanced"))
+{
+       gl->blendBarrier        = (glBlendBarrierFunc)  loader->get("glBlendBarrierKHR");
+}
+
 if (de::contains(extSet, "GL_KHR_debug"))
 {
        gl->debugMessageCallback        = (glDebugMessageCallbackFunc)  loader->get("glDebugMessageCallback");
@@ -18,6 +23,13 @@ if (de::contains(extSet, "GL_KHR_debug"))
        gl->pushDebugGroup                      = (glPushDebugGroupFunc)                loader->get("glPushDebugGroup");
 }
 
+if (de::contains(extSet, "GL_EXT_debug_marker"))
+{
+       gl->insertEventMarkerEXT        = (glInsertEventMarkerEXTFunc)  loader->get("glInsertEventMarkerEXT");
+       gl->popGroupMarkerEXT           = (glPopGroupMarkerEXTFunc)             loader->get("glPopGroupMarkerEXT");
+       gl->pushGroupMarkerEXT          = (glPushGroupMarkerEXTFunc)    loader->get("glPushGroupMarkerEXT");
+}
+
 if (de::contains(extSet, "GL_KHR_robustness"))
 {
        gl->getGraphicsResetStatus      = (glGetGraphicsResetStatusFunc)        loader->get("glGetGraphicsResetStatus");
index 9dc2897..9aea113 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index 92800d9..af71dc4 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index 91f5db4..7c7fbda 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index caa2e55..6472c21 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index 2bf8865..a0a0c11 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
 gl->attachShader                                               = (glAttachShaderFunc)                                                  loader->get("glAttachShader");
index cfcf02e..2228280 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                        = (glActiveShaderProgramFunc)                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                              = (glActiveTextureFunc)                                                 loader->get("glActiveTexture");
index c9c21f3..1d931a4 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                                        = (glActiveShaderProgramFunc)                                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                                              = (glActiveTextureFunc)                                                                 loader->get("glActiveTexture");
index 38ee658..225a51f 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                                        = (glActiveShaderProgramFunc)                                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                                              = (glActiveTextureFunc)                                                                 loader->get("glActiveTexture");
index 31e26ef..b15f933 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                                        = (glActiveShaderProgramFunc)                                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                                              = (glActiveTextureFunc)                                                                 loader->get("glActiveTexture");
index 3cb112c..c2e8815 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                                        = (glActiveShaderProgramFunc)                                                   loader->get("glActiveShaderProgram");
 gl->activeTexture                                                              = (glActiveTextureFunc)                                                                 loader->get("glActiveTexture");
index bf2e720..b0db5f2 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 
 GLW_APICALL void GLW_APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program)
@@ -478,10 +478,11 @@ GLW_APICALL void GLW_APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum i
 
 }
 
-GLW_APICALL void GLW_APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, const GLfloat depth, GLint stencil)
+GLW_APICALL void GLW_APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
 {
        DE_UNREF(framebuffer);
        DE_UNREF(buffer);
+       DE_UNREF(drawbuffer);
        DE_UNREF(depth);
        DE_UNREF(stencil);
 
index dfc2256..8edcb74 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 32093.
+ * Generated from Khronos GL API description (gl.xml) revision db2965fc26513b254e2f964171f79e416a05fe29.
  */
 gl->activeShaderProgram                                                        = glActiveShaderProgram;
 gl->activeTexture                                                              = glActiveTexture;
index 33fde9b..5f0cd81 100644 (file)
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos EGL API description (egl.xml) revision 33315.
+ * Generated from Khronos EGL API description (egl.xml) revision 7fdf7d3a1ad50afa03968db889b68af211da6e27.
  */
 
 static const char* s_EGL14[] =
@@ -1039,6 +1039,12 @@ static const char* s_GL_EXT_buffer_storage[] =
        "glBufferStorageEXT",
 };
 
+static const char* s_GL_EXT_clear_texture[] =
+{
+       "glClearTexImageEXT",
+       "glClearTexSubImageEXT",
+};
+
 static const char* s_GL_EXT_copy_image[] =
 {
        "glCopyImageSubDataEXT",
@@ -1103,6 +1109,12 @@ static const char* s_GL_EXT_draw_instanced[] =
        "glDrawElementsInstancedEXT",
 };
 
+static const char* s_GL_EXT_draw_transform_feedback[] =
+{
+       "glDrawTransformFeedbackEXT",
+       "glDrawTransformFeedbackInstancedEXT",
+};
+
 static const char* s_GL_EXT_geometry_shader[] =
 {
        "glFramebufferTextureEXT",
@@ -1139,6 +1151,11 @@ static const char* s_GL_EXT_occlusion_query_boolean[] =
        "glIsQueryEXT",
 };
 
+static const char* s_GL_EXT_polygon_offset_clamp[] =
+{
+       "glPolygonOffsetClampEXT",
+};
+
 static const char* s_GL_EXT_primitive_bounding_box[] =
 {
        "glPrimitiveBoundingBoxEXT",
@@ -1197,6 +1214,13 @@ static const char* s_GL_EXT_separate_shader_objects[] =
        "glValidateProgramPipelineEXT",
 };
 
+static const char* s_GL_EXT_shader_pixel_local_storage2[] =
+{
+       "glClearPixelLocalStorageuiEXT",
+       "glFramebufferPixelLocalStorageSizeEXT",
+       "glGetFramebufferPixelLocalStorageSizeEXT",
+};
+
 static const char* s_GL_EXT_sparse_texture[] =
 {
        "glTexPageCommitmentEXT",
@@ -1235,6 +1259,27 @@ static const char* s_GL_EXT_texture_view[] =
        "glTextureViewEXT",
 };
 
+static const char* s_GL_EXT_window_rectangles[] =
+{
+       "glWindowRectanglesEXT",
+};
+
+static const char* s_GL_IMG_bindless_texture[] =
+{
+       "glGetTextureHandleIMG",
+       "glGetTextureSamplerHandleIMG",
+       "glProgramUniformHandleui64IMG",
+       "glProgramUniformHandleui64vIMG",
+       "glUniformHandleui64IMG",
+       "glUniformHandleui64vIMG",
+};
+
+static const char* s_GL_IMG_framebuffer_downsample[] =
+{
+       "glFramebufferTexture2DDownsampleIMG",
+       "glFramebufferTextureLayerDownsampleIMG",
+};
+
 static const char* s_GL_INTEL_framebuffer_CMAA[] =
 {
        "glApplyFramebufferAttachmentCMAAINTEL",
@@ -1317,6 +1362,11 @@ static const char* s_GL_NV_conservative_raster[] =
        "glSubpixelPrecisionBiasNV",
 };
 
+static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] =
+{
+       "glConservativeRasterParameteriNV",
+};
+
 static const char* s_GL_NV_copy_buffer[] =
 {
        "glCopyBufferSubDataNV",
@@ -1362,6 +1412,43 @@ static const char* s_GL_NV_framebuffer_multisample[] =
        "glRenderbufferStorageMultisampleNV",
 };
 
+static const char* s_GL_NV_gpu_shader5[] =
+{
+       "glGetUniformi64vNV",
+       "glProgramUniform1i64NV",
+       "glProgramUniform1i64vNV",
+       "glProgramUniform1ui64NV",
+       "glProgramUniform1ui64vNV",
+       "glProgramUniform2i64NV",
+       "glProgramUniform2i64vNV",
+       "glProgramUniform2ui64NV",
+       "glProgramUniform2ui64vNV",
+       "glProgramUniform3i64NV",
+       "glProgramUniform3i64vNV",
+       "glProgramUniform3ui64NV",
+       "glProgramUniform3ui64vNV",
+       "glProgramUniform4i64NV",
+       "glProgramUniform4i64vNV",
+       "glProgramUniform4ui64NV",
+       "glProgramUniform4ui64vNV",
+       "glUniform1i64NV",
+       "glUniform1i64vNV",
+       "glUniform1ui64NV",
+       "glUniform1ui64vNV",
+       "glUniform2i64NV",
+       "glUniform2i64vNV",
+       "glUniform2ui64NV",
+       "glUniform2ui64vNV",
+       "glUniform3i64NV",
+       "glUniform3i64vNV",
+       "glUniform3ui64NV",
+       "glUniform3ui64vNV",
+       "glUniform4i64NV",
+       "glUniform4i64vNV",
+       "glUniform4ui64NV",
+       "glUniform4ui64vNV",
+};
+
 static const char* s_GL_NV_instanced_arrays[] =
 {
        "glVertexAttribDivisorNV",
@@ -1476,6 +1563,11 @@ static const char* s_GL_NV_viewport_array[] =
        "glViewportIndexedfvNV",
 };
 
+static const char* s_GL_NV_viewport_swizzle[] =
+{
+       "glViewportSwizzleNV",
+};
+
 static const char* s_GL_OES_copy_image[] =
 {
        "glCopyImageSubDataOES",
@@ -1565,16 +1657,52 @@ static const char* s_GL_OES_texture_view[] =
        "glTextureViewOES",
 };
 
+static const char* s_GL_OES_viewport_array[] =
+{
+       "glDepthRangeArrayfvOES",
+       "glDepthRangeIndexedfOES",
+       "glDisableiOES",
+       "glEnableiOES",
+       "glGetFloati_vOES",
+       "glIsEnablediOES",
+       "glScissorArrayvOES",
+       "glScissorIndexedOES",
+       "glScissorIndexedvOES",
+       "glViewportArrayvOES",
+       "glViewportIndexedfOES",
+       "glViewportIndexedfvOES",
+};
+
 static const char* s_GL_OVR_multiview[] =
 {
        "glFramebufferTextureMultiviewOVR",
 };
 
+static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] =
+{
+       "glFramebufferTextureMultisampleMultiviewOVR",
+};
+
 static const char* s_GL_QCOM_alpha_test[] =
 {
        "glAlphaFuncQCOM",
 };
 
+static const char* s_GL_QCOM_framebuffer_foveated[] =
+{
+       "glFramebufferFoveationConfigQCOM",
+       "glFramebufferFoveationParametersQCOM",
+};
+
+static const char* s_GL_NV_draw_vulkan_image[] =
+{
+       "glDrawVkImageNV",
+       "glGetVkProcAddrNV",
+       "glWaitVkSemaphoreNV",
+       "glSignalVkSemaphoreNV",
+       "glSignalVkFenceNV",
+};
+
 static const struct
 {
        const char*                     name;
@@ -1582,147 +1710,161 @@ static const struct
        const char* const*      functions;
 } s_extensions[] =
 {
-       { "EGL_ANDROID_blob_cache",                                                     DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),                                           s_EGL_ANDROID_blob_cache                                                },
-       { "EGL_ANDROID_create_native_client_buffer",            DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer),          s_EGL_ANDROID_create_native_client_buffer               },
-       { "EGL_ANDROID_native_fence_sync",                                      DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),                            s_EGL_ANDROID_native_fence_sync                                 },
-       { "EGL_ANDROID_presentation_time",                                      DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time),                            s_EGL_ANDROID_presentation_time                                 },
-       { "EGL_ANGLE_query_surface_pointer",                            DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),                          s_EGL_ANGLE_query_surface_pointer                               },
-       { "EGL_EXT_device_base",                                                        DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),                                                      s_EGL_EXT_device_base                                                   },
-       { "EGL_EXT_device_enumeration",                                         DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),                                       s_EGL_EXT_device_enumeration                                    },
-       { "EGL_EXT_device_query",                                                       DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),                                                     s_EGL_EXT_device_query                                                  },
-       { "EGL_EXT_image_dma_buf_import_modifiers",                     DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers),           s_EGL_EXT_image_dma_buf_import_modifiers                },
-       { "EGL_EXT_output_base",                                                        DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),                                                      s_EGL_EXT_output_base                                                   },
-       { "EGL_EXT_platform_base",                                                      DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),                                            s_EGL_EXT_platform_base                                                 },
-       { "EGL_EXT_stream_consumer_egloutput",                          DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),                        s_EGL_EXT_stream_consumer_egloutput                             },
-       { "EGL_EXT_swap_buffers_with_damage",                           DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),                         s_EGL_EXT_swap_buffers_with_damage                              },
-       { "EGL_HI_clientpixmap",                                                        DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),                                                      s_EGL_HI_clientpixmap                                                   },
-       { "EGL_KHR_cl_event2",                                                          DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),                                                        s_EGL_KHR_cl_event2                                                             },
-       { "EGL_KHR_debug",                                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug),                                                            s_EGL_KHR_debug                                                                 },
-       { "EGL_KHR_fence_sync",                                                         DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),                                                       s_EGL_KHR_fence_sync                                                    },
-       { "EGL_KHR_image",                                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),                                                            s_EGL_KHR_image                                                                 },
-       { "EGL_KHR_image_base",                                                         DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),                                                       s_EGL_KHR_image_base                                                    },
-       { "EGL_KHR_lock_surface",                                                       DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),                                                     s_EGL_KHR_lock_surface                                                  },
-       { "EGL_KHR_lock_surface3",                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),                                            s_EGL_KHR_lock_surface3                                                 },
-       { "EGL_KHR_partial_update",                                                     DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),                                           s_EGL_KHR_partial_update                                                },
-       { "EGL_KHR_reusable_sync",                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),                                            s_EGL_KHR_reusable_sync                                                 },
-       { "EGL_KHR_stream",                                                                     DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),                                                           s_EGL_KHR_stream                                                                },
-       { "EGL_KHR_stream_attrib",                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib),                                            s_EGL_KHR_stream_attrib                                                 },
-       { "EGL_KHR_stream_consumer_gltexture",                          DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),                        s_EGL_KHR_stream_consumer_gltexture                             },
-       { "EGL_KHR_stream_cross_process_fd",                            DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),                          s_EGL_KHR_stream_cross_process_fd                               },
-       { "EGL_KHR_stream_fifo",                                                        DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),                                                      s_EGL_KHR_stream_fifo                                                   },
-       { "EGL_KHR_stream_producer_eglsurface",                         DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),                       s_EGL_KHR_stream_producer_eglsurface                    },
-       { "EGL_KHR_swap_buffers_with_damage",                           DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),                         s_EGL_KHR_swap_buffers_with_damage                              },
-       { "EGL_KHR_wait_sync",                                                          DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),                                                        s_EGL_KHR_wait_sync                                                             },
-       { "EGL_MESA_drm_image",                                                         DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),                                                       s_EGL_MESA_drm_image                                                    },
-       { "EGL_MESA_image_dma_buf_export",                                      DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),                            s_EGL_MESA_image_dma_buf_export                                 },
-       { "EGL_NOK_swap_region",                                                        DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),                                                      s_EGL_NOK_swap_region                                                   },
-       { "EGL_NOK_swap_region2",                                                       DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),                                                     s_EGL_NOK_swap_region2                                                  },
-       { "EGL_NV_native_query",                                                        DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),                                                      s_EGL_NV_native_query                                                   },
-       { "EGL_NV_post_sub_buffer",                                                     DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),                                           s_EGL_NV_post_sub_buffer                                                },
-       { "EGL_NV_stream_consumer_gltexture_yuv",                       DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv),                     s_EGL_NV_stream_consumer_gltexture_yuv                  },
-       { "EGL_NV_stream_metadata",                                                     DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata),                                           s_EGL_NV_stream_metadata                                                },
-       { "EGL_NV_stream_reset",                                                        DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset),                                                      s_EGL_NV_stream_reset                                                   },
-       { "EGL_NV_stream_sync",                                                         DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),                                                       s_EGL_NV_stream_sync                                                    },
-       { "EGL_NV_sync",                                                                        DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),                                                                      s_EGL_NV_sync                                                                   },
-       { "EGL_NV_system_time",                                                         DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),                                                       s_EGL_NV_system_time                                                    },
-       { "GL_APPLE_copy_texture_levels",                                       DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),                                     s_GL_APPLE_copy_texture_levels                                  },
-       { "GL_APPLE_framebuffer_multisample",                           DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),                         s_GL_APPLE_framebuffer_multisample                              },
-       { "GL_APPLE_sync",                                                                      DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),                                                            s_GL_APPLE_sync                                                                 },
-       { "GL_EXT_discard_framebuffer",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),                                       s_GL_EXT_discard_framebuffer                                    },
-       { "GL_EXT_map_buffer_range",                                            DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),                                          s_GL_EXT_map_buffer_range                                               },
-       { "GL_EXT_multi_draw_arrays",                                           DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),                                         s_GL_EXT_multi_draw_arrays                                              },
-       { "GL_EXT_multisampled_render_to_texture",                      DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),            s_GL_EXT_multisampled_render_to_texture                 },
-       { "GL_EXT_robustness",                                                          DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),                                                        s_GL_EXT_robustness                                                             },
-       { "GL_EXT_texture_storage",                                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),                                           s_GL_EXT_texture_storage                                                },
-       { "GL_IMG_multisampled_render_to_texture",                      DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),            s_GL_IMG_multisampled_render_to_texture                 },
-       { "GL_IMG_user_clip_plane",                                                     DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),                                           s_GL_IMG_user_clip_plane                                                },
-       { "GL_NV_fence",                                                                        DE_LENGTH_OF_ARRAY(s_GL_NV_fence),                                                                      s_GL_NV_fence                                                                   },
-       { "GL_OES_EGL_image",                                                           DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),                                                         s_GL_OES_EGL_image                                                              },
-       { "GL_OES_blend_equation_separate",                                     DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),                           s_GL_OES_blend_equation_separate                                },
-       { "GL_OES_blend_func_separate",                                         DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),                                       s_GL_OES_blend_func_separate                                    },
-       { "GL_OES_blend_subtract",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),                                            s_GL_OES_blend_subtract                                                 },
-       { "GL_OES_draw_texture",                                                        DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),                                                      s_GL_OES_draw_texture                                                   },
-       { "GL_OES_fixed_point",                                                         DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),                                                       s_GL_OES_fixed_point                                                    },
-       { "GL_OES_framebuffer_object",                                          DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),                                        s_GL_OES_framebuffer_object                                             },
-       { "GL_OES_mapbuffer",                                                           DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),                                                         s_GL_OES_mapbuffer                                                              },
-       { "GL_OES_matrix_palette",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),                                            s_GL_OES_matrix_palette                                                 },
-       { "GL_OES_point_size_array",                                            DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),                                          s_GL_OES_point_size_array                                               },
-       { "GL_OES_query_matrix",                                                        DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),                                                      s_GL_OES_query_matrix                                                   },
-       { "GL_OES_single_precision",                                            DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),                                          s_GL_OES_single_precision                                               },
-       { "GL_OES_texture_cube_map",                                            DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),                                          s_GL_OES_texture_cube_map                                               },
-       { "GL_OES_vertex_array_object",                                         DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),                                       s_GL_OES_vertex_array_object                                    },
-       { "GL_QCOM_driver_control",                                                     DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),                                           s_GL_QCOM_driver_control                                                },
-       { "GL_QCOM_extended_get",                                                       DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),                                                     s_GL_QCOM_extended_get                                                  },
-       { "GL_QCOM_extended_get2",                                                      DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),                                            s_GL_QCOM_extended_get2                                                 },
-       { "GL_QCOM_tiled_rendering",                                            DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),                                          s_GL_QCOM_tiled_rendering                                               },
-       { "GL_AMD_performance_monitor",                                         DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),                                       s_GL_AMD_performance_monitor                                    },
-       { "GL_ANGLE_framebuffer_blit",                                          DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),                                        s_GL_ANGLE_framebuffer_blit                                             },
-       { "GL_ANGLE_framebuffer_multisample",                           DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),                         s_GL_ANGLE_framebuffer_multisample                              },
-       { "GL_ANGLE_instanced_arrays",                                          DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),                                        s_GL_ANGLE_instanced_arrays                                             },
-       { "GL_ANGLE_translated_shader_source",                          DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),                        s_GL_ANGLE_translated_shader_source                             },
-       { "GL_EXT_base_instance",                                                       DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),                                                     s_GL_EXT_base_instance                                                  },
-       { "GL_EXT_blend_func_extended",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended),                                       s_GL_EXT_blend_func_extended                                    },
-       { "GL_EXT_buffer_storage",                                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage),                                            s_GL_EXT_buffer_storage                                                 },
-       { "GL_EXT_copy_image",                                                          DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),                                                        s_GL_EXT_copy_image                                                             },
-       { "GL_EXT_debug_label",                                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),                                                       s_GL_EXT_debug_label                                                    },
-       { "GL_EXT_debug_marker",                                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),                                                      s_GL_EXT_debug_marker                                                   },
-       { "GL_EXT_disjoint_timer_query",                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),                                      s_GL_EXT_disjoint_timer_query                                   },
-       { "GL_EXT_draw_buffers",                                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),                                                      s_GL_EXT_draw_buffers                                                   },
-       { "GL_EXT_draw_buffers_indexed",                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),                                      s_GL_EXT_draw_buffers_indexed                                   },
-       { "GL_EXT_draw_elements_base_vertex",                           DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),                         s_GL_EXT_draw_elements_base_vertex                              },
-       { "GL_EXT_draw_instanced",                                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),                                            s_GL_EXT_draw_instanced                                                 },
-       { "GL_EXT_geometry_shader",                                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),                                           s_GL_EXT_geometry_shader                                                },
-       { "GL_EXT_instanced_arrays",                                            DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),                                          s_GL_EXT_instanced_arrays                                               },
-       { "GL_EXT_multi_draw_indirect",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),                                       s_GL_EXT_multi_draw_indirect                                    },
-       { "GL_EXT_multiview_draw_buffers",                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),                            s_GL_EXT_multiview_draw_buffers                                 },
-       { "GL_EXT_occlusion_query_boolean",                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),                           s_GL_EXT_occlusion_query_boolean                                },
-       { "GL_EXT_primitive_bounding_box",                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),                            s_GL_EXT_primitive_bounding_box                                 },
-       { "GL_EXT_raster_multisample",                                          DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample),                                        s_GL_EXT_raster_multisample                                             },
-       { "GL_EXT_separate_shader_objects",                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),                           s_GL_EXT_separate_shader_objects                                },
-       { "GL_EXT_sparse_texture",                                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture),                                            s_GL_EXT_sparse_texture                                                 },
-       { "GL_EXT_tessellation_shader",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),                                       s_GL_EXT_tessellation_shader                                    },
-       { "GL_EXT_texture_border_clamp",                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),                                      s_GL_EXT_texture_border_clamp                                   },
-       { "GL_EXT_texture_buffer",                                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),                                            s_GL_EXT_texture_buffer                                                 },
-       { "GL_EXT_texture_filter_minmax",                                       DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax),                                     s_GL_EXT_texture_filter_minmax                                  },
-       { "GL_EXT_texture_view",                                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),                                                      s_GL_EXT_texture_view                                                   },
-       { "GL_INTEL_framebuffer_CMAA",                                          DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA),                                        s_GL_INTEL_framebuffer_CMAA                                             },
-       { "GL_INTEL_performance_query",                                         DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),                                       s_GL_INTEL_performance_query                                    },
-       { "GL_KHR_blend_equation_advanced",                                     DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),                           s_GL_KHR_blend_equation_advanced                                },
-       { "GL_KHR_debug",                                                                       DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),                                                                     s_GL_KHR_debug                                                                  },
-       { "GL_KHR_robustness",                                                          DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),                                                        s_GL_KHR_robustness                                                             },
-       { "GL_NV_bindless_texture",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),                                           s_GL_NV_bindless_texture                                                },
-       { "GL_NV_blend_equation_advanced",                                      DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),                            s_GL_NV_blend_equation_advanced                                 },
-       { "GL_NV_conditional_render",                                           DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),                                         s_GL_NV_conditional_render                                              },
-       { "GL_NV_conservative_raster",                                          DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster),                                        s_GL_NV_conservative_raster                                             },
-       { "GL_NV_copy_buffer",                                                          DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),                                                        s_GL_NV_copy_buffer                                                             },
-       { "GL_NV_coverage_sample",                                                      DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),                                            s_GL_NV_coverage_sample                                                 },
-       { "GL_NV_draw_buffers",                                                         DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),                                                       s_GL_NV_draw_buffers                                                    },
-       { "GL_NV_draw_instanced",                                                       DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),                                                     s_GL_NV_draw_instanced                                                  },
-       { "GL_NV_fragment_coverage_to_color",                           DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color),                         s_GL_NV_fragment_coverage_to_color                              },
-       { "GL_NV_framebuffer_blit",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),                                           s_GL_NV_framebuffer_blit                                                },
-       { "GL_NV_framebuffer_mixed_samples",                            DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples),                          s_GL_NV_framebuffer_mixed_samples                               },
-       { "GL_NV_framebuffer_multisample",                                      DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),                            s_GL_NV_framebuffer_multisample                                 },
-       { "GL_NV_instanced_arrays",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),                                           s_GL_NV_instanced_arrays                                                },
-       { "GL_NV_internalformat_sample_query",                          DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),                        s_GL_NV_internalformat_sample_query                             },
-       { "GL_NV_non_square_matrices",                                          DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),                                        s_GL_NV_non_square_matrices                                             },
-       { "GL_NV_path_rendering",                                                       DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),                                                     s_GL_NV_path_rendering                                                  },
-       { "GL_NV_polygon_mode",                                                         DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode),                                                       s_GL_NV_polygon_mode                                                    },
-       { "GL_NV_read_buffer",                                                          DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),                                                        s_GL_NV_read_buffer                                                             },
-       { "GL_NV_sample_locations",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations),                                           s_GL_NV_sample_locations                                                },
-       { "GL_NV_viewport_array",                                                       DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),                                                     s_GL_NV_viewport_array                                                  },
-       { "GL_OES_copy_image",                                                          DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),                                                        s_GL_OES_copy_image                                                             },
-       { "GL_OES_draw_buffers_indexed",                                        DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),                                      s_GL_OES_draw_buffers_indexed                                   },
-       { "GL_OES_draw_elements_base_vertex",                           DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),                         s_GL_OES_draw_elements_base_vertex                              },
-       { "GL_OES_geometry_shader",                                                     DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),                                           s_GL_OES_geometry_shader                                                },
-       { "GL_OES_get_program_binary",                                          DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),                                        s_GL_OES_get_program_binary                                             },
-       { "GL_OES_primitive_bounding_box",                                      DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),                            s_GL_OES_primitive_bounding_box                                 },
-       { "GL_OES_sample_shading",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),                                            s_GL_OES_sample_shading                                                 },
-       { "GL_OES_tessellation_shader",                                         DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),                                       s_GL_OES_tessellation_shader                                    },
-       { "GL_OES_texture_3D",                                                          DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),                                                        s_GL_OES_texture_3D                                                             },
-       { "GL_OES_texture_border_clamp",                                        DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),                                      s_GL_OES_texture_border_clamp                                   },
-       { "GL_OES_texture_buffer",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),                                            s_GL_OES_texture_buffer                                                 },
-       { "GL_OES_texture_storage_multisample_2d_array",        DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array),      s_GL_OES_texture_storage_multisample_2d_array   },
-       { "GL_OES_texture_view",                                                        DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),                                                      s_GL_OES_texture_view                                                   },
-       { "GL_OVR_multiview",                                                           DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview),                                                         s_GL_OVR_multiview                                                              },
-       { "GL_QCOM_alpha_test",                                                         DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),                                                       s_GL_QCOM_alpha_test                                                    },
+       { "EGL_ANDROID_blob_cache",                                                             DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),                                                   s_EGL_ANDROID_blob_cache                                                        },
+       { "EGL_ANDROID_create_native_client_buffer",                    DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer),                  s_EGL_ANDROID_create_native_client_buffer                       },
+       { "EGL_ANDROID_native_fence_sync",                                              DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),                                    s_EGL_ANDROID_native_fence_sync                                         },
+       { "EGL_ANDROID_presentation_time",                                              DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time),                                    s_EGL_ANDROID_presentation_time                                         },
+       { "EGL_ANGLE_query_surface_pointer",                                    DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),                                  s_EGL_ANGLE_query_surface_pointer                                       },
+       { "EGL_EXT_device_base",                                                                DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),                                                              s_EGL_EXT_device_base                                                           },
+       { "EGL_EXT_device_enumeration",                                                 DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),                                               s_EGL_EXT_device_enumeration                                            },
+       { "EGL_EXT_device_query",                                                               DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),                                                             s_EGL_EXT_device_query                                                          },
+       { "EGL_EXT_image_dma_buf_import_modifiers",                             DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers),                   s_EGL_EXT_image_dma_buf_import_modifiers                        },
+       { "EGL_EXT_output_base",                                                                DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),                                                              s_EGL_EXT_output_base                                                           },
+       { "EGL_EXT_platform_base",                                                              DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),                                                    s_EGL_EXT_platform_base                                                         },
+       { "EGL_EXT_stream_consumer_egloutput",                                  DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),                                s_EGL_EXT_stream_consumer_egloutput                                     },
+       { "EGL_EXT_swap_buffers_with_damage",                                   DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),                                 s_EGL_EXT_swap_buffers_with_damage                                      },
+       { "EGL_HI_clientpixmap",                                                                DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),                                                              s_EGL_HI_clientpixmap                                                           },
+       { "EGL_KHR_cl_event2",                                                                  DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),                                                                s_EGL_KHR_cl_event2                                                                     },
+       { "EGL_KHR_debug",                                                                              DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug),                                                                    s_EGL_KHR_debug                                                                         },
+       { "EGL_KHR_fence_sync",                                                                 DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),                                                               s_EGL_KHR_fence_sync                                                            },
+       { "EGL_KHR_image",                                                                              DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),                                                                    s_EGL_KHR_image                                                                         },
+       { "EGL_KHR_image_base",                                                                 DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),                                                               s_EGL_KHR_image_base                                                            },
+       { "EGL_KHR_lock_surface",                                                               DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),                                                             s_EGL_KHR_lock_surface                                                          },
+       { "EGL_KHR_lock_surface3",                                                              DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),                                                    s_EGL_KHR_lock_surface3                                                         },
+       { "EGL_KHR_partial_update",                                                             DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),                                                   s_EGL_KHR_partial_update                                                        },
+       { "EGL_KHR_reusable_sync",                                                              DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),                                                    s_EGL_KHR_reusable_sync                                                         },
+       { "EGL_KHR_stream",                                                                             DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),                                                                   s_EGL_KHR_stream                                                                        },
+       { "EGL_KHR_stream_attrib",                                                              DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib),                                                    s_EGL_KHR_stream_attrib                                                         },
+       { "EGL_KHR_stream_consumer_gltexture",                                  DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),                                s_EGL_KHR_stream_consumer_gltexture                                     },
+       { "EGL_KHR_stream_cross_process_fd",                                    DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),                                  s_EGL_KHR_stream_cross_process_fd                                       },
+       { "EGL_KHR_stream_fifo",                                                                DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),                                                              s_EGL_KHR_stream_fifo                                                           },
+       { "EGL_KHR_stream_producer_eglsurface",                                 DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),                               s_EGL_KHR_stream_producer_eglsurface                            },
+       { "EGL_KHR_swap_buffers_with_damage",                                   DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),                                 s_EGL_KHR_swap_buffers_with_damage                                      },
+       { "EGL_KHR_wait_sync",                                                                  DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),                                                                s_EGL_KHR_wait_sync                                                                     },
+       { "EGL_MESA_drm_image",                                                                 DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),                                                               s_EGL_MESA_drm_image                                                            },
+       { "EGL_MESA_image_dma_buf_export",                                              DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),                                    s_EGL_MESA_image_dma_buf_export                                         },
+       { "EGL_NOK_swap_region",                                                                DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),                                                              s_EGL_NOK_swap_region                                                           },
+       { "EGL_NOK_swap_region2",                                                               DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),                                                             s_EGL_NOK_swap_region2                                                          },
+       { "EGL_NV_native_query",                                                                DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),                                                              s_EGL_NV_native_query                                                           },
+       { "EGL_NV_post_sub_buffer",                                                             DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),                                                   s_EGL_NV_post_sub_buffer                                                        },
+       { "EGL_NV_stream_consumer_gltexture_yuv",                               DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv),                             s_EGL_NV_stream_consumer_gltexture_yuv                          },
+       { "EGL_NV_stream_metadata",                                                             DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata),                                                   s_EGL_NV_stream_metadata                                                        },
+       { "EGL_NV_stream_reset",                                                                DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset),                                                              s_EGL_NV_stream_reset                                                           },
+       { "EGL_NV_stream_sync",                                                                 DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),                                                               s_EGL_NV_stream_sync                                                            },
+       { "EGL_NV_sync",                                                                                DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),                                                                              s_EGL_NV_sync                                                                           },
+       { "EGL_NV_system_time",                                                                 DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),                                                               s_EGL_NV_system_time                                                            },
+       { "GL_APPLE_copy_texture_levels",                                               DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),                                             s_GL_APPLE_copy_texture_levels                                          },
+       { "GL_APPLE_framebuffer_multisample",                                   DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),                                 s_GL_APPLE_framebuffer_multisample                                      },
+       { "GL_APPLE_sync",                                                                              DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),                                                                    s_GL_APPLE_sync                                                                         },
+       { "GL_EXT_discard_framebuffer",                                                 DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),                                               s_GL_EXT_discard_framebuffer                                            },
+       { "GL_EXT_map_buffer_range",                                                    DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),                                                  s_GL_EXT_map_buffer_range                                                       },
+       { "GL_EXT_multi_draw_arrays",                                                   DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),                                                 s_GL_EXT_multi_draw_arrays                                                      },
+       { "GL_EXT_multisampled_render_to_texture",                              DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),                    s_GL_EXT_multisampled_render_to_texture                         },
+       { "GL_EXT_robustness",                                                                  DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),                                                                s_GL_EXT_robustness                                                                     },
+       { "GL_EXT_texture_storage",                                                             DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),                                                   s_GL_EXT_texture_storage                                                        },
+       { "GL_IMG_multisampled_render_to_texture",                              DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),                    s_GL_IMG_multisampled_render_to_texture                         },
+       { "GL_IMG_user_clip_plane",                                                             DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),                                                   s_GL_IMG_user_clip_plane                                                        },
+       { "GL_NV_fence",                                                                                DE_LENGTH_OF_ARRAY(s_GL_NV_fence),                                                                              s_GL_NV_fence                                                                           },
+       { "GL_OES_EGL_image",                                                                   DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),                                                                 s_GL_OES_EGL_image                                                                      },
+       { "GL_OES_blend_equation_separate",                                             DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),                                   s_GL_OES_blend_equation_separate                                        },
+       { "GL_OES_blend_func_separate",                                                 DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),                                               s_GL_OES_blend_func_separate                                            },
+       { "GL_OES_blend_subtract",                                                              DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),                                                    s_GL_OES_blend_subtract                                                         },
+       { "GL_OES_draw_texture",                                                                DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),                                                              s_GL_OES_draw_texture                                                           },
+       { "GL_OES_fixed_point",                                                                 DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),                                                               s_GL_OES_fixed_point                                                            },
+       { "GL_OES_framebuffer_object",                                                  DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),                                                s_GL_OES_framebuffer_object                                                     },
+       { "GL_OES_mapbuffer",                                                                   DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),                                                                 s_GL_OES_mapbuffer                                                                      },
+       { "GL_OES_matrix_palette",                                                              DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),                                                    s_GL_OES_matrix_palette                                                         },
+       { "GL_OES_point_size_array",                                                    DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),                                                  s_GL_OES_point_size_array                                                       },
+       { "GL_OES_query_matrix",                                                                DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),                                                              s_GL_OES_query_matrix                                                           },
+       { "GL_OES_single_precision",                                                    DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),                                                  s_GL_OES_single_precision                                                       },
+       { "GL_OES_texture_cube_map",                                                    DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),                                                  s_GL_OES_texture_cube_map                                                       },
+       { "GL_OES_vertex_array_object",                                                 DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),                                               s_GL_OES_vertex_array_object                                            },
+       { "GL_QCOM_driver_control",                                                             DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),                                                   s_GL_QCOM_driver_control                                                        },
+       { "GL_QCOM_extended_get",                                                               DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),                                                             s_GL_QCOM_extended_get                                                          },
+       { "GL_QCOM_extended_get2",                                                              DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),                                                    s_GL_QCOM_extended_get2                                                         },
+       { "GL_QCOM_tiled_rendering",                                                    DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),                                                  s_GL_QCOM_tiled_rendering                                                       },
+       { "GL_AMD_performance_monitor",                                                 DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),                                               s_GL_AMD_performance_monitor                                            },
+       { "GL_ANGLE_framebuffer_blit",                                                  DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),                                                s_GL_ANGLE_framebuffer_blit                                                     },
+       { "GL_ANGLE_framebuffer_multisample",                                   DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),                                 s_GL_ANGLE_framebuffer_multisample                                      },
+       { "GL_ANGLE_instanced_arrays",                                                  DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),                                                s_GL_ANGLE_instanced_arrays                                                     },
+       { "GL_ANGLE_translated_shader_source",                                  DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),                                s_GL_ANGLE_translated_shader_source                                     },
+       { "GL_EXT_base_instance",                                                               DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),                                                             s_GL_EXT_base_instance                                                          },
+       { "GL_EXT_blend_func_extended",                                                 DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended),                                               s_GL_EXT_blend_func_extended                                            },
+       { "GL_EXT_buffer_storage",                                                              DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage),                                                    s_GL_EXT_buffer_storage                                                         },
+       { "GL_EXT_clear_texture",                                                               DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture),                                                             s_GL_EXT_clear_texture                                                          },
+       { "GL_EXT_copy_image",                                                                  DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),                                                                s_GL_EXT_copy_image                                                                     },
+       { "GL_EXT_debug_label",                                                                 DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),                                                               s_GL_EXT_debug_label                                                            },
+       { "GL_EXT_debug_marker",                                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),                                                              s_GL_EXT_debug_marker                                                           },
+       { "GL_EXT_disjoint_timer_query",                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),                                              s_GL_EXT_disjoint_timer_query                                           },
+       { "GL_EXT_draw_buffers",                                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),                                                              s_GL_EXT_draw_buffers                                                           },
+       { "GL_EXT_draw_buffers_indexed",                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),                                              s_GL_EXT_draw_buffers_indexed                                           },
+       { "GL_EXT_draw_elements_base_vertex",                                   DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),                                 s_GL_EXT_draw_elements_base_vertex                                      },
+       { "GL_EXT_draw_instanced",                                                              DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),                                                    s_GL_EXT_draw_instanced                                                         },
+       { "GL_EXT_draw_transform_feedback",                                             DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback),                                   s_GL_EXT_draw_transform_feedback                                        },
+       { "GL_EXT_geometry_shader",                                                             DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),                                                   s_GL_EXT_geometry_shader                                                        },
+       { "GL_EXT_instanced_arrays",                                                    DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),                                                  s_GL_EXT_instanced_arrays                                                       },
+       { "GL_EXT_multi_draw_indirect",                                                 DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),                                               s_GL_EXT_multi_draw_indirect                                            },
+       { "GL_EXT_multiview_draw_buffers",                                              DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),                                    s_GL_EXT_multiview_draw_buffers                                         },
+       { "GL_EXT_occlusion_query_boolean",                                             DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),                                   s_GL_EXT_occlusion_query_boolean                                        },
+       { "GL_EXT_polygon_offset_clamp",                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp),                                              s_GL_EXT_polygon_offset_clamp                                           },
+       { "GL_EXT_primitive_bounding_box",                                              DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),                                    s_GL_EXT_primitive_bounding_box                                         },
+       { "GL_EXT_raster_multisample",                                                  DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample),                                                s_GL_EXT_raster_multisample                                                     },
+       { "GL_EXT_separate_shader_objects",                                             DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),                                   s_GL_EXT_separate_shader_objects                                        },
+       { "GL_EXT_shader_pixel_local_storage2",                                 DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2),                               s_GL_EXT_shader_pixel_local_storage2                            },
+       { "GL_EXT_sparse_texture",                                                              DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture),                                                    s_GL_EXT_sparse_texture                                                         },
+       { "GL_EXT_tessellation_shader",                                                 DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),                                               s_GL_EXT_tessellation_shader                                            },
+       { "GL_EXT_texture_border_clamp",                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),                                              s_GL_EXT_texture_border_clamp                                           },
+       { "GL_EXT_texture_buffer",                                                              DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),                                                    s_GL_EXT_texture_buffer                                                         },
+       { "GL_EXT_texture_filter_minmax",                                               DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax),                                             s_GL_EXT_texture_filter_minmax                                          },
+       { "GL_EXT_texture_view",                                                                DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),                                                              s_GL_EXT_texture_view                                                           },
+       { "GL_EXT_window_rectangles",                                                   DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles),                                                 s_GL_EXT_window_rectangles                                                      },
+       { "GL_IMG_bindless_texture",                                                    DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture),                                                  s_GL_IMG_bindless_texture                                                       },
+       { "GL_IMG_framebuffer_downsample",                                              DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample),                                    s_GL_IMG_framebuffer_downsample                                         },
+       { "GL_INTEL_framebuffer_CMAA",                                                  DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA),                                                s_GL_INTEL_framebuffer_CMAA                                                     },
+       { "GL_INTEL_performance_query",                                                 DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),                                               s_GL_INTEL_performance_query                                            },
+       { "GL_KHR_blend_equation_advanced",                                             DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),                                   s_GL_KHR_blend_equation_advanced                                        },
+       { "GL_KHR_debug",                                                                               DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),                                                                             s_GL_KHR_debug                                                                          },
+       { "GL_KHR_robustness",                                                                  DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),                                                                s_GL_KHR_robustness                                                                     },
+       { "GL_NV_bindless_texture",                                                             DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),                                                   s_GL_NV_bindless_texture                                                        },
+       { "GL_NV_blend_equation_advanced",                                              DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),                                    s_GL_NV_blend_equation_advanced                                         },
+       { "GL_NV_conditional_render",                                                   DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),                                                 s_GL_NV_conditional_render                                                      },
+       { "GL_NV_conservative_raster",                                                  DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster),                                                s_GL_NV_conservative_raster                                                     },
+       { "GL_NV_conservative_raster_pre_snap_triangles",               DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster_pre_snap_triangles),             s_GL_NV_conservative_raster_pre_snap_triangles          },
+       { "GL_NV_copy_buffer",                                                                  DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),                                                                s_GL_NV_copy_buffer                                                                     },
+       { "GL_NV_coverage_sample",                                                              DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),                                                    s_GL_NV_coverage_sample                                                         },
+       { "GL_NV_draw_buffers",                                                                 DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),                                                               s_GL_NV_draw_buffers                                                            },
+       { "GL_NV_draw_instanced",                                                               DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),                                                             s_GL_NV_draw_instanced                                                          },
+       { "GL_NV_fragment_coverage_to_color",                                   DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color),                                 s_GL_NV_fragment_coverage_to_color                                      },
+       { "GL_NV_framebuffer_blit",                                                             DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),                                                   s_GL_NV_framebuffer_blit                                                        },
+       { "GL_NV_framebuffer_mixed_samples",                                    DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples),                                  s_GL_NV_framebuffer_mixed_samples                                       },
+       { "GL_NV_framebuffer_multisample",                                              DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),                                    s_GL_NV_framebuffer_multisample                                         },
+       { "GL_NV_gpu_shader5",                                                                  DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5),                                                                s_GL_NV_gpu_shader5                                                                     },
+       { "GL_NV_instanced_arrays",                                                             DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),                                                   s_GL_NV_instanced_arrays                                                        },
+       { "GL_NV_internalformat_sample_query",                                  DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),                                s_GL_NV_internalformat_sample_query                                     },
+       { "GL_NV_non_square_matrices",                                                  DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),                                                s_GL_NV_non_square_matrices                                                     },
+       { "GL_NV_path_rendering",                                                               DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),                                                             s_GL_NV_path_rendering                                                          },
+       { "GL_NV_polygon_mode",                                                                 DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode),                                                               s_GL_NV_polygon_mode                                                            },
+       { "GL_NV_read_buffer",                                                                  DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),                                                                s_GL_NV_read_buffer                                                                     },
+       { "GL_NV_sample_locations",                                                             DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations),                                                   s_GL_NV_sample_locations                                                        },
+       { "GL_NV_viewport_array",                                                               DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),                                                             s_GL_NV_viewport_array                                                          },
+       { "GL_NV_viewport_swizzle",                                                             DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle),                                                   s_GL_NV_viewport_swizzle                                                        },
+       { "GL_OES_copy_image",                                                                  DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),                                                                s_GL_OES_copy_image                                                                     },
+       { "GL_OES_draw_buffers_indexed",                                                DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),                                              s_GL_OES_draw_buffers_indexed                                           },
+       { "GL_OES_draw_elements_base_vertex",                                   DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),                                 s_GL_OES_draw_elements_base_vertex                                      },
+       { "GL_OES_geometry_shader",                                                             DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),                                                   s_GL_OES_geometry_shader                                                        },
+       { "GL_OES_get_program_binary",                                                  DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),                                                s_GL_OES_get_program_binary                                                     },
+       { "GL_OES_primitive_bounding_box",                                              DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),                                    s_GL_OES_primitive_bounding_box                                         },
+       { "GL_OES_sample_shading",                                                              DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),                                                    s_GL_OES_sample_shading                                                         },
+       { "GL_OES_tessellation_shader",                                                 DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),                                               s_GL_OES_tessellation_shader                                            },
+       { "GL_OES_texture_3D",                                                                  DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),                                                                s_GL_OES_texture_3D                                                                     },
+       { "GL_OES_texture_border_clamp",                                                DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),                                              s_GL_OES_texture_border_clamp                                           },
+       { "GL_OES_texture_buffer",                                                              DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),                                                    s_GL_OES_texture_buffer                                                         },
+       { "GL_OES_texture_storage_multisample_2d_array",                DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array),              s_GL_OES_texture_storage_multisample_2d_array           },
+       { "GL_OES_texture_view",                                                                DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),                                                              s_GL_OES_texture_view                                                           },
+       { "GL_OES_viewport_array",                                                              DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array),                                                    s_GL_OES_viewport_array                                                         },
+       { "GL_OVR_multiview",                                                                   DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview),                                                                 s_GL_OVR_multiview                                                                      },
+       { "GL_OVR_multiview_multisampled_render_to_texture",    DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview_multisampled_render_to_texture),  s_GL_OVR_multiview_multisampled_render_to_texture       },
+       { "GL_QCOM_alpha_test",                                                                 DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),                                                               s_GL_QCOM_alpha_test                                                            },
+       { "GL_QCOM_framebuffer_foveated",                                               DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated),                                             s_GL_QCOM_framebuffer_foveated                                          },
+       { "GL_NV_draw_vulkan_image",                                                    DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image),                                                  s_GL_NV_draw_vulkan_image                                                       },
 };
index c8761ce..552d5cb 100644 (file)
@@ -4,7 +4,7 @@
 # drawElements Quality Program utilities
 # --------------------------------------
 #
-# Copyright 2015 The Android Open Source Project
+# Copyright 2015-2017 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -38,8 +38,9 @@ EGL_DIR                               = os.path.normpath(os.path.join(SCRIPTS_DIR, "..", "..", "framework",
 EGL_WRAPPER_DIR                = os.path.normpath(os.path.join(EGL_DIR, "wrapper"))
 
 EGL_SOURCE                     = khr_util.registry_cache.RegistrySource(
-                                               "egl.xml",
-                                               33315,
+                                               "https://raw.githubusercontent.com/KhronosGroup/EGL-Registry",
+                                               "api/egl.xml",
+                                               "7fdf7d3a1ad50afa03968db889b68af211da6e27",
                                                "19f3b517f0dede56a6a94b820d08149ef5e1726f58202f47d69fa27f6f483bd2")
 
 VERSION                                = '1.5'
index 47f06e0..9c553b9 100644 (file)
@@ -4,7 +4,7 @@
 # drawElements Quality Program utilities
 # --------------------------------------
 #
-# Copyright 2015 The Android Open Source Project
+# Copyright 2015-2017 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -29,22 +29,23 @@ import registry
 BASE_URL = ""
 
 class RegistrySource:
-       def __init__(self, filename, revision, checksum):
+       def __init__(self, repository, filename, revision, checksum):
+               self.repository = repository
                self.filename   = filename
                self.revision   = revision
                self.checksum   = checksum
 
        def __hash__(self):
-               return hash((self.filename, self.revision, self.checksum))
+               return hash((self.repository, self.filename, self.revision, self.checksum))
 
        def __eq__(self, other):
-               return (self.filename, self.revision, self.checksum) == (other.filename, other.revision, other.checksum)
+               return (self.repository, self.filename, self.revision, self.checksum) == (other.repository, other.filename, other.revision, other.checksum)
 
        def getFilename (self):
-               return self.filename
+               return os.path.basename(self.filename)
 
        def getCacheFilename (self):
-               return "r%d-%s" % (self.revision, self.filename)
+               return "r%s-%s" % (self.revision, self.getFilename())
 
        def getChecksum (self):
                return self.checksum
@@ -53,7 +54,7 @@ class RegistrySource:
                return self.revision
 
        def getSourceUrl (self):
-               return "https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/%s?r=%d" % (self.filename, self.revision)
+               return "%s/%s/%s" % (self.repository, self.revision, self.filename)
 
 def computeChecksum (data):
        return hashlib.sha256(data).hexdigest()
index 03b3051..c4ced08 100644 (file)
@@ -4,7 +4,7 @@
 # drawElements Quality Program utilities
 # --------------------------------------
 #
-# Copyright 2015 The Android Open Source Project
+# Copyright 2015-2017 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -36,9 +36,10 @@ EGL_DIR                              = os.path.normpath(os.path.join(SCRIPTS_DIR, "..", "..", "framework",
 OPENGL_INC_DIR         = os.path.join(OPENGL_DIR, "wrapper")
 
 GL_SOURCE                      = khr_util.registry_cache.RegistrySource(
-                                               "gl.xml",
-                                               32093,
-                                               "3292120320cacbc27009e7507656d7be17bb25f06876814c67eeffa369281eed")
+                                               "https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry",
+                                               "xml/gl.xml",
+                                               "db2965fc26513b254e2f964171f79e416a05fe29",
+                                               "c4a4e241dc63ed3d1c4cd50451e5baef330dbb51dd3ecb278be80a5779f5b348")
 
 EXTENSIONS                     = [
        'GL_KHR_texture_compression_astc_ldr',