]> git.xonotic.org Git - xonotic/darkplaces.git/blob - packages/sdl2.nuget.2.0.22/build/native/include/SDL_egl.h
Update SDL2.nuget package to 2.0.22, add some more things to .gitignore.
[xonotic/darkplaces.git] / packages / sdl2.nuget.2.0.22 / build / native / include / SDL_egl.h
1 /*
2   Simple DirectMedia Layer
3   Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
4
5   This software is provided 'as-is', without any express or implied
6   warranty.  In no event will the authors be held liable for any damages
7   arising from the use of this software.
8
9   Permission is granted to anyone to use this software for any purpose,
10   including commercial applications, and to alter it and redistribute it
11   freely, subject to the following restrictions:
12
13   1. The origin of this software must not be misrepresented; you must not
14      claim that you wrote the original software. If you use this software
15      in a product, an acknowledgment in the product documentation would be
16      appreciated but is not required.
17   2. Altered source versions must be plainly marked as such, and must not be
18      misrepresented as being the original software.
19   3. This notice may not be removed or altered from any source distribution.
20 */
21
22 /**
23  *  \file SDL_egl.h
24  *
25  *  This is a simple file to encapsulate the EGL API headers.
26  */
27 #if !defined(_MSC_VER) && !defined(__ANDROID__) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS)
28
29 #if defined(__vita__) || defined(__psp2__)
30 #include <psp2/types.h>
31 #endif
32
33 #include <EGL/egl.h>
34 #include <EGL/eglext.h>
35
36 #else /* _MSC_VER */
37
38 /* EGL headers for Visual Studio */
39
40 #ifndef __khrplatform_h_
41 #define __khrplatform_h_
42
43 /*
44 ** Copyright (c) 2008-2018 The Khronos Group Inc.
45 **
46 ** Permission is hereby granted, free of charge, to any person obtaining a
47 ** copy of this software and/or associated documentation files (the
48 ** "Materials"), to deal in the Materials without restriction, including
49 ** without limitation the rights to use, copy, modify, merge, publish,
50 ** distribute, sublicense, and/or sell copies of the Materials, and to
51 ** permit persons to whom the Materials are furnished to do so, subject to
52 ** the following conditions:
53 **
54 ** The above copyright notice and this permission notice shall be included
55 ** in all copies or substantial portions of the Materials.
56 **
57 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
58 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
59 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
60 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
61 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
62 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
63 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
64 */
65
66 /* Khronos platform-specific types and definitions.
67  *
68  * The master copy of khrplatform.h is maintained in the Khronos EGL
69  * Registry repository at https://github.com/KhronosGroup/EGL-Registry
70  * The last semantic modification to khrplatform.h was at commit ID:
71  *      67a3e0864c2d75ea5287b9f3d2eb74a745936692
72  *
73  * Adopters may modify this file to suit their platform. Adopters are
74  * encouraged to submit platform specific modifications to the Khronos
75  * group so that they can be included in future versions of this file.
76  * Please submit changes by filing pull requests or issues on
77  * the EGL Registry repository linked above.
78  *
79  *
80  * See the Implementer's Guidelines for information about where this file
81  * should be located on your system and for more details of its use:
82  *    http://www.khronos.org/registry/implementers_guide.pdf
83  *
84  * This file should be included as
85  *        #include <KHR/khrplatform.h>
86  * by Khronos client API header files that use its types and defines.
87  *
88  * The types in khrplatform.h should only be used to define API-specific types.
89  *
90  * Types defined in khrplatform.h:
91  *    khronos_int8_t              signed   8  bit
92  *    khronos_uint8_t             unsigned 8  bit
93  *    khronos_int16_t             signed   16 bit
94  *    khronos_uint16_t            unsigned 16 bit
95  *    khronos_int32_t             signed   32 bit
96  *    khronos_uint32_t            unsigned 32 bit
97  *    khronos_int64_t             signed   64 bit
98  *    khronos_uint64_t            unsigned 64 bit
99  *    khronos_intptr_t            signed   same number of bits as a pointer
100  *    khronos_uintptr_t           unsigned same number of bits as a pointer
101  *    khronos_ssize_t             signed   size
102  *    khronos_usize_t             unsigned size
103  *    khronos_float_t             signed   32 bit floating point
104  *    khronos_time_ns_t           unsigned 64 bit time in nanoseconds
105  *    khronos_utime_nanoseconds_t unsigned time interval or absolute time in
106  *                                         nanoseconds
107  *    khronos_stime_nanoseconds_t signed time interval in nanoseconds
108  *    khronos_boolean_enum_t      enumerated boolean type. This should
109  *      only be used as a base type when a client API's boolean type is
110  *      an enum. Client APIs which use an integer or other type for
111  *      booleans cannot use this as the base type for their boolean.
112  *
113  * Tokens defined in khrplatform.h:
114  *
115  *    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
116  *
117  *    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
118  *    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
119  *
120  * Calling convention macros defined in this file:
121  *    KHRONOS_APICALL
122  *    KHRONOS_APIENTRY
123  *    KHRONOS_APIATTRIBUTES
124  *
125  * These may be used in function prototypes as:
126  *
127  *      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
128  *                                  int arg1,
129  *                                  int arg2) KHRONOS_APIATTRIBUTES;
130  */
131
132 #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
133 #   define KHRONOS_STATIC 1
134 #endif
135
136 /*-------------------------------------------------------------------------
137  * Definition of KHRONOS_APICALL
138  *-------------------------------------------------------------------------
139  * This precedes the return type of the function in the function prototype.
140  */
141 #if defined(KHRONOS_STATIC)
142     /* If the preprocessor constant KHRONOS_STATIC is defined, make the
143      * header compatible with static linking. */
144 #   define KHRONOS_APICALL
145 #elif defined(_WIN32)
146 #   define KHRONOS_APICALL __declspec(dllimport)
147 #elif defined (__SYMBIAN32__)
148 #   define KHRONOS_APICALL IMPORT_C
149 #elif defined(__ANDROID__)
150 #   define KHRONOS_APICALL __attribute__((visibility("default")))
151 #else
152 #   define KHRONOS_APICALL
153 #endif
154
155 /*-------------------------------------------------------------------------
156  * Definition of KHRONOS_APIENTRY
157  *-------------------------------------------------------------------------
158  * This follows the return type of the function  and precedes the function
159  * name in the function prototype.
160  */
161 #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
162     /* Win32 but not WinCE */
163 #   define KHRONOS_APIENTRY __stdcall
164 #else
165 #   define KHRONOS_APIENTRY
166 #endif
167
168 /*-------------------------------------------------------------------------
169  * Definition of KHRONOS_APIATTRIBUTES
170  *-------------------------------------------------------------------------
171  * This follows the closing parenthesis of the function prototype arguments.
172  */
173 #if defined (__ARMCC_2__)
174 #define KHRONOS_APIATTRIBUTES __softfp
175 #else
176 #define KHRONOS_APIATTRIBUTES
177 #endif
178
179 /*-------------------------------------------------------------------------
180  * basic type definitions
181  *-----------------------------------------------------------------------*/
182 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
183
184
185 /*
186  * Using <stdint.h>
187  */
188 #include <stdint.h>
189 typedef int32_t                 khronos_int32_t;
190 typedef uint32_t                khronos_uint32_t;
191 typedef int64_t                 khronos_int64_t;
192 typedef uint64_t                khronos_uint64_t;
193 #define KHRONOS_SUPPORT_INT64   1
194 #define KHRONOS_SUPPORT_FLOAT   1
195
196 #elif defined(__VMS ) || defined(__sgi)
197
198 /*
199  * Using <inttypes.h>
200  */
201 #include <inttypes.h>
202 typedef int32_t                 khronos_int32_t;
203 typedef uint32_t                khronos_uint32_t;
204 typedef int64_t                 khronos_int64_t;
205 typedef uint64_t                khronos_uint64_t;
206 #define KHRONOS_SUPPORT_INT64   1
207 #define KHRONOS_SUPPORT_FLOAT   1
208
209 #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
210
211 /*
212  * Win32
213  */
214 typedef __int32                 khronos_int32_t;
215 typedef unsigned __int32        khronos_uint32_t;
216 typedef __int64                 khronos_int64_t;
217 typedef unsigned __int64        khronos_uint64_t;
218 #define KHRONOS_SUPPORT_INT64   1
219 #define KHRONOS_SUPPORT_FLOAT   1
220
221 #elif defined(__sun__) || defined(__digital__)
222
223 /*
224  * Sun or Digital
225  */
226 typedef int                     khronos_int32_t;
227 typedef unsigned int            khronos_uint32_t;
228 #if defined(__arch64__) || defined(_LP64)
229 typedef long int                khronos_int64_t;
230 typedef unsigned long int       khronos_uint64_t;
231 #else
232 typedef long long int           khronos_int64_t;
233 typedef unsigned long long int  khronos_uint64_t;
234 #endif /* __arch64__ */
235 #define KHRONOS_SUPPORT_INT64   1
236 #define KHRONOS_SUPPORT_FLOAT   1
237
238 #elif 0
239
240 /*
241  * Hypothetical platform with no float or int64 support
242  */
243 typedef int                     khronos_int32_t;
244 typedef unsigned int            khronos_uint32_t;
245 #define KHRONOS_SUPPORT_INT64   0
246 #define KHRONOS_SUPPORT_FLOAT   0
247
248 #else
249
250 /*
251  * Generic fallback
252  */
253 #include <stdint.h>
254 typedef int32_t                 khronos_int32_t;
255 typedef uint32_t                khronos_uint32_t;
256 typedef int64_t                 khronos_int64_t;
257 typedef uint64_t                khronos_uint64_t;
258 #define KHRONOS_SUPPORT_INT64   1
259 #define KHRONOS_SUPPORT_FLOAT   1
260
261 #endif
262
263
264 /*
265  * Types that are (so far) the same on all platforms
266  */
267 typedef signed   char          khronos_int8_t;
268 typedef unsigned char          khronos_uint8_t;
269 typedef signed   short int     khronos_int16_t;
270 typedef unsigned short int     khronos_uint16_t;
271
272 /*
273  * Types that differ between LLP64 and LP64 architectures - in LLP64,
274  * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
275  * to be the only LLP64 architecture in current use.
276  */
277 #ifdef _WIN64
278 typedef signed   long long int khronos_intptr_t;
279 typedef unsigned long long int khronos_uintptr_t;
280 typedef signed   long long int khronos_ssize_t;
281 typedef unsigned long long int khronos_usize_t;
282 #else
283 typedef signed   long  int     khronos_intptr_t;
284 typedef unsigned long  int     khronos_uintptr_t;
285 typedef signed   long  int     khronos_ssize_t;
286 typedef unsigned long  int     khronos_usize_t;
287 #endif
288
289 #if KHRONOS_SUPPORT_FLOAT
290 /*
291  * Float type
292  */
293 typedef          float         khronos_float_t;
294 #endif
295
296 #if KHRONOS_SUPPORT_INT64
297 /* Time types
298  *
299  * These types can be used to represent a time interval in nanoseconds or
300  * an absolute Unadjusted System Time.  Unadjusted System Time is the number
301  * of nanoseconds since some arbitrary system event (e.g. since the last
302  * time the system booted).  The Unadjusted System Time is an unsigned
303  * 64 bit value that wraps back to 0 every 584 years.  Time intervals
304  * may be either signed or unsigned.
305  */
306 typedef khronos_uint64_t       khronos_utime_nanoseconds_t;
307 typedef khronos_int64_t        khronos_stime_nanoseconds_t;
308 #endif
309
310 /*
311  * Dummy value used to pad enum types to 32 bits.
312  */
313 #ifndef KHRONOS_MAX_ENUM
314 #define KHRONOS_MAX_ENUM 0x7FFFFFFF
315 #endif
316
317 /*
318  * Enumerated boolean type
319  *
320  * Values other than zero should be considered to be true.  Therefore
321  * comparisons should not be made against KHRONOS_TRUE.
322  */
323 typedef enum {
324     KHRONOS_FALSE = 0,
325     KHRONOS_TRUE  = 1,
326     KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
327 } khronos_boolean_enum_t;
328
329 #endif /* __khrplatform_h_ */
330
331
332 #ifndef __eglplatform_h_
333 #define __eglplatform_h_
334
335 /*
336 ** Copyright 2007-2020 The Khronos Group Inc.
337 ** SPDX-License-Identifier: Apache-2.0
338 */
339
340 /* Platform-specific types and definitions for egl.h
341  *
342  * Adopters may modify khrplatform.h and this file to suit their platform.
343  * You are encouraged to submit all modifications to the Khronos group so that
344  * they can be included in future versions of this file.  Please submit changes
345  * by filing an issue or pull request on the public Khronos EGL Registry, at
346  * https://www.github.com/KhronosGroup/EGL-Registry/
347  */
348
349 /*#include <KHR/khrplatform.h>*/
350
351 /* Macros used in EGL function prototype declarations.
352  *
353  * EGL functions should be prototyped as:
354  *
355  * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
356  * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
357  *
358  * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
359  */
360
361 #ifndef EGLAPI
362 #define EGLAPI KHRONOS_APICALL
363 #endif
364
365 #ifndef EGLAPIENTRY
366 #define EGLAPIENTRY  KHRONOS_APIENTRY
367 #endif
368 #define EGLAPIENTRYP EGLAPIENTRY*
369
370 /* The types NativeDisplayType, NativeWindowType, and NativePixmapType
371  * are aliases of window-system-dependent types, such as X Display * or
372  * Windows Device Context. They must be defined in platform-specific
373  * code below. The EGL-prefixed versions of Native*Type are the same
374  * types, renamed in EGL 1.3 so all types in the API start with "EGL".
375  *
376  * Khronos STRONGLY RECOMMENDS that you use the default definitions
377  * provided below, since these changes affect both binary and source
378  * portability of applications using EGL running on different EGL
379  * implementations.
380  */
381
382 #if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
383
384 typedef void *EGLNativeDisplayType;
385 typedef void *EGLNativePixmapType;
386 typedef void *EGLNativeWindowType;
387
388 #elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
389 #ifndef WIN32_LEAN_AND_MEAN
390 #define WIN32_LEAN_AND_MEAN 1
391 #endif
392 #include <windows.h>
393
394 typedef HDC     EGLNativeDisplayType;
395 typedef HBITMAP EGLNativePixmapType;
396 typedef HWND    EGLNativeWindowType;
397
398 #elif defined(__EMSCRIPTEN__)
399
400 typedef int EGLNativeDisplayType;
401 typedef int EGLNativePixmapType;
402 typedef int EGLNativeWindowType;
403
404 #elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
405
406 typedef int   EGLNativeDisplayType;
407 typedef void *EGLNativePixmapType;
408 typedef void *EGLNativeWindowType;
409
410 #elif defined(WL_EGL_PLATFORM)
411
412 typedef struct wl_display     *EGLNativeDisplayType;
413 typedef struct wl_egl_pixmap  *EGLNativePixmapType;
414 typedef struct wl_egl_window  *EGLNativeWindowType;
415
416 #elif defined(__GBM__)
417
418 typedef struct gbm_device  *EGLNativeDisplayType;
419 typedef struct gbm_bo      *EGLNativePixmapType;
420 typedef void               *EGLNativeWindowType;
421
422 #elif defined(__ANDROID__) || defined(ANDROID)
423
424 struct ANativeWindow;
425 struct egl_native_pixmap_t;
426
427 typedef void*                           EGLNativeDisplayType;
428 typedef struct egl_native_pixmap_t*     EGLNativePixmapType;
429 typedef struct ANativeWindow*           EGLNativeWindowType;
430
431 #elif defined(USE_OZONE)
432
433 typedef intptr_t EGLNativeDisplayType;
434 typedef intptr_t EGLNativePixmapType;
435 typedef intptr_t EGLNativeWindowType;
436
437 #elif defined(USE_X11)
438
439 /* X11 (tentative)  */
440 #include <X11/Xlib.h>
441 #include <X11/Xutil.h>
442
443 typedef Display *EGLNativeDisplayType;
444 typedef Pixmap   EGLNativePixmapType;
445 typedef Window   EGLNativeWindowType;
446
447 #elif defined(__unix__)
448
449 typedef void             *EGLNativeDisplayType;
450 typedef khronos_uintptr_t EGLNativePixmapType;
451 typedef khronos_uintptr_t EGLNativeWindowType;
452
453 #elif defined(__APPLE__)
454
455 typedef int   EGLNativeDisplayType;
456 typedef void *EGLNativePixmapType;
457 typedef void *EGLNativeWindowType;
458
459 #elif defined(__HAIKU__)
460
461 #include <kernel/image.h>
462
463 typedef void              *EGLNativeDisplayType;
464 typedef khronos_uintptr_t  EGLNativePixmapType;
465 typedef khronos_uintptr_t  EGLNativeWindowType;
466
467 #elif defined(__Fuchsia__)
468
469 typedef void              *EGLNativeDisplayType;
470 typedef khronos_uintptr_t  EGLNativePixmapType;
471 typedef khronos_uintptr_t  EGLNativeWindowType;
472
473 #else
474 #error "Platform not recognized"
475 #endif
476
477 /* EGL 1.2 types, renamed for consistency in EGL 1.3 */
478 typedef EGLNativeDisplayType NativeDisplayType;
479 typedef EGLNativePixmapType  NativePixmapType;
480 typedef EGLNativeWindowType  NativeWindowType;
481
482
483 /* Define EGLint. This must be a signed integral type large enough to contain
484  * all legal attribute names and values passed into and out of EGL, whether
485  * their type is boolean, bitmask, enumerant (symbolic constant), integer,
486  * handle, or other.  While in general a 32-bit integer will suffice, if
487  * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
488  * integer type.
489  */
490 typedef khronos_int32_t EGLint;
491
492
493 /* C++ / C typecast macros for special EGL handle values */
494 #if defined(__cplusplus)
495 #define EGL_CAST(type, value) (static_cast<type>(value))
496 #else
497 #define EGL_CAST(type, value) ((type) (value))
498 #endif
499
500 #endif /* __eglplatform_h */
501
502
503 #ifndef __egl_h_
504 #define __egl_h_ 1
505
506 #ifdef __cplusplus
507 extern "C" {
508 #endif
509
510 /*
511 ** Copyright 2013-2020 The Khronos Group Inc.
512 ** SPDX-License-Identifier: Apache-2.0
513 **
514 ** This header is generated from the Khronos EGL XML API Registry.
515 ** The current version of the Registry, generator scripts
516 ** used to make the header, and the header can be found at
517 **   http://www.khronos.org/registry/egl
518 **
519 ** Khronos $Git commit SHA1: b35e89ca9a $ on $Git commit date: 2021-09-01 09:34:00 +0530 $
520 */
521
522 /*#include <EGL/eglplatform.h>*/
523
524 #ifndef EGL_EGL_PROTOTYPES
525 #define EGL_EGL_PROTOTYPES 1
526 #endif
527
528 /* Generated on date 20210901 */
529
530 /* Generated C header for:
531  * API: egl
532  * Versions considered: .*
533  * Versions emitted: .*
534  * Default extensions included: None
535  * Additional extensions included: _nomatch_^
536  * Extensions removed: _nomatch_^
537  */
538
539 #ifndef EGL_VERSION_1_0
540 #define EGL_VERSION_1_0 1
541 typedef unsigned int EGLBoolean;
542 typedef void *EGLDisplay;
543 /*#include <KHR/khrplatform.h>*/
544 /*#include <EGL/eglplatform.h>*/
545 typedef void *EGLConfig;
546 typedef void *EGLSurface;
547 typedef void *EGLContext;
548 typedef void (*__eglMustCastToProperFunctionPointerType)(void);
549 #define EGL_ALPHA_SIZE                    0x3021
550 #define EGL_BAD_ACCESS                    0x3002
551 #define EGL_BAD_ALLOC                     0x3003
552 #define EGL_BAD_ATTRIBUTE                 0x3004
553 #define EGL_BAD_CONFIG                    0x3005
554 #define EGL_BAD_CONTEXT                   0x3006
555 #define EGL_BAD_CURRENT_SURFACE           0x3007
556 #define EGL_BAD_DISPLAY                   0x3008
557 #define EGL_BAD_MATCH                     0x3009
558 #define EGL_BAD_NATIVE_PIXMAP             0x300A
559 #define EGL_BAD_NATIVE_WINDOW             0x300B
560 #define EGL_BAD_PARAMETER                 0x300C
561 #define EGL_BAD_SURFACE                   0x300D
562 #define EGL_BLUE_SIZE                     0x3022
563 #define EGL_BUFFER_SIZE                   0x3020
564 #define EGL_CONFIG_CAVEAT                 0x3027
565 #define EGL_CONFIG_ID                     0x3028
566 #define EGL_CORE_NATIVE_ENGINE            0x305B
567 #define EGL_DEPTH_SIZE                    0x3025
568 #define EGL_DONT_CARE                     EGL_CAST(EGLint,-1)
569 #define EGL_DRAW                          0x3059
570 #define EGL_EXTENSIONS                    0x3055
571 #define EGL_FALSE                         0
572 #define EGL_GREEN_SIZE                    0x3023
573 #define EGL_HEIGHT                        0x3056
574 #define EGL_LARGEST_PBUFFER               0x3058
575 #define EGL_LEVEL                         0x3029
576 #define EGL_MAX_PBUFFER_HEIGHT            0x302A
577 #define EGL_MAX_PBUFFER_PIXELS            0x302B
578 #define EGL_MAX_PBUFFER_WIDTH             0x302C
579 #define EGL_NATIVE_RENDERABLE             0x302D
580 #define EGL_NATIVE_VISUAL_ID              0x302E
581 #define EGL_NATIVE_VISUAL_TYPE            0x302F
582 #define EGL_NONE                          0x3038
583 #define EGL_NON_CONFORMANT_CONFIG         0x3051
584 #define EGL_NOT_INITIALIZED               0x3001
585 #define EGL_NO_CONTEXT                    EGL_CAST(EGLContext,0)
586 #define EGL_NO_DISPLAY                    EGL_CAST(EGLDisplay,0)
587 #define EGL_NO_SURFACE                    EGL_CAST(EGLSurface,0)
588 #define EGL_PBUFFER_BIT                   0x0001
589 #define EGL_PIXMAP_BIT                    0x0002
590 #define EGL_READ                          0x305A
591 #define EGL_RED_SIZE                      0x3024
592 #define EGL_SAMPLES                       0x3031
593 #define EGL_SAMPLE_BUFFERS                0x3032
594 #define EGL_SLOW_CONFIG                   0x3050
595 #define EGL_STENCIL_SIZE                  0x3026
596 #define EGL_SUCCESS                       0x3000
597 #define EGL_SURFACE_TYPE                  0x3033
598 #define EGL_TRANSPARENT_BLUE_VALUE        0x3035
599 #define EGL_TRANSPARENT_GREEN_VALUE       0x3036
600 #define EGL_TRANSPARENT_RED_VALUE         0x3037
601 #define EGL_TRANSPARENT_RGB               0x3052
602 #define EGL_TRANSPARENT_TYPE              0x3034
603 #define EGL_TRUE                          1
604 #define EGL_VENDOR                        0x3053
605 #define EGL_VERSION                       0x3054
606 #define EGL_WIDTH                         0x3057
607 #define EGL_WINDOW_BIT                    0x0004
608 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
609 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
610 typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
611 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
612 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
613 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
614 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
615 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
616 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
617 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
618 typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
619 typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
620 typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
621 typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
622 typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
623 typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
624 typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
625 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
626 typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
627 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
628 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
629 typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
630 typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
631 typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
632 #if EGL_EGL_PROTOTYPES
633 EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
634 EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
635 EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
636 EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
637 EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
638 EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
639 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
640 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
641 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
642 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
643 EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
644 EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
645 EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
646 EGLAPI EGLint EGLAPIENTRY eglGetError (void);
647 EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
648 EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
649 EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
650 EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
651 EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
652 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
653 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
654 EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
655 EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
656 EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
657 #endif
658 #endif /* EGL_VERSION_1_0 */
659
660 #ifndef EGL_VERSION_1_1
661 #define EGL_VERSION_1_1 1
662 #define EGL_BACK_BUFFER                   0x3084
663 #define EGL_BIND_TO_TEXTURE_RGB           0x3039
664 #define EGL_BIND_TO_TEXTURE_RGBA          0x303A
665 #define EGL_CONTEXT_LOST                  0x300E
666 #define EGL_MIN_SWAP_INTERVAL             0x303B
667 #define EGL_MAX_SWAP_INTERVAL             0x303C
668 #define EGL_MIPMAP_TEXTURE                0x3082
669 #define EGL_MIPMAP_LEVEL                  0x3083
670 #define EGL_NO_TEXTURE                    0x305C
671 #define EGL_TEXTURE_2D                    0x305F
672 #define EGL_TEXTURE_FORMAT                0x3080
673 #define EGL_TEXTURE_RGB                   0x305D
674 #define EGL_TEXTURE_RGBA                  0x305E
675 #define EGL_TEXTURE_TARGET                0x3081
676 typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
677 typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
678 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
679 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
680 #if EGL_EGL_PROTOTYPES
681 EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
682 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
683 EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
684 EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
685 #endif
686 #endif /* EGL_VERSION_1_1 */
687
688 #ifndef EGL_VERSION_1_2
689 #define EGL_VERSION_1_2 1
690 typedef unsigned int EGLenum;
691 typedef void *EGLClientBuffer;
692 #define EGL_ALPHA_FORMAT                  0x3088
693 #define EGL_ALPHA_FORMAT_NONPRE           0x308B
694 #define EGL_ALPHA_FORMAT_PRE              0x308C
695 #define EGL_ALPHA_MASK_SIZE               0x303E
696 #define EGL_BUFFER_PRESERVED              0x3094
697 #define EGL_BUFFER_DESTROYED              0x3095
698 #define EGL_CLIENT_APIS                   0x308D
699 #define EGL_COLORSPACE                    0x3087
700 #define EGL_COLORSPACE_sRGB               0x3089
701 #define EGL_COLORSPACE_LINEAR             0x308A
702 #define EGL_COLOR_BUFFER_TYPE             0x303F
703 #define EGL_CONTEXT_CLIENT_TYPE           0x3097
704 #define EGL_DISPLAY_SCALING               10000
705 #define EGL_HORIZONTAL_RESOLUTION         0x3090
706 #define EGL_LUMINANCE_BUFFER              0x308F
707 #define EGL_LUMINANCE_SIZE                0x303D
708 #define EGL_OPENGL_ES_BIT                 0x0001
709 #define EGL_OPENVG_BIT                    0x0002
710 #define EGL_OPENGL_ES_API                 0x30A0
711 #define EGL_OPENVG_API                    0x30A1
712 #define EGL_OPENVG_IMAGE                  0x3096
713 #define EGL_PIXEL_ASPECT_RATIO            0x3092
714 #define EGL_RENDERABLE_TYPE               0x3040
715 #define EGL_RENDER_BUFFER                 0x3086
716 #define EGL_RGB_BUFFER                    0x308E
717 #define EGL_SINGLE_BUFFER                 0x3085
718 #define EGL_SWAP_BEHAVIOR                 0x3093
719 #define EGL_UNKNOWN                       EGL_CAST(EGLint,-1)
720 #define EGL_VERTICAL_RESOLUTION           0x3091
721 typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
722 typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
723 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
724 typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
725 typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
726 #if EGL_EGL_PROTOTYPES
727 EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
728 EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
729 EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
730 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
731 EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
732 #endif
733 #endif /* EGL_VERSION_1_2 */
734
735 #ifndef EGL_VERSION_1_3
736 #define EGL_VERSION_1_3 1
737 #define EGL_CONFORMANT                    0x3042
738 #define EGL_CONTEXT_CLIENT_VERSION        0x3098
739 #define EGL_MATCH_NATIVE_PIXMAP           0x3041
740 #define EGL_OPENGL_ES2_BIT                0x0004
741 #define EGL_VG_ALPHA_FORMAT               0x3088
742 #define EGL_VG_ALPHA_FORMAT_NONPRE        0x308B
743 #define EGL_VG_ALPHA_FORMAT_PRE           0x308C
744 #define EGL_VG_ALPHA_FORMAT_PRE_BIT       0x0040
745 #define EGL_VG_COLORSPACE                 0x3087
746 #define EGL_VG_COLORSPACE_sRGB            0x3089
747 #define EGL_VG_COLORSPACE_LINEAR          0x308A
748 #define EGL_VG_COLORSPACE_LINEAR_BIT      0x0020
749 #endif /* EGL_VERSION_1_3 */
750
751 #ifndef EGL_VERSION_1_4
752 #define EGL_VERSION_1_4 1
753 #define EGL_DEFAULT_DISPLAY               EGL_CAST(EGLNativeDisplayType,0)
754 #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT   0x0200
755 #define EGL_MULTISAMPLE_RESOLVE           0x3099
756 #define EGL_MULTISAMPLE_RESOLVE_DEFAULT   0x309A
757 #define EGL_MULTISAMPLE_RESOLVE_BOX       0x309B
758 #define EGL_OPENGL_API                    0x30A2
759 #define EGL_OPENGL_BIT                    0x0008
760 #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT   0x0400
761 typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
762 #if EGL_EGL_PROTOTYPES
763 EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
764 #endif
765 #endif /* EGL_VERSION_1_4 */
766
767 #ifndef EGL_VERSION_1_5
768 #define EGL_VERSION_1_5 1
769 typedef void *EGLSync;
770 typedef intptr_t EGLAttrib;
771 typedef khronos_utime_nanoseconds_t EGLTime;
772 typedef void *EGLImage;
773 #define EGL_CONTEXT_MAJOR_VERSION         0x3098
774 #define EGL_CONTEXT_MINOR_VERSION         0x30FB
775 #define EGL_CONTEXT_OPENGL_PROFILE_MASK   0x30FD
776 #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
777 #define EGL_NO_RESET_NOTIFICATION         0x31BE
778 #define EGL_LOSE_CONTEXT_ON_RESET         0x31BF
779 #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
780 #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
781 #define EGL_CONTEXT_OPENGL_DEBUG          0x31B0
782 #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
783 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS  0x31B2
784 #define EGL_OPENGL_ES3_BIT                0x00000040
785 #define EGL_CL_EVENT_HANDLE               0x309C
786 #define EGL_SYNC_CL_EVENT                 0x30FE
787 #define EGL_SYNC_CL_EVENT_COMPLETE        0x30FF
788 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE  0x30F0
789 #define EGL_SYNC_TYPE                     0x30F7
790 #define EGL_SYNC_STATUS                   0x30F1
791 #define EGL_SYNC_CONDITION                0x30F8
792 #define EGL_SIGNALED                      0x30F2
793 #define EGL_UNSIGNALED                    0x30F3
794 #define EGL_SYNC_FLUSH_COMMANDS_BIT       0x0001
795 #define EGL_FOREVER                       0xFFFFFFFFFFFFFFFFull
796 #define EGL_TIMEOUT_EXPIRED               0x30F5
797 #define EGL_CONDITION_SATISFIED           0x30F6
798 #define EGL_NO_SYNC                       EGL_CAST(EGLSync,0)
799 #define EGL_SYNC_FENCE                    0x30F9
800 #define EGL_GL_COLORSPACE                 0x309D
801 #define EGL_GL_COLORSPACE_SRGB            0x3089
802 #define EGL_GL_COLORSPACE_LINEAR          0x308A
803 #define EGL_GL_RENDERBUFFER               0x30B9
804 #define EGL_GL_TEXTURE_2D                 0x30B1
805 #define EGL_GL_TEXTURE_LEVEL              0x30BC
806 #define EGL_GL_TEXTURE_3D                 0x30B2
807 #define EGL_GL_TEXTURE_ZOFFSET            0x30BD
808 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
809 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
810 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
811 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
812 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
813 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
814 #define EGL_IMAGE_PRESERVED               0x30D2
815 #define EGL_NO_IMAGE                      EGL_CAST(EGLImage,0)
816 typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
817 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
818 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
819 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
820 typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
821 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
822 typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
823 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
824 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
825 typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
826 #if EGL_EGL_PROTOTYPES
827 EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
828 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
829 EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
830 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
831 EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
832 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
833 EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
834 EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
835 EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
836 EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
837 #endif
838 #endif /* EGL_VERSION_1_5 */
839
840 #ifdef __cplusplus
841 }
842 #endif
843
844 #endif /* __egl_h_ */
845
846
847 #ifndef __eglext_h_
848 #define __eglext_h_ 1
849
850 #ifdef __cplusplus
851 extern "C" {
852 #endif
853
854 /*
855 ** Copyright 2013-2020 The Khronos Group Inc.
856 ** SPDX-License-Identifier: Apache-2.0
857 **
858 ** This header is generated from the Khronos EGL XML API Registry.
859 ** The current version of the Registry, generator scripts
860 ** used to make the header, and the header can be found at
861 **   http://www.khronos.org/registry/egl
862 **
863 ** Khronos $Git commit SHA1: b35e89ca9a $ on $Git commit date: 2021-09-01 09:34:00 +0530 $
864 */
865
866 /*#include <EGL/eglplatform.h>*/
867
868 #define EGL_EGLEXT_VERSION 20210901
869
870 /* Generated C header for:
871  * API: egl
872  * Versions considered: .*
873  * Versions emitted: _nomatch_^
874  * Default extensions included: egl
875  * Additional extensions included: _nomatch_^
876  * Extensions removed: _nomatch_^
877  */
878
879 #ifndef EGL_KHR_cl_event
880 #define EGL_KHR_cl_event 1
881 #define EGL_CL_EVENT_HANDLE_KHR           0x309C
882 #define EGL_SYNC_CL_EVENT_KHR             0x30FE
883 #define EGL_SYNC_CL_EVENT_COMPLETE_KHR    0x30FF
884 #endif /* EGL_KHR_cl_event */
885
886 #ifndef EGL_KHR_cl_event2
887 #define EGL_KHR_cl_event2 1
888 typedef void *EGLSyncKHR;
889 typedef intptr_t EGLAttribKHR;
890 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
891 #ifdef EGL_EGLEXT_PROTOTYPES
892 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
893 #endif
894 #endif /* EGL_KHR_cl_event2 */
895
896 #ifndef EGL_KHR_client_get_all_proc_addresses
897 #define EGL_KHR_client_get_all_proc_addresses 1
898 #endif /* EGL_KHR_client_get_all_proc_addresses */
899
900 #ifndef EGL_KHR_config_attribs
901 #define EGL_KHR_config_attribs 1
902 #define EGL_CONFORMANT_KHR                0x3042
903 #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR  0x0020
904 #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR   0x0040
905 #endif /* EGL_KHR_config_attribs */
906
907 #ifndef EGL_KHR_context_flush_control
908 #define EGL_KHR_context_flush_control 1
909 #define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0
910 #define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR  0x2097
911 #define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
912 #endif /* EGL_KHR_context_flush_control */
913
914 #ifndef EGL_KHR_create_context
915 #define EGL_KHR_create_context 1
916 #define EGL_CONTEXT_MAJOR_VERSION_KHR     0x3098
917 #define EGL_CONTEXT_MINOR_VERSION_KHR     0x30FB
918 #define EGL_CONTEXT_FLAGS_KHR             0x30FC
919 #define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
920 #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
921 #define EGL_NO_RESET_NOTIFICATION_KHR     0x31BE
922 #define EGL_LOSE_CONTEXT_ON_RESET_KHR     0x31BF
923 #define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR  0x00000001
924 #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
925 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
926 #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
927 #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
928 #define EGL_OPENGL_ES3_BIT_KHR            0x00000040
929 #endif /* EGL_KHR_create_context */
930
931 #ifndef EGL_KHR_create_context_no_error
932 #define EGL_KHR_create_context_no_error 1
933 #define EGL_CONTEXT_OPENGL_NO_ERROR_KHR   0x31B3
934 #endif /* EGL_KHR_create_context_no_error */
935
936 #ifndef EGL_KHR_debug
937 #define EGL_KHR_debug 1
938 typedef void *EGLLabelKHR;
939 typedef void *EGLObjectKHR;
940 typedef void (EGLAPIENTRY  *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
941 #define EGL_OBJECT_THREAD_KHR             0x33B0
942 #define EGL_OBJECT_DISPLAY_KHR            0x33B1
943 #define EGL_OBJECT_CONTEXT_KHR            0x33B2
944 #define EGL_OBJECT_SURFACE_KHR            0x33B3
945 #define EGL_OBJECT_IMAGE_KHR              0x33B4
946 #define EGL_OBJECT_SYNC_KHR               0x33B5
947 #define EGL_OBJECT_STREAM_KHR             0x33B6
948 #define EGL_DEBUG_MSG_CRITICAL_KHR        0x33B9
949 #define EGL_DEBUG_MSG_ERROR_KHR           0x33BA
950 #define EGL_DEBUG_MSG_WARN_KHR            0x33BB
951 #define EGL_DEBUG_MSG_INFO_KHR            0x33BC
952 #define EGL_DEBUG_CALLBACK_KHR            0x33B8
953 typedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
954 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value);
955 typedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
956 #ifdef EGL_EGLEXT_PROTOTYPES
957 EGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
958 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value);
959 EGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
960 #endif
961 #endif /* EGL_KHR_debug */
962
963 #ifndef EGL_KHR_display_reference
964 #define EGL_KHR_display_reference 1
965 #define EGL_TRACK_REFERENCES_KHR          0x3352
966 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value);
967 #ifdef EGL_EGLEXT_PROTOTYPES
968 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value);
969 #endif
970 #endif /* EGL_KHR_display_reference */
971
972 #ifndef EGL_KHR_fence_sync
973 #define EGL_KHR_fence_sync 1
974 typedef khronos_utime_nanoseconds_t EGLTimeKHR;
975 #ifdef KHRONOS_SUPPORT_INT64
976 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
977 #define EGL_SYNC_CONDITION_KHR            0x30F8
978 #define EGL_SYNC_FENCE_KHR                0x30F9
979 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
980 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
981 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
982 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
983 #ifdef EGL_EGLEXT_PROTOTYPES
984 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
985 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
986 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
987 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
988 #endif
989 #endif /* KHRONOS_SUPPORT_INT64 */
990 #endif /* EGL_KHR_fence_sync */
991
992 #ifndef EGL_KHR_get_all_proc_addresses
993 #define EGL_KHR_get_all_proc_addresses 1
994 #endif /* EGL_KHR_get_all_proc_addresses */
995
996 #ifndef EGL_KHR_gl_colorspace
997 #define EGL_KHR_gl_colorspace 1
998 #define EGL_GL_COLORSPACE_KHR             0x309D
999 #define EGL_GL_COLORSPACE_SRGB_KHR        0x3089
1000 #define EGL_GL_COLORSPACE_LINEAR_KHR      0x308A
1001 #endif /* EGL_KHR_gl_colorspace */
1002
1003 #ifndef EGL_KHR_gl_renderbuffer_image
1004 #define EGL_KHR_gl_renderbuffer_image 1
1005 #define EGL_GL_RENDERBUFFER_KHR           0x30B9
1006 #endif /* EGL_KHR_gl_renderbuffer_image */
1007
1008 #ifndef EGL_KHR_gl_texture_2D_image
1009 #define EGL_KHR_gl_texture_2D_image 1
1010 #define EGL_GL_TEXTURE_2D_KHR             0x30B1
1011 #define EGL_GL_TEXTURE_LEVEL_KHR          0x30BC
1012 #endif /* EGL_KHR_gl_texture_2D_image */
1013
1014 #ifndef EGL_KHR_gl_texture_3D_image
1015 #define EGL_KHR_gl_texture_3D_image 1
1016 #define EGL_GL_TEXTURE_3D_KHR             0x30B2
1017 #define EGL_GL_TEXTURE_ZOFFSET_KHR        0x30BD
1018 #endif /* EGL_KHR_gl_texture_3D_image */
1019
1020 #ifndef EGL_KHR_gl_texture_cubemap_image
1021 #define EGL_KHR_gl_texture_cubemap_image 1
1022 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
1023 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
1024 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
1025 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
1026 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
1027 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
1028 #endif /* EGL_KHR_gl_texture_cubemap_image */
1029
1030 #ifndef EGL_KHR_image
1031 #define EGL_KHR_image 1
1032 typedef void *EGLImageKHR;
1033 #define EGL_NATIVE_PIXMAP_KHR             0x30B0
1034 #define EGL_NO_IMAGE_KHR                  EGL_CAST(EGLImageKHR,0)
1035 typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
1036 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
1037 #ifdef EGL_EGLEXT_PROTOTYPES
1038 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
1039 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
1040 #endif
1041 #endif /* EGL_KHR_image */
1042
1043 #ifndef EGL_KHR_image_base
1044 #define EGL_KHR_image_base 1
1045 #define EGL_IMAGE_PRESERVED_KHR           0x30D2
1046 #endif /* EGL_KHR_image_base */
1047
1048 #ifndef EGL_KHR_image_pixmap
1049 #define EGL_KHR_image_pixmap 1
1050 #endif /* EGL_KHR_image_pixmap */
1051
1052 #ifndef EGL_KHR_lock_surface
1053 #define EGL_KHR_lock_surface 1
1054 #define EGL_READ_SURFACE_BIT_KHR          0x0001
1055 #define EGL_WRITE_SURFACE_BIT_KHR         0x0002
1056 #define EGL_LOCK_SURFACE_BIT_KHR          0x0080
1057 #define EGL_OPTIMAL_FORMAT_BIT_KHR        0x0100
1058 #define EGL_MATCH_FORMAT_KHR              0x3043
1059 #define EGL_FORMAT_RGB_565_EXACT_KHR      0x30C0
1060 #define EGL_FORMAT_RGB_565_KHR            0x30C1
1061 #define EGL_FORMAT_RGBA_8888_EXACT_KHR    0x30C2
1062 #define EGL_FORMAT_RGBA_8888_KHR          0x30C3
1063 #define EGL_MAP_PRESERVE_PIXELS_KHR       0x30C4
1064 #define EGL_LOCK_USAGE_HINT_KHR           0x30C5
1065 #define EGL_BITMAP_POINTER_KHR            0x30C6
1066 #define EGL_BITMAP_PITCH_KHR              0x30C7
1067 #define EGL_BITMAP_ORIGIN_KHR             0x30C8
1068 #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR   0x30C9
1069 #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
1070 #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR  0x30CB
1071 #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
1072 #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
1073 #define EGL_LOWER_LEFT_KHR                0x30CE
1074 #define EGL_UPPER_LEFT_KHR                0x30CF
1075 typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
1076 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
1077 #ifdef EGL_EGLEXT_PROTOTYPES
1078 EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
1079 EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
1080 #endif
1081 #endif /* EGL_KHR_lock_surface */
1082
1083 #ifndef EGL_KHR_lock_surface2
1084 #define EGL_KHR_lock_surface2 1
1085 #define EGL_BITMAP_PIXEL_SIZE_KHR         0x3110
1086 #endif /* EGL_KHR_lock_surface2 */
1087
1088 #ifndef EGL_KHR_lock_surface3
1089 #define EGL_KHR_lock_surface3 1
1090 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1091 #ifdef EGL_EGLEXT_PROTOTYPES
1092 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1093 #endif
1094 #endif /* EGL_KHR_lock_surface3 */
1095
1096 #ifndef EGL_KHR_mutable_render_buffer
1097 #define EGL_KHR_mutable_render_buffer 1
1098 #define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000
1099 #endif /* EGL_KHR_mutable_render_buffer */
1100
1101 #ifndef EGL_KHR_no_config_context
1102 #define EGL_KHR_no_config_context 1
1103 #define EGL_NO_CONFIG_KHR                 EGL_CAST(EGLConfig,0)
1104 #endif /* EGL_KHR_no_config_context */
1105
1106 #ifndef EGL_KHR_partial_update
1107 #define EGL_KHR_partial_update 1
1108 #define EGL_BUFFER_AGE_KHR                0x313D
1109 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1110 #ifdef EGL_EGLEXT_PROTOTYPES
1111 EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1112 #endif
1113 #endif /* EGL_KHR_partial_update */
1114
1115 #ifndef EGL_KHR_platform_android
1116 #define EGL_KHR_platform_android 1
1117 #define EGL_PLATFORM_ANDROID_KHR          0x3141
1118 #endif /* EGL_KHR_platform_android */
1119
1120 #ifndef EGL_KHR_platform_gbm
1121 #define EGL_KHR_platform_gbm 1
1122 #define EGL_PLATFORM_GBM_KHR              0x31D7
1123 #endif /* EGL_KHR_platform_gbm */
1124
1125 #ifndef EGL_KHR_platform_wayland
1126 #define EGL_KHR_platform_wayland 1
1127 #define EGL_PLATFORM_WAYLAND_KHR          0x31D8
1128 #endif /* EGL_KHR_platform_wayland */
1129
1130 #ifndef EGL_KHR_platform_x11
1131 #define EGL_KHR_platform_x11 1
1132 #define EGL_PLATFORM_X11_KHR              0x31D5
1133 #define EGL_PLATFORM_X11_SCREEN_KHR       0x31D6
1134 #endif /* EGL_KHR_platform_x11 */
1135
1136 #ifndef EGL_KHR_reusable_sync
1137 #define EGL_KHR_reusable_sync 1
1138 #ifdef KHRONOS_SUPPORT_INT64
1139 #define EGL_SYNC_STATUS_KHR               0x30F1
1140 #define EGL_SIGNALED_KHR                  0x30F2
1141 #define EGL_UNSIGNALED_KHR                0x30F3
1142 #define EGL_TIMEOUT_EXPIRED_KHR           0x30F5
1143 #define EGL_CONDITION_SATISFIED_KHR       0x30F6
1144 #define EGL_SYNC_TYPE_KHR                 0x30F7
1145 #define EGL_SYNC_REUSABLE_KHR             0x30FA
1146 #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR   0x0001
1147 #define EGL_FOREVER_KHR                   0xFFFFFFFFFFFFFFFFull
1148 #define EGL_NO_SYNC_KHR                   EGL_CAST(EGLSyncKHR,0)
1149 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1150 #ifdef EGL_EGLEXT_PROTOTYPES
1151 EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1152 #endif
1153 #endif /* KHRONOS_SUPPORT_INT64 */
1154 #endif /* EGL_KHR_reusable_sync */
1155
1156 #ifndef EGL_KHR_stream
1157 #define EGL_KHR_stream 1
1158 typedef void *EGLStreamKHR;
1159 typedef khronos_uint64_t EGLuint64KHR;
1160 #ifdef KHRONOS_SUPPORT_INT64
1161 #define EGL_NO_STREAM_KHR                 EGL_CAST(EGLStreamKHR,0)
1162 #define EGL_CONSUMER_LATENCY_USEC_KHR     0x3210
1163 #define EGL_PRODUCER_FRAME_KHR            0x3212
1164 #define EGL_CONSUMER_FRAME_KHR            0x3213
1165 #define EGL_STREAM_STATE_KHR              0x3214
1166 #define EGL_STREAM_STATE_CREATED_KHR      0x3215
1167 #define EGL_STREAM_STATE_CONNECTING_KHR   0x3216
1168 #define EGL_STREAM_STATE_EMPTY_KHR        0x3217
1169 #define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
1170 #define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
1171 #define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
1172 #define EGL_BAD_STREAM_KHR                0x321B
1173 #define EGL_BAD_STATE_KHR                 0x321C
1174 typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1175 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1176 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1177 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1178 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1179 #ifdef EGL_EGLEXT_PROTOTYPES
1180 EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
1181 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
1182 EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1183 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1184 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1185 #endif
1186 #endif /* KHRONOS_SUPPORT_INT64 */
1187 #endif /* EGL_KHR_stream */
1188
1189 #ifndef EGL_KHR_stream_attrib
1190 #define EGL_KHR_stream_attrib 1
1191 #ifdef KHRONOS_SUPPORT_INT64
1192 typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list);
1193 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
1194 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
1195 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1196 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1197 #ifdef EGL_EGLEXT_PROTOTYPES
1198 EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list);
1199 EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
1200 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
1201 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1202 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
1203 #endif
1204 #endif /* KHRONOS_SUPPORT_INT64 */
1205 #endif /* EGL_KHR_stream_attrib */
1206
1207 #ifndef EGL_KHR_stream_consumer_gltexture
1208 #define EGL_KHR_stream_consumer_gltexture 1
1209 #ifdef EGL_KHR_stream
1210 #define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
1211 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1212 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1213 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1214 #ifdef EGL_EGLEXT_PROTOTYPES
1215 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
1216 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
1217 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
1218 #endif
1219 #endif /* EGL_KHR_stream */
1220 #endif /* EGL_KHR_stream_consumer_gltexture */
1221
1222 #ifndef EGL_KHR_stream_cross_process_fd
1223 #define EGL_KHR_stream_cross_process_fd 1
1224 typedef int EGLNativeFileDescriptorKHR;
1225 #ifdef EGL_KHR_stream
1226 #define EGL_NO_FILE_DESCRIPTOR_KHR        EGL_CAST(EGLNativeFileDescriptorKHR,-1)
1227 typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1228 typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1229 #ifdef EGL_EGLEXT_PROTOTYPES
1230 EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
1231 EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1232 #endif
1233 #endif /* EGL_KHR_stream */
1234 #endif /* EGL_KHR_stream_cross_process_fd */
1235
1236 #ifndef EGL_KHR_stream_fifo
1237 #define EGL_KHR_stream_fifo 1
1238 #ifdef EGL_KHR_stream
1239 #define EGL_STREAM_FIFO_LENGTH_KHR        0x31FC
1240 #define EGL_STREAM_TIME_NOW_KHR           0x31FD
1241 #define EGL_STREAM_TIME_CONSUMER_KHR      0x31FE
1242 #define EGL_STREAM_TIME_PRODUCER_KHR      0x31FF
1243 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1244 #ifdef EGL_EGLEXT_PROTOTYPES
1245 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1246 #endif
1247 #endif /* EGL_KHR_stream */
1248 #endif /* EGL_KHR_stream_fifo */
1249
1250 #ifndef EGL_KHR_stream_producer_aldatalocator
1251 #define EGL_KHR_stream_producer_aldatalocator 1
1252 #ifdef EGL_KHR_stream
1253 #endif /* EGL_KHR_stream */
1254 #endif /* EGL_KHR_stream_producer_aldatalocator */
1255
1256 #ifndef EGL_KHR_stream_producer_eglsurface
1257 #define EGL_KHR_stream_producer_eglsurface 1
1258 #ifdef EGL_KHR_stream
1259 #define EGL_STREAM_BIT_KHR                0x0800
1260 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1261 #ifdef EGL_EGLEXT_PROTOTYPES
1262 EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1263 #endif
1264 #endif /* EGL_KHR_stream */
1265 #endif /* EGL_KHR_stream_producer_eglsurface */
1266
1267 #ifndef EGL_KHR_surfaceless_context
1268 #define EGL_KHR_surfaceless_context 1
1269 #endif /* EGL_KHR_surfaceless_context */
1270
1271 #ifndef EGL_KHR_swap_buffers_with_damage
1272 #define EGL_KHR_swap_buffers_with_damage 1
1273 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1274 #ifdef EGL_EGLEXT_PROTOTYPES
1275 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1276 #endif
1277 #endif /* EGL_KHR_swap_buffers_with_damage */
1278
1279 #ifndef EGL_KHR_vg_parent_image
1280 #define EGL_KHR_vg_parent_image 1
1281 #define EGL_VG_PARENT_IMAGE_KHR           0x30BA
1282 #endif /* EGL_KHR_vg_parent_image */
1283
1284 #ifndef EGL_KHR_wait_sync
1285 #define EGL_KHR_wait_sync 1
1286 typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1287 #ifdef EGL_EGLEXT_PROTOTYPES
1288 EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1289 #endif
1290 #endif /* EGL_KHR_wait_sync */
1291
1292 #ifndef EGL_ANDROID_GLES_layers
1293 #define EGL_ANDROID_GLES_layers 1
1294 #endif /* EGL_ANDROID_GLES_layers */
1295
1296 #ifndef EGL_ANDROID_blob_cache
1297 #define EGL_ANDROID_blob_cache 1
1298 typedef khronos_ssize_t EGLsizeiANDROID;
1299 typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
1300 typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
1301 typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1302 #ifdef EGL_EGLEXT_PROTOTYPES
1303 EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1304 #endif
1305 #endif /* EGL_ANDROID_blob_cache */
1306
1307 #ifndef EGL_ANDROID_create_native_client_buffer
1308 #define EGL_ANDROID_create_native_client_buffer 1
1309 #define EGL_NATIVE_BUFFER_USAGE_ANDROID   0x3143
1310 #define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001
1311 #define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002
1312 #define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004
1313 typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list);
1314 #ifdef EGL_EGLEXT_PROTOTYPES
1315 EGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list);
1316 #endif
1317 #endif /* EGL_ANDROID_create_native_client_buffer */
1318
1319 #ifndef EGL_ANDROID_framebuffer_target
1320 #define EGL_ANDROID_framebuffer_target 1
1321 #define EGL_FRAMEBUFFER_TARGET_ANDROID    0x3147
1322 #endif /* EGL_ANDROID_framebuffer_target */
1323
1324 #ifndef EGL_ANDROID_front_buffer_auto_refresh
1325 #define EGL_ANDROID_front_buffer_auto_refresh 1
1326 #define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
1327 #endif /* EGL_ANDROID_front_buffer_auto_refresh */
1328
1329 #ifndef EGL_ANDROID_get_frame_timestamps
1330 #define EGL_ANDROID_get_frame_timestamps 1
1331 typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
1332 #define EGL_TIMESTAMP_PENDING_ANDROID     EGL_CAST(EGLnsecsANDROID,-2)
1333 #define EGL_TIMESTAMP_INVALID_ANDROID     EGL_CAST(EGLnsecsANDROID,-1)
1334 #define EGL_TIMESTAMPS_ANDROID            0x3430
1335 #define EGL_COMPOSITE_DEADLINE_ANDROID    0x3431
1336 #define EGL_COMPOSITE_INTERVAL_ANDROID    0x3432
1337 #define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433
1338 #define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434
1339 #define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435
1340 #define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436
1341 #define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437
1342 #define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438
1343 #define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439
1344 #define EGL_DISPLAY_PRESENT_TIME_ANDROID  0x343A
1345 #define EGL_DEQUEUE_READY_TIME_ANDROID    0x343B
1346 #define EGL_READS_DONE_TIME_ANDROID       0x343C
1347 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name);
1348 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps,  const EGLint *names, EGLnsecsANDROID *values);
1349 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
1350 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
1351 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps,  const EGLint *timestamps, EGLnsecsANDROID *values);
1352 #ifdef EGL_EGLEXT_PROTOTYPES
1353 EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name);
1354 EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps,  const EGLint *names, EGLnsecsANDROID *values);
1355 EGLAPI EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
1356 EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
1357 EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps,  const EGLint *timestamps, EGLnsecsANDROID *values);
1358 #endif
1359 #endif /* EGL_ANDROID_get_frame_timestamps */
1360
1361 #ifndef EGL_ANDROID_get_native_client_buffer
1362 #define EGL_ANDROID_get_native_client_buffer 1
1363 struct AHardwareBuffer;
1364 typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer);
1365 #ifdef EGL_EGLEXT_PROTOTYPES
1366 EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer);
1367 #endif
1368 #endif /* EGL_ANDROID_get_native_client_buffer */
1369
1370 #ifndef EGL_ANDROID_image_native_buffer
1371 #define EGL_ANDROID_image_native_buffer 1
1372 #define EGL_NATIVE_BUFFER_ANDROID         0x3140
1373 #endif /* EGL_ANDROID_image_native_buffer */
1374
1375 #ifndef EGL_ANDROID_native_fence_sync
1376 #define EGL_ANDROID_native_fence_sync 1
1377 #define EGL_SYNC_NATIVE_FENCE_ANDROID     0x3144
1378 #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID  0x3145
1379 #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
1380 #define EGL_NO_NATIVE_FENCE_FD_ANDROID    -1
1381 typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1382 #ifdef EGL_EGLEXT_PROTOTYPES
1383 EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
1384 #endif
1385 #endif /* EGL_ANDROID_native_fence_sync */
1386
1387 #ifndef EGL_ANDROID_presentation_time
1388 #define EGL_ANDROID_presentation_time 1
1389 typedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
1390 #ifdef EGL_EGLEXT_PROTOTYPES
1391 EGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
1392 #endif
1393 #endif /* EGL_ANDROID_presentation_time */
1394
1395 #ifndef EGL_ANDROID_recordable
1396 #define EGL_ANDROID_recordable 1
1397 #define EGL_RECORDABLE_ANDROID            0x3142
1398 #endif /* EGL_ANDROID_recordable */
1399
1400 #ifndef EGL_ANGLE_d3d_share_handle_client_buffer
1401 #define EGL_ANGLE_d3d_share_handle_client_buffer 1
1402 #define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
1403 #endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
1404
1405 #ifndef EGL_ANGLE_device_d3d
1406 #define EGL_ANGLE_device_d3d 1
1407 #define EGL_D3D9_DEVICE_ANGLE             0x33A0
1408 #define EGL_D3D11_DEVICE_ANGLE            0x33A1
1409 #endif /* EGL_ANGLE_device_d3d */
1410
1411 #ifndef EGL_ANGLE_query_surface_pointer
1412 #define EGL_ANGLE_query_surface_pointer 1
1413 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1414 #ifdef EGL_EGLEXT_PROTOTYPES
1415 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1416 #endif
1417 #endif /* EGL_ANGLE_query_surface_pointer */
1418
1419 #ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
1420 #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
1421 #endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
1422
1423 #ifndef EGL_ANGLE_sync_control_rate
1424 #define EGL_ANGLE_sync_control_rate 1
1425 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
1426 #ifdef EGL_EGLEXT_PROTOTYPES
1427 EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
1428 #endif
1429 #endif /* EGL_ANGLE_sync_control_rate */
1430
1431 #ifndef EGL_ANGLE_window_fixed_size
1432 #define EGL_ANGLE_window_fixed_size 1
1433 #define EGL_FIXED_SIZE_ANGLE              0x3201
1434 #endif /* EGL_ANGLE_window_fixed_size */
1435
1436 #ifndef EGL_ARM_image_format
1437 #define EGL_ARM_image_format 1
1438 #define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287
1439 #define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288
1440 #endif /* EGL_ARM_image_format */
1441
1442 #ifndef EGL_ARM_implicit_external_sync
1443 #define EGL_ARM_implicit_external_sync 1
1444 #define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
1445 #endif /* EGL_ARM_implicit_external_sync */
1446
1447 #ifndef EGL_ARM_pixmap_multisample_discard
1448 #define EGL_ARM_pixmap_multisample_discard 1
1449 #define EGL_DISCARD_SAMPLES_ARM           0x3286
1450 #endif /* EGL_ARM_pixmap_multisample_discard */
1451
1452 #ifndef EGL_EXT_bind_to_front
1453 #define EGL_EXT_bind_to_front 1
1454 #define EGL_FRONT_BUFFER_EXT              0x3464
1455 #endif /* EGL_EXT_bind_to_front */
1456
1457 #ifndef EGL_EXT_buffer_age
1458 #define EGL_EXT_buffer_age 1
1459 #define EGL_BUFFER_AGE_EXT                0x313D
1460 #endif /* EGL_EXT_buffer_age */
1461
1462 #ifndef EGL_EXT_client_extensions
1463 #define EGL_EXT_client_extensions 1
1464 #endif /* EGL_EXT_client_extensions */
1465
1466 #ifndef EGL_EXT_client_sync
1467 #define EGL_EXT_client_sync 1
1468 #define EGL_SYNC_CLIENT_EXT               0x3364
1469 #define EGL_SYNC_CLIENT_SIGNAL_EXT        0x3365
1470 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1471 #ifdef EGL_EGLEXT_PROTOTYPES
1472 EGLAPI EGLBoolean EGLAPIENTRY eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1473 #endif
1474 #endif /* EGL_EXT_client_sync */
1475
1476 #ifndef EGL_EXT_compositor
1477 #define EGL_EXT_compositor 1
1478 #define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460
1479 #define EGL_EXTERNAL_REF_ID_EXT           0x3461
1480 #define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462
1481 #define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463
1482 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries);
1483 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
1484 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
1485 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
1486 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id);
1487 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height);
1488 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy);
1489 #ifdef EGL_EGLEXT_PROTOTYPES
1490 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries);
1491 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
1492 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
1493 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
1494 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id);
1495 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height);
1496 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy);
1497 #endif
1498 #endif /* EGL_EXT_compositor */
1499
1500 #ifndef EGL_EXT_config_select_group
1501 #define EGL_EXT_config_select_group 1
1502 #define EGL_CONFIG_SELECT_GROUP_EXT       0x34C0
1503 #endif /* EGL_EXT_config_select_group */
1504
1505 #ifndef EGL_EXT_create_context_robustness
1506 #define EGL_EXT_create_context_robustness 1
1507 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
1508 #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
1509 #define EGL_NO_RESET_NOTIFICATION_EXT     0x31BE
1510 #define EGL_LOSE_CONTEXT_ON_RESET_EXT     0x31BF
1511 #endif /* EGL_EXT_create_context_robustness */
1512
1513 #ifndef EGL_EXT_device_base
1514 #define EGL_EXT_device_base 1
1515 typedef void *EGLDeviceEXT;
1516 #define EGL_NO_DEVICE_EXT                 EGL_CAST(EGLDeviceEXT,0)
1517 #define EGL_BAD_DEVICE_EXT                0x322B
1518 #define EGL_DEVICE_EXT                    0x322C
1519 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1520 typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
1521 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1522 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1523 #ifdef EGL_EGLEXT_PROTOTYPES
1524 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1525 EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
1526 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1527 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1528 #endif
1529 #endif /* EGL_EXT_device_base */
1530
1531 #ifndef EGL_EXT_device_drm
1532 #define EGL_EXT_device_drm 1
1533 #define EGL_DRM_DEVICE_FILE_EXT           0x3233
1534 #define EGL_DRM_MASTER_FD_EXT             0x333C
1535 #endif /* EGL_EXT_device_drm */
1536
1537 #ifndef EGL_EXT_device_drm_render_node
1538 #define EGL_EXT_device_drm_render_node 1
1539 #define EGL_DRM_RENDER_NODE_FILE_EXT      0x3377
1540 #endif /* EGL_EXT_device_drm_render_node */
1541
1542 #ifndef EGL_EXT_device_enumeration
1543 #define EGL_EXT_device_enumeration 1
1544 #endif /* EGL_EXT_device_enumeration */
1545
1546 #ifndef EGL_EXT_device_openwf
1547 #define EGL_EXT_device_openwf 1
1548 #define EGL_OPENWF_DEVICE_ID_EXT          0x3237
1549 #define EGL_OPENWF_DEVICE_EXT             0x333D
1550 #endif /* EGL_EXT_device_openwf */
1551
1552 #ifndef EGL_EXT_device_persistent_id
1553 #define EGL_EXT_device_persistent_id 1
1554 #define EGL_DEVICE_UUID_EXT               0x335C
1555 #define EGL_DRIVER_UUID_EXT               0x335D
1556 #define EGL_DRIVER_NAME_EXT               0x335E
1557 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEBINARYEXTPROC) (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
1558 #ifdef EGL_EGLEXT_PROTOTYPES
1559 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
1560 #endif
1561 #endif /* EGL_EXT_device_persistent_id */
1562
1563 #ifndef EGL_EXT_device_query
1564 #define EGL_EXT_device_query 1
1565 #endif /* EGL_EXT_device_query */
1566
1567 #ifndef EGL_EXT_device_query_name
1568 #define EGL_EXT_device_query_name 1
1569 #define EGL_RENDERER_EXT                  0x335F
1570 #endif /* EGL_EXT_device_query_name */
1571
1572 #ifndef EGL_EXT_gl_colorspace_bt2020_linear
1573 #define EGL_EXT_gl_colorspace_bt2020_linear 1
1574 #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
1575 #endif /* EGL_EXT_gl_colorspace_bt2020_linear */
1576
1577 #ifndef EGL_EXT_gl_colorspace_bt2020_pq
1578 #define EGL_EXT_gl_colorspace_bt2020_pq 1
1579 #define EGL_GL_COLORSPACE_BT2020_PQ_EXT   0x3340
1580 #endif /* EGL_EXT_gl_colorspace_bt2020_pq */
1581
1582 #ifndef EGL_EXT_gl_colorspace_display_p3
1583 #define EGL_EXT_gl_colorspace_display_p3 1
1584 #define EGL_GL_COLORSPACE_DISPLAY_P3_EXT  0x3363
1585 #endif /* EGL_EXT_gl_colorspace_display_p3 */
1586
1587 #ifndef EGL_EXT_gl_colorspace_display_p3_linear
1588 #define EGL_EXT_gl_colorspace_display_p3_linear 1
1589 #define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
1590 #endif /* EGL_EXT_gl_colorspace_display_p3_linear */
1591
1592 #ifndef EGL_EXT_gl_colorspace_display_p3_passthrough
1593 #define EGL_EXT_gl_colorspace_display_p3_passthrough 1
1594 #define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490
1595 #endif /* EGL_EXT_gl_colorspace_display_p3_passthrough */
1596
1597 #ifndef EGL_EXT_gl_colorspace_scrgb
1598 #define EGL_EXT_gl_colorspace_scrgb 1
1599 #define EGL_GL_COLORSPACE_SCRGB_EXT       0x3351
1600 #endif /* EGL_EXT_gl_colorspace_scrgb */
1601
1602 #ifndef EGL_EXT_gl_colorspace_scrgb_linear
1603 #define EGL_EXT_gl_colorspace_scrgb_linear 1
1604 #define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
1605 #endif /* EGL_EXT_gl_colorspace_scrgb_linear */
1606
1607 #ifndef EGL_EXT_image_dma_buf_import
1608 #define EGL_EXT_image_dma_buf_import 1
1609 #define EGL_LINUX_DMA_BUF_EXT             0x3270
1610 #define EGL_LINUX_DRM_FOURCC_EXT          0x3271
1611 #define EGL_DMA_BUF_PLANE0_FD_EXT         0x3272
1612 #define EGL_DMA_BUF_PLANE0_OFFSET_EXT     0x3273
1613 #define EGL_DMA_BUF_PLANE0_PITCH_EXT      0x3274
1614 #define EGL_DMA_BUF_PLANE1_FD_EXT         0x3275
1615 #define EGL_DMA_BUF_PLANE1_OFFSET_EXT     0x3276
1616 #define EGL_DMA_BUF_PLANE1_PITCH_EXT      0x3277
1617 #define EGL_DMA_BUF_PLANE2_FD_EXT         0x3278
1618 #define EGL_DMA_BUF_PLANE2_OFFSET_EXT     0x3279
1619 #define EGL_DMA_BUF_PLANE2_PITCH_EXT      0x327A
1620 #define EGL_YUV_COLOR_SPACE_HINT_EXT      0x327B
1621 #define EGL_SAMPLE_RANGE_HINT_EXT         0x327C
1622 #define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
1623 #define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
1624 #define EGL_ITU_REC601_EXT                0x327F
1625 #define EGL_ITU_REC709_EXT                0x3280
1626 #define EGL_ITU_REC2020_EXT               0x3281
1627 #define EGL_YUV_FULL_RANGE_EXT            0x3282
1628 #define EGL_YUV_NARROW_RANGE_EXT          0x3283
1629 #define EGL_YUV_CHROMA_SITING_0_EXT       0x3284
1630 #define EGL_YUV_CHROMA_SITING_0_5_EXT     0x3285
1631 #endif /* EGL_EXT_image_dma_buf_import */
1632
1633 #ifndef EGL_EXT_image_dma_buf_import_modifiers
1634 #define EGL_EXT_image_dma_buf_import_modifiers 1
1635 #define EGL_DMA_BUF_PLANE3_FD_EXT         0x3440
1636 #define EGL_DMA_BUF_PLANE3_OFFSET_EXT     0x3441
1637 #define EGL_DMA_BUF_PLANE3_PITCH_EXT      0x3442
1638 #define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
1639 #define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
1640 #define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
1641 #define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
1642 #define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
1643 #define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
1644 #define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
1645 #define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
1646 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
1647 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
1648 #ifdef EGL_EGLEXT_PROTOTYPES
1649 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
1650 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
1651 #endif
1652 #endif /* EGL_EXT_image_dma_buf_import_modifiers */
1653
1654 #ifndef EGL_EXT_image_gl_colorspace
1655 #define EGL_EXT_image_gl_colorspace 1
1656 #define EGL_GL_COLORSPACE_DEFAULT_EXT     0x314D
1657 #endif /* EGL_EXT_image_gl_colorspace */
1658
1659 #ifndef EGL_EXT_image_implicit_sync_control
1660 #define EGL_EXT_image_implicit_sync_control 1
1661 #define EGL_IMPORT_SYNC_TYPE_EXT          0x3470
1662 #define EGL_IMPORT_IMPLICIT_SYNC_EXT      0x3471
1663 #define EGL_IMPORT_EXPLICIT_SYNC_EXT      0x3472
1664 #endif /* EGL_EXT_image_implicit_sync_control */
1665
1666 #ifndef EGL_EXT_multiview_window
1667 #define EGL_EXT_multiview_window 1
1668 #define EGL_MULTIVIEW_VIEW_COUNT_EXT      0x3134
1669 #endif /* EGL_EXT_multiview_window */
1670
1671 #ifndef EGL_EXT_output_base
1672 #define EGL_EXT_output_base 1
1673 typedef void *EGLOutputLayerEXT;
1674 typedef void *EGLOutputPortEXT;
1675 #define EGL_NO_OUTPUT_LAYER_EXT           EGL_CAST(EGLOutputLayerEXT,0)
1676 #define EGL_NO_OUTPUT_PORT_EXT            EGL_CAST(EGLOutputPortEXT,0)
1677 #define EGL_BAD_OUTPUT_LAYER_EXT          0x322D
1678 #define EGL_BAD_OUTPUT_PORT_EXT           0x322E
1679 #define EGL_SWAP_INTERVAL_EXT             0x322F
1680 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1681 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1682 typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1683 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1684 typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1685 typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1686 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1687 typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1688 #ifdef EGL_EGLEXT_PROTOTYPES
1689 EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1690 EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1691 EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1692 EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1693 EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1694 EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1695 EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1696 EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1697 #endif
1698 #endif /* EGL_EXT_output_base */
1699
1700 #ifndef EGL_EXT_output_drm
1701 #define EGL_EXT_output_drm 1
1702 #define EGL_DRM_CRTC_EXT                  0x3234
1703 #define EGL_DRM_PLANE_EXT                 0x3235
1704 #define EGL_DRM_CONNECTOR_EXT             0x3236
1705 #endif /* EGL_EXT_output_drm */
1706
1707 #ifndef EGL_EXT_output_openwf
1708 #define EGL_EXT_output_openwf 1
1709 #define EGL_OPENWF_PIPELINE_ID_EXT        0x3238
1710 #define EGL_OPENWF_PORT_ID_EXT            0x3239
1711 #endif /* EGL_EXT_output_openwf */
1712
1713 #ifndef EGL_EXT_pixel_format_float
1714 #define EGL_EXT_pixel_format_float 1
1715 #define EGL_COLOR_COMPONENT_TYPE_EXT      0x3339
1716 #define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
1717 #define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
1718 #endif /* EGL_EXT_pixel_format_float */
1719
1720 #ifndef EGL_EXT_platform_base
1721 #define EGL_EXT_platform_base 1
1722 typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
1723 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1724 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1725 #ifdef EGL_EGLEXT_PROTOTYPES
1726 EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
1727 EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1728 EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1729 #endif
1730 #endif /* EGL_EXT_platform_base */
1731
1732 #ifndef EGL_EXT_platform_device
1733 #define EGL_EXT_platform_device 1
1734 #define EGL_PLATFORM_DEVICE_EXT           0x313F
1735 #endif /* EGL_EXT_platform_device */
1736
1737 #ifndef EGL_EXT_platform_wayland
1738 #define EGL_EXT_platform_wayland 1
1739 #define EGL_PLATFORM_WAYLAND_EXT          0x31D8
1740 #endif /* EGL_EXT_platform_wayland */
1741
1742 #ifndef EGL_EXT_platform_x11
1743 #define EGL_EXT_platform_x11 1
1744 #define EGL_PLATFORM_X11_EXT              0x31D5
1745 #define EGL_PLATFORM_X11_SCREEN_EXT       0x31D6
1746 #endif /* EGL_EXT_platform_x11 */
1747
1748 #ifndef EGL_EXT_platform_xcb
1749 #define EGL_EXT_platform_xcb 1
1750 #define EGL_PLATFORM_XCB_EXT              0x31DC
1751 #define EGL_PLATFORM_XCB_SCREEN_EXT       0x31DE
1752 #endif /* EGL_EXT_platform_xcb */
1753
1754 #ifndef EGL_EXT_present_opaque
1755 #define EGL_EXT_present_opaque 1
1756 #define EGL_PRESENT_OPAQUE_EXT            0x31DF
1757 #endif /* EGL_EXT_present_opaque */
1758
1759 #ifndef EGL_EXT_protected_content
1760 #define EGL_EXT_protected_content 1
1761 #define EGL_PROTECTED_CONTENT_EXT         0x32C0
1762 #endif /* EGL_EXT_protected_content */
1763
1764 #ifndef EGL_EXT_protected_surface
1765 #define EGL_EXT_protected_surface 1
1766 #endif /* EGL_EXT_protected_surface */
1767
1768 #ifndef EGL_EXT_stream_consumer_egloutput
1769 #define EGL_EXT_stream_consumer_egloutput 1
1770 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1771 #ifdef EGL_EGLEXT_PROTOTYPES
1772 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1773 #endif
1774 #endif /* EGL_EXT_stream_consumer_egloutput */
1775
1776 #ifndef EGL_EXT_surface_CTA861_3_metadata
1777 #define EGL_EXT_surface_CTA861_3_metadata 1
1778 #define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360
1779 #define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
1780 #endif /* EGL_EXT_surface_CTA861_3_metadata */
1781
1782 #ifndef EGL_EXT_surface_SMPTE2086_metadata
1783 #define EGL_EXT_surface_SMPTE2086_metadata 1
1784 #define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
1785 #define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342
1786 #define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343
1787 #define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344
1788 #define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345
1789 #define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346
1790 #define EGL_SMPTE2086_WHITE_POINT_X_EXT   0x3347
1791 #define EGL_SMPTE2086_WHITE_POINT_Y_EXT   0x3348
1792 #define EGL_SMPTE2086_MAX_LUMINANCE_EXT   0x3349
1793 #define EGL_SMPTE2086_MIN_LUMINANCE_EXT   0x334A
1794 #define EGL_METADATA_SCALING_EXT          50000
1795 #endif /* EGL_EXT_surface_SMPTE2086_metadata */
1796
1797 #ifndef EGL_EXT_swap_buffers_with_damage
1798 #define EGL_EXT_swap_buffers_with_damage 1
1799 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1800 #ifdef EGL_EGLEXT_PROTOTYPES
1801 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
1802 #endif
1803 #endif /* EGL_EXT_swap_buffers_with_damage */
1804
1805 #ifndef EGL_EXT_sync_reuse
1806 #define EGL_EXT_sync_reuse 1
1807 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1808 #ifdef EGL_EGLEXT_PROTOTYPES
1809 EGLAPI EGLBoolean EGLAPIENTRY eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
1810 #endif
1811 #endif /* EGL_EXT_sync_reuse */
1812
1813 #ifndef EGL_EXT_yuv_surface
1814 #define EGL_EXT_yuv_surface 1
1815 #define EGL_YUV_ORDER_EXT                 0x3301
1816 #define EGL_YUV_NUMBER_OF_PLANES_EXT      0x3311
1817 #define EGL_YUV_SUBSAMPLE_EXT             0x3312
1818 #define EGL_YUV_DEPTH_RANGE_EXT           0x3317
1819 #define EGL_YUV_CSC_STANDARD_EXT          0x330A
1820 #define EGL_YUV_PLANE_BPP_EXT             0x331A
1821 #define EGL_YUV_BUFFER_EXT                0x3300
1822 #define EGL_YUV_ORDER_YUV_EXT             0x3302
1823 #define EGL_YUV_ORDER_YVU_EXT             0x3303
1824 #define EGL_YUV_ORDER_YUYV_EXT            0x3304
1825 #define EGL_YUV_ORDER_UYVY_EXT            0x3305
1826 #define EGL_YUV_ORDER_YVYU_EXT            0x3306
1827 #define EGL_YUV_ORDER_VYUY_EXT            0x3307
1828 #define EGL_YUV_ORDER_AYUV_EXT            0x3308
1829 #define EGL_YUV_SUBSAMPLE_4_2_0_EXT       0x3313
1830 #define EGL_YUV_SUBSAMPLE_4_2_2_EXT       0x3314
1831 #define EGL_YUV_SUBSAMPLE_4_4_4_EXT       0x3315
1832 #define EGL_YUV_DEPTH_RANGE_LIMITED_EXT   0x3318
1833 #define EGL_YUV_DEPTH_RANGE_FULL_EXT      0x3319
1834 #define EGL_YUV_CSC_STANDARD_601_EXT      0x330B
1835 #define EGL_YUV_CSC_STANDARD_709_EXT      0x330C
1836 #define EGL_YUV_CSC_STANDARD_2020_EXT     0x330D
1837 #define EGL_YUV_PLANE_BPP_0_EXT           0x331B
1838 #define EGL_YUV_PLANE_BPP_8_EXT           0x331C
1839 #define EGL_YUV_PLANE_BPP_10_EXT          0x331D
1840 #endif /* EGL_EXT_yuv_surface */
1841
1842 #ifndef EGL_HI_clientpixmap
1843 #define EGL_HI_clientpixmap 1
1844 struct EGLClientPixmapHI {
1845     void  *pData;
1846     EGLint iWidth;
1847     EGLint iHeight;
1848     EGLint iStride;
1849 };
1850 #define EGL_CLIENT_PIXMAP_POINTER_HI      0x8F74
1851 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1852 #ifdef EGL_EGLEXT_PROTOTYPES
1853 EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1854 #endif
1855 #endif /* EGL_HI_clientpixmap */
1856
1857 #ifndef EGL_HI_colorformats
1858 #define EGL_HI_colorformats 1
1859 #define EGL_COLOR_FORMAT_HI               0x8F70
1860 #define EGL_COLOR_RGB_HI                  0x8F71
1861 #define EGL_COLOR_RGBA_HI                 0x8F72
1862 #define EGL_COLOR_ARGB_HI                 0x8F73
1863 #endif /* EGL_HI_colorformats */
1864
1865 #ifndef EGL_IMG_context_priority
1866 #define EGL_IMG_context_priority 1
1867 #define EGL_CONTEXT_PRIORITY_LEVEL_IMG    0x3100
1868 #define EGL_CONTEXT_PRIORITY_HIGH_IMG     0x3101
1869 #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG   0x3102
1870 #define EGL_CONTEXT_PRIORITY_LOW_IMG      0x3103
1871 #endif /* EGL_IMG_context_priority */
1872
1873 #ifndef EGL_IMG_image_plane_attribs
1874 #define EGL_IMG_image_plane_attribs 1
1875 #define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
1876 #define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
1877 #endif /* EGL_IMG_image_plane_attribs */
1878
1879 #ifndef EGL_MESA_drm_image
1880 #define EGL_MESA_drm_image 1
1881 #define EGL_DRM_BUFFER_FORMAT_MESA        0x31D0
1882 #define EGL_DRM_BUFFER_USE_MESA           0x31D1
1883 #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
1884 #define EGL_DRM_BUFFER_MESA               0x31D3
1885 #define EGL_DRM_BUFFER_STRIDE_MESA        0x31D4
1886 #define EGL_DRM_BUFFER_USE_SCANOUT_MESA   0x00000001
1887 #define EGL_DRM_BUFFER_USE_SHARE_MESA     0x00000002
1888 #define EGL_DRM_BUFFER_USE_CURSOR_MESA    0x00000004
1889 typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1890 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1891 #ifdef EGL_EGLEXT_PROTOTYPES
1892 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
1893 EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1894 #endif
1895 #endif /* EGL_MESA_drm_image */
1896
1897 #ifndef EGL_MESA_image_dma_buf_export
1898 #define EGL_MESA_image_dma_buf_export 1
1899 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1900 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1901 #ifdef EGL_EGLEXT_PROTOTYPES
1902 EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1903 EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1904 #endif
1905 #endif /* EGL_MESA_image_dma_buf_export */
1906
1907 #ifndef EGL_MESA_platform_gbm
1908 #define EGL_MESA_platform_gbm 1
1909 #define EGL_PLATFORM_GBM_MESA             0x31D7
1910 #endif /* EGL_MESA_platform_gbm */
1911
1912 #ifndef EGL_MESA_platform_surfaceless
1913 #define EGL_MESA_platform_surfaceless 1
1914 #define EGL_PLATFORM_SURFACELESS_MESA     0x31DD
1915 #endif /* EGL_MESA_platform_surfaceless */
1916
1917 #ifndef EGL_MESA_query_driver
1918 #define EGL_MESA_query_driver 1
1919 typedef char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERCONFIGPROC) (EGLDisplay dpy);
1920 typedef const char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERNAMEPROC) (EGLDisplay dpy);
1921 #ifdef EGL_EGLEXT_PROTOTYPES
1922 EGLAPI char *EGLAPIENTRY eglGetDisplayDriverConfig (EGLDisplay dpy);
1923 EGLAPI const char *EGLAPIENTRY eglGetDisplayDriverName (EGLDisplay dpy);
1924 #endif
1925 #endif /* EGL_MESA_query_driver */
1926
1927 #ifndef EGL_NOK_swap_region
1928 #define EGL_NOK_swap_region 1
1929 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1930 #ifdef EGL_EGLEXT_PROTOTYPES
1931 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1932 #endif
1933 #endif /* EGL_NOK_swap_region */
1934
1935 #ifndef EGL_NOK_swap_region2
1936 #define EGL_NOK_swap_region2 1
1937 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1938 #ifdef EGL_EGLEXT_PROTOTYPES
1939 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1940 #endif
1941 #endif /* EGL_NOK_swap_region2 */
1942
1943 #ifndef EGL_NOK_texture_from_pixmap
1944 #define EGL_NOK_texture_from_pixmap 1
1945 #define EGL_Y_INVERTED_NOK                0x307F
1946 #endif /* EGL_NOK_texture_from_pixmap */
1947
1948 #ifndef EGL_NV_3dvision_surface
1949 #define EGL_NV_3dvision_surface 1
1950 #define EGL_AUTO_STEREO_NV                0x3136
1951 #endif /* EGL_NV_3dvision_surface */
1952
1953 #ifndef EGL_NV_context_priority_realtime
1954 #define EGL_NV_context_priority_realtime 1
1955 #define EGL_CONTEXT_PRIORITY_REALTIME_NV  0x3357
1956 #endif /* EGL_NV_context_priority_realtime */
1957
1958 #ifndef EGL_NV_coverage_sample
1959 #define EGL_NV_coverage_sample 1
1960 #define EGL_COVERAGE_BUFFERS_NV           0x30E0
1961 #define EGL_COVERAGE_SAMPLES_NV           0x30E1
1962 #endif /* EGL_NV_coverage_sample */
1963
1964 #ifndef EGL_NV_coverage_sample_resolve
1965 #define EGL_NV_coverage_sample_resolve 1
1966 #define EGL_COVERAGE_SAMPLE_RESOLVE_NV    0x3131
1967 #define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
1968 #define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
1969 #endif /* EGL_NV_coverage_sample_resolve */
1970
1971 #ifndef EGL_NV_cuda_event
1972 #define EGL_NV_cuda_event 1
1973 #define EGL_CUDA_EVENT_HANDLE_NV          0x323B
1974 #define EGL_SYNC_CUDA_EVENT_NV            0x323C
1975 #define EGL_SYNC_CUDA_EVENT_COMPLETE_NV   0x323D
1976 #endif /* EGL_NV_cuda_event */
1977
1978 #ifndef EGL_NV_depth_nonlinear
1979 #define EGL_NV_depth_nonlinear 1
1980 #define EGL_DEPTH_ENCODING_NV             0x30E2
1981 #define EGL_DEPTH_ENCODING_NONE_NV        0
1982 #define EGL_DEPTH_ENCODING_NONLINEAR_NV   0x30E3
1983 #endif /* EGL_NV_depth_nonlinear */
1984
1985 #ifndef EGL_NV_device_cuda
1986 #define EGL_NV_device_cuda 1
1987 #define EGL_CUDA_DEVICE_NV                0x323A
1988 #endif /* EGL_NV_device_cuda */
1989
1990 #ifndef EGL_NV_native_query
1991 #define EGL_NV_native_query 1
1992 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1993 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1994 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1995 #ifdef EGL_EGLEXT_PROTOTYPES
1996 EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1997 EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1998 EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1999 #endif
2000 #endif /* EGL_NV_native_query */
2001
2002 #ifndef EGL_NV_post_convert_rounding
2003 #define EGL_NV_post_convert_rounding 1
2004 #endif /* EGL_NV_post_convert_rounding */
2005
2006 #ifndef EGL_NV_post_sub_buffer
2007 #define EGL_NV_post_sub_buffer 1
2008 #define EGL_POST_SUB_BUFFER_SUPPORTED_NV  0x30BE
2009 typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2010 #ifdef EGL_EGLEXT_PROTOTYPES
2011 EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2012 #endif
2013 #endif /* EGL_NV_post_sub_buffer */
2014
2015 #ifndef EGL_NV_quadruple_buffer
2016 #define EGL_NV_quadruple_buffer 1
2017 #define EGL_QUADRUPLE_BUFFER_NV           0x3231
2018 #endif /* EGL_NV_quadruple_buffer */
2019
2020 #ifndef EGL_NV_robustness_video_memory_purge
2021 #define EGL_NV_robustness_video_memory_purge 1
2022 #define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
2023 #endif /* EGL_NV_robustness_video_memory_purge */
2024
2025 #ifndef EGL_NV_stream_consumer_eglimage
2026 #define EGL_NV_stream_consumer_eglimage 1
2027 #define EGL_STREAM_CONSUMER_IMAGE_NV      0x3373
2028 #define EGL_STREAM_IMAGE_ADD_NV           0x3374
2029 #define EGL_STREAM_IMAGE_REMOVE_NV        0x3375
2030 #define EGL_STREAM_IMAGE_AVAILABLE_NV     0x3376
2031 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list);
2032 typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
2033 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
2034 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
2035 #ifdef EGL_EGLEXT_PROTOTYPES
2036 EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list);
2037 EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
2038 EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
2039 EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
2040 #endif
2041 #endif /* EGL_NV_stream_consumer_eglimage */
2042
2043 #ifndef EGL_NV_stream_consumer_gltexture_yuv
2044 #define EGL_NV_stream_consumer_gltexture_yuv 1
2045 #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV    0x332C
2046 #define EGL_YUV_PLANE1_TEXTURE_UNIT_NV    0x332D
2047 #define EGL_YUV_PLANE2_TEXTURE_UNIT_NV    0x332E
2048 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
2049 #ifdef EGL_EGLEXT_PROTOTYPES
2050 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
2051 #endif
2052 #endif /* EGL_NV_stream_consumer_gltexture_yuv */
2053
2054 #ifndef EGL_NV_stream_cross_display
2055 #define EGL_NV_stream_cross_display 1
2056 #define EGL_STREAM_CROSS_DISPLAY_NV       0x334E
2057 #endif /* EGL_NV_stream_cross_display */
2058
2059 #ifndef EGL_NV_stream_cross_object
2060 #define EGL_NV_stream_cross_object 1
2061 #define EGL_STREAM_CROSS_OBJECT_NV        0x334D
2062 #endif /* EGL_NV_stream_cross_object */
2063
2064 #ifndef EGL_NV_stream_cross_partition
2065 #define EGL_NV_stream_cross_partition 1
2066 #define EGL_STREAM_CROSS_PARTITION_NV     0x323F
2067 #endif /* EGL_NV_stream_cross_partition */
2068
2069 #ifndef EGL_NV_stream_cross_process
2070 #define EGL_NV_stream_cross_process 1
2071 #define EGL_STREAM_CROSS_PROCESS_NV       0x3245
2072 #endif /* EGL_NV_stream_cross_process */
2073
2074 #ifndef EGL_NV_stream_cross_system
2075 #define EGL_NV_stream_cross_system 1
2076 #define EGL_STREAM_CROSS_SYSTEM_NV        0x334F
2077 #endif /* EGL_NV_stream_cross_system */
2078
2079 #ifndef EGL_NV_stream_dma
2080 #define EGL_NV_stream_dma 1
2081 #define EGL_STREAM_DMA_NV                 0x3371
2082 #define EGL_STREAM_DMA_SERVER_NV          0x3372
2083 #endif /* EGL_NV_stream_dma */
2084
2085 #ifndef EGL_NV_stream_fifo_next
2086 #define EGL_NV_stream_fifo_next 1
2087 #define EGL_PENDING_FRAME_NV              0x3329
2088 #define EGL_STREAM_TIME_PENDING_NV        0x332A
2089 #endif /* EGL_NV_stream_fifo_next */
2090
2091 #ifndef EGL_NV_stream_fifo_synchronous
2092 #define EGL_NV_stream_fifo_synchronous 1
2093 #define EGL_STREAM_FIFO_SYNCHRONOUS_NV    0x3336
2094 #endif /* EGL_NV_stream_fifo_synchronous */
2095
2096 #ifndef EGL_NV_stream_flush
2097 #define EGL_NV_stream_flush 1
2098 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
2099 #ifdef EGL_EGLEXT_PROTOTYPES
2100 EGLAPI EGLBoolean EGLAPIENTRY eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream);
2101 #endif
2102 #endif /* EGL_NV_stream_flush */
2103
2104 #ifndef EGL_NV_stream_frame_limits
2105 #define EGL_NV_stream_frame_limits 1
2106 #define EGL_PRODUCER_MAX_FRAME_HINT_NV    0x3337
2107 #define EGL_CONSUMER_MAX_FRAME_HINT_NV    0x3338
2108 #endif /* EGL_NV_stream_frame_limits */
2109
2110 #ifndef EGL_NV_stream_metadata
2111 #define EGL_NV_stream_metadata 1
2112 #define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250
2113 #define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251
2114 #define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252
2115 #define EGL_PRODUCER_METADATA_NV          0x3253
2116 #define EGL_CONSUMER_METADATA_NV          0x3254
2117 #define EGL_PENDING_METADATA_NV           0x3328
2118 #define EGL_METADATA0_SIZE_NV             0x3255
2119 #define EGL_METADATA1_SIZE_NV             0x3256
2120 #define EGL_METADATA2_SIZE_NV             0x3257
2121 #define EGL_METADATA3_SIZE_NV             0x3258
2122 #define EGL_METADATA0_TYPE_NV             0x3259
2123 #define EGL_METADATA1_TYPE_NV             0x325A
2124 #define EGL_METADATA2_TYPE_NV             0x325B
2125 #define EGL_METADATA3_TYPE_NV             0x325C
2126 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
2127 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
2128 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
2129 #ifdef EGL_EGLEXT_PROTOTYPES
2130 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
2131 EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
2132 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
2133 #endif
2134 #endif /* EGL_NV_stream_metadata */
2135
2136 #ifndef EGL_NV_stream_origin
2137 #define EGL_NV_stream_origin 1
2138 #define EGL_STREAM_FRAME_ORIGIN_X_NV      0x3366
2139 #define EGL_STREAM_FRAME_ORIGIN_Y_NV      0x3367
2140 #define EGL_STREAM_FRAME_MAJOR_AXIS_NV    0x3368
2141 #define EGL_CONSUMER_AUTO_ORIENTATION_NV  0x3369
2142 #define EGL_PRODUCER_AUTO_ORIENTATION_NV  0x336A
2143 #define EGL_LEFT_NV                       0x336B
2144 #define EGL_RIGHT_NV                      0x336C
2145 #define EGL_TOP_NV                        0x336D
2146 #define EGL_BOTTOM_NV                     0x336E
2147 #define EGL_X_AXIS_NV                     0x336F
2148 #define EGL_Y_AXIS_NV                     0x3370
2149 #endif /* EGL_NV_stream_origin */
2150
2151 #ifndef EGL_NV_stream_remote
2152 #define EGL_NV_stream_remote 1
2153 #define EGL_STREAM_STATE_INITIALIZING_NV  0x3240
2154 #define EGL_STREAM_TYPE_NV                0x3241
2155 #define EGL_STREAM_PROTOCOL_NV            0x3242
2156 #define EGL_STREAM_ENDPOINT_NV            0x3243
2157 #define EGL_STREAM_LOCAL_NV               0x3244
2158 #define EGL_STREAM_PRODUCER_NV            0x3247
2159 #define EGL_STREAM_CONSUMER_NV            0x3248
2160 #define EGL_STREAM_PROTOCOL_FD_NV         0x3246
2161 #endif /* EGL_NV_stream_remote */
2162
2163 #ifndef EGL_NV_stream_reset
2164 #define EGL_NV_stream_reset 1
2165 #define EGL_SUPPORT_RESET_NV              0x3334
2166 #define EGL_SUPPORT_REUSE_NV              0x3335
2167 typedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
2168 #ifdef EGL_EGLEXT_PROTOTYPES
2169 EGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream);
2170 #endif
2171 #endif /* EGL_NV_stream_reset */
2172
2173 #ifndef EGL_NV_stream_socket
2174 #define EGL_NV_stream_socket 1
2175 #define EGL_STREAM_PROTOCOL_SOCKET_NV     0x324B
2176 #define EGL_SOCKET_HANDLE_NV              0x324C
2177 #define EGL_SOCKET_TYPE_NV                0x324D
2178 #endif /* EGL_NV_stream_socket */
2179
2180 #ifndef EGL_NV_stream_socket_inet
2181 #define EGL_NV_stream_socket_inet 1
2182 #define EGL_SOCKET_TYPE_INET_NV           0x324F
2183 #endif /* EGL_NV_stream_socket_inet */
2184
2185 #ifndef EGL_NV_stream_socket_unix
2186 #define EGL_NV_stream_socket_unix 1
2187 #define EGL_SOCKET_TYPE_UNIX_NV           0x324E
2188 #endif /* EGL_NV_stream_socket_unix */
2189
2190 #ifndef EGL_NV_stream_sync
2191 #define EGL_NV_stream_sync 1
2192 #define EGL_SYNC_NEW_FRAME_NV             0x321F
2193 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
2194 #ifdef EGL_EGLEXT_PROTOTYPES
2195 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
2196 #endif
2197 #endif /* EGL_NV_stream_sync */
2198
2199 #ifndef EGL_NV_sync
2200 #define EGL_NV_sync 1
2201 typedef void *EGLSyncNV;
2202 typedef khronos_utime_nanoseconds_t EGLTimeNV;
2203 #ifdef KHRONOS_SUPPORT_INT64
2204 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
2205 #define EGL_SYNC_STATUS_NV                0x30E7
2206 #define EGL_SIGNALED_NV                   0x30E8
2207 #define EGL_UNSIGNALED_NV                 0x30E9
2208 #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV    0x0001
2209 #define EGL_FOREVER_NV                    0xFFFFFFFFFFFFFFFFull
2210 #define EGL_ALREADY_SIGNALED_NV           0x30EA
2211 #define EGL_TIMEOUT_EXPIRED_NV            0x30EB
2212 #define EGL_CONDITION_SATISFIED_NV        0x30EC
2213 #define EGL_SYNC_TYPE_NV                  0x30ED
2214 #define EGL_SYNC_CONDITION_NV             0x30EE
2215 #define EGL_SYNC_FENCE_NV                 0x30EF
2216 #define EGL_NO_SYNC_NV                    EGL_CAST(EGLSyncNV,0)
2217 typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2218 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
2219 typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
2220 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2221 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
2222 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
2223 #ifdef EGL_EGLEXT_PROTOTYPES
2224 EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2225 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
2226 EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
2227 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2228 EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
2229 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
2230 #endif
2231 #endif /* KHRONOS_SUPPORT_INT64 */
2232 #endif /* EGL_NV_sync */
2233
2234 #ifndef EGL_NV_system_time
2235 #define EGL_NV_system_time 1
2236 typedef khronos_utime_nanoseconds_t EGLuint64NV;
2237 #ifdef KHRONOS_SUPPORT_INT64
2238 typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
2239 typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
2240 #ifdef EGL_EGLEXT_PROTOTYPES
2241 EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
2242 EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
2243 #endif
2244 #endif /* KHRONOS_SUPPORT_INT64 */
2245 #endif /* EGL_NV_system_time */
2246
2247 #ifndef EGL_NV_triple_buffer
2248 #define EGL_NV_triple_buffer 1
2249 #define EGL_TRIPLE_BUFFER_NV              0x3230
2250 #endif /* EGL_NV_triple_buffer */
2251
2252 #ifndef EGL_TIZEN_image_native_buffer
2253 #define EGL_TIZEN_image_native_buffer 1
2254 #define EGL_NATIVE_BUFFER_TIZEN           0x32A0
2255 #endif /* EGL_TIZEN_image_native_buffer */
2256
2257 #ifndef EGL_TIZEN_image_native_surface
2258 #define EGL_TIZEN_image_native_surface 1
2259 #define EGL_NATIVE_SURFACE_TIZEN          0x32A1
2260 #endif /* EGL_TIZEN_image_native_surface */
2261
2262 #ifndef EGL_WL_bind_wayland_display
2263 #define EGL_WL_bind_wayland_display 1
2264 #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC
2265 #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC
2266 #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC
2267 struct wl_display;
2268 struct wl_resource;
2269 #define EGL_WAYLAND_BUFFER_WL             0x31D5
2270 #define EGL_WAYLAND_PLANE_WL              0x31D6
2271 #define EGL_TEXTURE_Y_U_V_WL              0x31D7
2272 #define EGL_TEXTURE_Y_UV_WL               0x31D8
2273 #define EGL_TEXTURE_Y_XUXV_WL             0x31D9
2274 #define EGL_TEXTURE_EXTERNAL_WL           0x31DA
2275 #define EGL_WAYLAND_Y_INVERTED_WL         0x31DB
2276 typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
2277 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
2278 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
2279 #ifdef EGL_EGLEXT_PROTOTYPES
2280 EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
2281 EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
2282 EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
2283 #endif
2284 #endif /* EGL_WL_bind_wayland_display */
2285
2286 #ifndef EGL_WL_create_wayland_buffer_from_image
2287 #define EGL_WL_create_wayland_buffer_from_image 1
2288 #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC
2289 struct wl_buffer;
2290 typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image);
2291 #ifdef EGL_EGLEXT_PROTOTYPES
2292 EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image);
2293 #endif
2294 #endif /* EGL_WL_create_wayland_buffer_from_image */
2295
2296 #ifdef __cplusplus
2297 }
2298 #endif
2299
2300 #endif /* __eglext_h_ */
2301
2302 #endif /* _MSC_VER */