EGL: sync headers with Khronos

Since [1], EGL removed the inclusion of the Xlib headers by default.
The logic is now reversed, and the call has to define USE_X11 to include the
Xlib headers instead of EGL_NO_X11_HEADERS to prevent the inclusion.

[1]: 3670d645f4

Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18848>
This commit is contained in:
Simon Zeni 2022-09-28 06:23:01 -04:00 committed by Marge Bot
parent 1fc7f0f084
commit 96894e6746
6 changed files with 178 additions and 57 deletions

View File

@ -14,7 +14,7 @@ extern "C" {
** used to make the header, and the header can be found at
** http://www.khronos.org/registry/egl
**
** Khronos $Git commit SHA1: e8baa0bf39 $ on $Git commit date: 2021-04-26 17:56:26 -0600 $
** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $
*/
#include <EGL/eglplatform.h>
@ -23,7 +23,7 @@ extern "C" {
#define EGL_EGL_PROTOTYPES 1
#endif
/* Generated on date 20210604 */
/* Generated on date 20220525 */
/* Generated C header for:
* API: egl

View File

@ -14,12 +14,12 @@ extern "C" {
** used to make the header, and the header can be found at
** http://www.khronos.org/registry/egl
**
** Khronos $Git commit SHA1: dc0b58dca5 $ on $Git commit date: 2021-06-25 01:58:50 +0200 $
** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $
*/
#include <EGL/eglplatform.h>
#define EGL_EGLEXT_VERSION 20210629
#define EGL_EGLEXT_VERSION 20220525
/* Generated C header for:
* API: egl
@ -700,6 +700,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint a
#ifndef EGL_EXT_device_openwf
#define EGL_EXT_device_openwf 1
#define EGL_OPENWF_DEVICE_ID_EXT 0x3237
#define EGL_OPENWF_DEVICE_EXT 0x333D
#endif /* EGL_EXT_device_openwf */
#ifndef EGL_EXT_device_persistent_id
@ -722,6 +723,10 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLi
#define EGL_RENDERER_EXT 0x335F
#endif /* EGL_EXT_device_query_name */
#ifndef EGL_EXT_explicit_device
#define EGL_EXT_explicit_device 1
#endif /* EGL_EXT_explicit_device */
#ifndef EGL_EXT_gl_colorspace_bt2020_linear
#define EGL_EXT_gl_colorspace_bt2020_linear 1
#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
@ -947,6 +952,31 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStr
#define EGL_METADATA_SCALING_EXT 50000
#endif /* EGL_EXT_surface_SMPTE2086_metadata */
#ifndef EGL_EXT_surface_compression
#define EGL_EXT_surface_compression 1
#define EGL_SURFACE_COMPRESSION_EXT 0x34B0
#define EGL_SURFACE_COMPRESSION_PLANE1_EXT 0x328E
#define EGL_SURFACE_COMPRESSION_PLANE2_EXT 0x328F
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x34B1
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x34B2
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x34B4
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x34B5
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x34B6
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x34B7
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x34B8
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x34B9
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x34BA
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x34BB
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x34BC
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE
#define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
#endif
#endif /* EGL_EXT_surface_compression */
#ifndef EGL_EXT_swap_buffers_with_damage
#define EGL_EXT_swap_buffers_with_damage 1
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
@ -1181,12 +1211,12 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface sur
#define EGL_STREAM_IMAGE_ADD_NV 0x3374
#define EGL_STREAM_IMAGE_REMOVE_NV 0x3375
#define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list);
EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);

View File

@ -398,6 +398,15 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurf
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTVKIMAGEANGLEPROC)(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info);
#endif /* EGL_ANGLE_vulkan_image */
#ifndef EGL_ANGLE_metal_shared_event_sync
#define EGL_ANGLE_metal_hared_event_sync 1
#define EGL_SYNC_METAL_SHARED_EVENT_ANGLE 0x34D8
#define EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE 0x34D9
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE 0x34DA
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE 0x34DB
typedef void* (EGLAPIENTRYP PFNEGLCOPYMETALSHAREDEVENTANGLEPROC)(EGLDisplay dpy, EGLSyncKHR sync);
#endif /* EGL_ANGLE_metal_shared_event_sync */
// clang-format on
#endif // INCLUDE_EGL_EGLEXT_ANGLE_

