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