View File

@ -2,36 +2,17 @@
#define __eglplatform_h_
/*
** Copyright (c) 2007-2016 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
** Copyright 2007-2020 The Khronos Group Inc.
** SPDX-License-Identifier: Apache-2.0
*/
/* Platform-specific types and definitions for egl.h
* $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $
*
* Adopters may modify khrplatform.h and this file to suit their platform.
* You are encouraged to submit all modifications to the Khronos group so that
* they can be included in future versions of this file. Please submit changes
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
* by filing a bug against product "EGL" component "Registry".
* by filing an issue or pull request on the public Khronos EGL Registry, at
* https://www.github.com/KhronosGroup/EGL-Registry/
*/
#include <KHR/khrplatform.h>
@ -55,12 +36,6 @@
#endif
#define EGLAPIENTRYP EGLAPIENTRY*
#if defined(MESA_EGL_NO_X11_HEADERS) && !defined(EGL_NO_X11)
#warning "`MESA_EGL_NO_X11_HEADERS` is deprecated, and doesn't work with the unmodified Khronos header"
#warning "Please use `EGL_NO_X11` instead, as `MESA_EGL_NO_X11_HEADERS` will be removed soon"
#define EGL_NO_X11
#endif
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
* are aliases of window-system-dependent types, such as X Display * or
* Windows Device Context. They must be defined in platform-specific
@ -73,7 +48,13 @@
* implementations.
*/
#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
typedef void *EGLNativeDisplayType;
typedef void *EGLNativePixmapType;
typedef void *EGLNativeWindowType;
#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1
#endif
@ -122,13 +103,7 @@ typedef intptr_t EGLNativeDisplayType;
typedef intptr_t EGLNativePixmapType;
typedef intptr_t EGLNativeWindowType;
#elif defined(__unix__) && defined(EGL_NO_X11)
typedef void *EGLNativeDisplayType;
typedef khronos_uintptr_t EGLNativePixmapType;
typedef khronos_uintptr_t EGLNativeWindowType;
#elif defined(__unix__) || defined(USE_X11)
#elif defined(USE_X11)
/* X11 (tentative) */
#include <X11/Xlib.h>
@ -138,6 +113,12 @@ typedef Display *EGLNativeDisplayType;
typedef Pixmap EGLNativePixmapType;
typedef Window EGLNativeWindowType;
#elif defined(__unix__)
typedef void *EGLNativeDisplayType;
typedef khronos_uintptr_t EGLNativePixmapType;
typedef khronos_uintptr_t EGLNativeWindowType;
#elif defined(__APPLE__)
typedef int EGLNativeDisplayType;
@ -152,6 +133,12 @@ typedef void *EGLNativeDisplayType;
typedef khronos_uintptr_t EGLNativePixmapType;
typedef khronos_uintptr_t EGLNativeWindowType;
#elif defined(__Fuchsia__)
typedef void *EGLNativeDisplayType;
typedef khronos_uintptr_t EGLNativePixmapType;
typedef khronos_uintptr_t EGLNativeWindowType;
#else
#error "Platform not recognized"
#endif

View File

@ -107,9 +107,7 @@
# define KHRONOS_APICALL __declspec(dllimport)
#elif defined (__SYMBIAN32__)
# define KHRONOS_APICALL IMPORT_C
#elif (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303) \
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
/* KHRONOS_APIATTRIBUTES is not used by the client API headers yet */
#elif defined(__ANDROID__)
# define KHRONOS_APICALL __attribute__((visibility("default")))
#else
# define KHRONOS_APICALL
@ -121,7 +119,7 @@
* This follows the return type of the function and precedes the function
* name in the function prototype.
*/
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(KHRONOS_STATIC)
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
/* Win32 but not WinCE */
# define KHRONOS_APIENTRY __stdcall
#else
@ -155,6 +153,20 @@ typedef int64_t khronos_int64_t;
typedef uint64_t khronos_uint64_t;
#define KHRONOS_SUPPORT_INT64 1
#define KHRONOS_SUPPORT_FLOAT 1
/*
* To support platform where unsigned long cannot be used interchangeably with
* inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t.
* Ideally, we could just use (u)intptr_t everywhere, but this could result in
* ABI breakage if khronos_uintptr_t is changed from unsigned long to
* unsigned long long or similar (this results in different C++ name mangling).
* To avoid changes for existing platforms, we restrict usage of intptr_t to
* platforms where the size of a pointer is larger than the size of long.
*/
#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__)
#if __SIZEOF_POINTER__ > __SIZEOF_LONG__
#define KHRONOS_USE_INTPTR_T
#endif
#endif
#elif defined(__VMS ) || defined(__sgi)
@ -237,14 +249,21 @@ typedef unsigned short int khronos_uint16_t;
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
* to be the only LLP64 architecture in current use.
*/
#ifdef _WIN64
#ifdef KHRONOS_USE_INTPTR_T
typedef intptr_t khronos_intptr_t;
typedef uintptr_t khronos_uintptr_t;
#elif defined(_WIN64)
typedef signed long long int khronos_intptr_t;
typedef unsigned long long int khronos_uintptr_t;
typedef signed long long int khronos_ssize_t;
typedef unsigned long long int khronos_usize_t;
#else
typedef signed long int khronos_intptr_t;
typedef unsigned long int khronos_uintptr_t;
#endif
#if defined(_WIN64)
typedef signed long long int khronos_ssize_t;
typedef unsigned long long int khronos_usize_t;
#else
typedef signed long int khronos_ssize_t;
typedef unsigned long int khronos_usize_t;
#endif

View File

@ -731,7 +731,9 @@
<enum value="0x3288" name="EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM"/>
<unused start="0x3289" end="0x3289"/>
<enum value="0x328A" name="EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM"/>
<unused start="0x328B" end="0x328F"/>
<unused start="0x328B" end="0x328D"/>
<enum value="0x328E" name="EGL_SURFACE_COMPRESSION_PLANE1_EXT"/>
<enum value="0x328F" name="EGL_SURFACE_COMPRESSION_PLANE2_EXT"/>
</enums>
<enums namespace="EGL" start="0x3290" end="0x329F" vendor="MESA" comment="Reserved for John K&#229;re Alsaker (Public bug 757)">
@ -829,7 +831,8 @@
<enum value="0x333A" name="EGL_COLOR_COMPONENT_TYPE_FIXED_EXT"/>
<enum value="0x333B" name="EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT"/>
<enum value="0x333C" name="EGL_DRM_MASTER_FD_EXT"/>
<unused start="0x333D" end="0x333E"/>
<enum value="0x333D" name="EGL_OPENWF_DEVICE_EXT"/>
<unused start="0x333E"/>
<enum value="0x333F" name="EGL_GL_COLORSPACE_BT2020_LINEAR_EXT"/>
<enum value="0x3340" name="EGL_GL_COLORSPACE_BT2020_PQ_EXT"/>
<enum value="0x3341" name="EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT"/>
@ -1026,7 +1029,22 @@
</enums>
<enums namespace="EGL" start="0x34B0" end="0x34BF" vendor="ARM" comment="Reserved for Jan-Harald Fredriksen (via github pull request)">
<unused start="0x34B0" end="0x34BF"/>
<enum value="0x34B0" name="EGL_SURFACE_COMPRESSION_EXT"/>
<enum value="0x34B1" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT"/>
<enum value="0x34B2" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT"/>
<unused start="0x34B3" end="0x34B3"/>
<enum value="0x34B4" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT"/>
<enum value="0x34B5" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT"/>
<enum value="0x34B6" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT"/>
<enum value="0x34B7" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT"/>
<enum value="0x34B8" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT"/>
<enum value="0x34B9" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT"/>
<enum value="0x34BA" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT"/>
<enum value="0x34BB" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT"/>
<enum value="0x34BC" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT"/>
<enum value="0x34BD" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT"/>
<enum value="0x34BE" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT"/>
<enum value="0x34BF" name="EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT"/>
</enums>
<enums namespace="EGL" start="0x34C0" end="0x34CF" vendor="EXT" comment="Reserved for Robert Mader (PR 124)">
@ -1034,6 +1052,27 @@
<unused start="0x34C1" end="0x34CF"/>
</enums>
<enums namespace="EGL" start="0x34D0" end="0x34DF" vendor="ANGLE" comment="Reserved for Peng Huang - ANGLE (via github pull request)">
<unused start="0x34D0" end="0x34DF"/>
</enums>
<enums namespace="EGL" start="0x34E0" end="0x34EF" vendor="Huawei" comment="Reserved for Openharmony OS (via github pull request)">
<unused start="0x34E0" end="0x34EF"/>
</enums>
<enums namespace="EGL" start="0x34F0" end="0x34FF" vendor="ANGLE" comment="Reserved for Ken Russell - ANGLE (via github pull request)">
<unused start="0x34F0" end="0x34FF"/>
</enums>
<enums namespace="EGL" start="0x3500" end="0x352F" vendor="COREAVI" comment="Reserved for Daniel Herring (via github pull request)">
<unused start="0x3500" end="0x352F"/>
</enums>
<enums namespace="EGL" start="0x3530" end="0x353F" vendor="MESA" comment="Reserved for Simon Zeni (PR 165)">
<enum value="0x3530" name="EGL_GL_TEXTURE_CUBE_MAP_MESA"/>
<unused start="0x3531" end="0x353F"/>
</enums>
<!-- Please remember that new enumerant allocations must be obtained by
request to the Khronos API registrar (see comments at the top of this
file) File requests in the Khronos Bugzilla, EGL project, Registry
@ -1043,8 +1082,8 @@
<!-- Reservable for future use. To generate a new range, allocate multiples
of 16 starting at the lowest available point in this block. -->
<enums namespace="EGL" start="0x34D0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
<unused start="0x34D0" end="0x3FFF"/>
<enums namespace="EGL" start="0x3540" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
<unused start="0x3540" end="0x3FFF"/>
</enums>
<enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">
@ -1692,6 +1731,15 @@
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>name</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglQuerySupportedCompressionRatesEXT</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLConfig</ptype> <name>config</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
<param><ptype>EGLint</ptype> *<name>rates</name></param>
<param><ptype>EGLint</ptype> <name>rate_size</name></param>
<param><ptype>EGLint</ptype> *<name>num_rates</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglQuerySurface</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
@ -1965,8 +2013,8 @@
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param><ptype>EGLint</ptype> <name>num_modifiers</name></param>
<param><ptype>EGLuint64KHR</ptype> *<name>modifiers</name></param>
<param><ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
<param>const <ptype>EGLuint64KHR</ptype> *<name>modifiers</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglQueryStreamConsumerEventNV</name></proto>
@ -2435,6 +2483,7 @@
<extension name="EGL_EXT_device_openwf" supported="egl">
<require>
<enum name="EGL_OPENWF_DEVICE_ID_EXT"/>
<enum name="EGL_OPENWF_DEVICE_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_device_query" supported="egl">
@ -3382,6 +3431,28 @@
<enum name="EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_surface_compression" supported="egl">
<require>
<enum name="EGL_SURFACE_COMPRESSION_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_PLANE1_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_PLANE2_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT"/>
<enum name="EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT"/>
<command name="eglQuerySupportedCompressionRatesEXT"/>
</require>
</extension>
<extension name="EGL_EXT_image_implicit_sync_control" supported="egl">
<require>
<enum name="EGL_IMPORT_SYNC_TYPE_EXT"/>
@ -3457,5 +3528,10 @@
<enum name="EGL_DRM_RENDER_NODE_FILE_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_explicit_device" supported="egl">
<require>
<enum name="EGL_DEVICE_EXT"/>
</require>
</extension>
</extensions>
</registry>