1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2021 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__)
28
29#include <EGL/egl.h>
30#include <EGL/eglext.h>
31
32#else /* _MSC_VER */
33
34/* EGL headers for Visual Studio */
35
36#ifndef __khrplatform_h_
37#define __khrplatform_h_
38
39/*
40** Copyright (c) 2008-2009 The Khronos Group Inc.
41**
42** Permission is hereby granted, free of charge, to any person obtaining a
43** copy of this software and/or associated documentation files (the
44** "Materials"), to deal in the Materials without restriction, including
45** without limitation the rights to use, copy, modify, merge, publish,
46** distribute, sublicense, and/or sell copies of the Materials, and to
47** permit persons to whom the Materials are furnished to do so, subject to
48** the following conditions:
49**
50** The above copyright notice and this permission notice shall be included
51** in all copies or substantial portions of the Materials.
52**
53** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
54** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
55** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
56** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
57** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
58** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
59** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
60*/
61
62/* Khronos platform-specific types and definitions.
63*
64* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
65*
66* Adopters may modify this file to suit their platform. Adopters are
67* encouraged to submit platform specific modifications to the Khronos
68* group so that they can be included in future versions of this file.
69* Please submit changes by sending them to the public Khronos Bugzilla
70* (http://khronos.org/bugzilla) by filing a bug against product
71* "Khronos (general)" component "Registry".
72*
73* A predefined template which fills in some of the bug fields can be
74* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
75* must create a Bugzilla login first.
76*
77*
78* See the Implementer's Guidelines for information about where this file
79* should be located on your system and for more details of its use:
80* http://www.khronos.org/registry/implementers_guide.pdf
81*
82* This file should be included as
83* #include <KHR/khrplatform.h>
84* by Khronos client API header files that use its types and defines.
85*
86* The types in khrplatform.h should only be used to define API-specific types.
87*
88* Types defined in khrplatform.h:
89* khronos_int8_t signed 8 bit
90* khronos_uint8_t unsigned 8 bit
91* khronos_int16_t signed 16 bit
92* khronos_uint16_t unsigned 16 bit
93* khronos_int32_t signed 32 bit
94* khronos_uint32_t unsigned 32 bit
95* khronos_int64_t signed 64 bit
96* khronos_uint64_t unsigned 64 bit
97* khronos_intptr_t signed same number of bits as a pointer
98* khronos_uintptr_t unsigned same number of bits as a pointer
99* khronos_ssize_t signed size
100* khronos_usize_t unsigned size
101* khronos_float_t signed 32 bit floating point
102* khronos_time_ns_t unsigned 64 bit time in nanoseconds
103* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
104* nanoseconds
105* khronos_stime_nanoseconds_t signed time interval in nanoseconds
106* khronos_boolean_enum_t enumerated boolean type. This should
107* only be used as a base type when a client API's boolean type is
108* an enum. Client APIs which use an integer or other type for
109* booleans cannot use this as the base type for their boolean.
110*
111* Tokens defined in khrplatform.h:
112*
113* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
114*
115* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
116* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
117*
118* Calling convention macros defined in this file:
119* KHRONOS_APICALL
120* KHRONOS_APIENTRY
121* KHRONOS_APIATTRIBUTES
122*
123* These may be used in function prototypes as:
124*
125* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
126* int arg1,
127* int arg2) KHRONOS_APIATTRIBUTES;
128*/
129
130/*-------------------------------------------------------------------------
131* Definition of KHRONOS_APICALL
132*-------------------------------------------------------------------------
133* This precedes the return type of the function in the function prototype.
134*/
135#if defined(_WIN32) && !defined(__SCITECH_SNAP__) && !defined(SDL_VIDEO_STATIC_ANGLE)
136# define KHRONOS_APICALL __declspec(dllimport)
137#elif defined (__SYMBIAN32__)
138# define KHRONOS_APICALL IMPORT_C
139#else
140# define KHRONOS_APICALL
141#endif
142
143/*-------------------------------------------------------------------------
144* Definition of KHRONOS_APIENTRY
145*-------------------------------------------------------------------------
146* This follows the return type of the function and precedes the function
147* name in the function prototype.
148*/
149#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
150/* Win32 but not WinCE */
151# define KHRONOS_APIENTRY __stdcall
152#else
153# define KHRONOS_APIENTRY
154#endif
155
156/*-------------------------------------------------------------------------
157* Definition of KHRONOS_APIATTRIBUTES
158*-------------------------------------------------------------------------
159* This follows the closing parenthesis of the function prototype arguments.
160*/
161#if defined (__ARMCC_2__)
162#define KHRONOS_APIATTRIBUTES __softfp
163#else
164#define KHRONOS_APIATTRIBUTES
165#endif
166
167/*-------------------------------------------------------------------------
168* basic type definitions
169*-----------------------------------------------------------------------*/
170#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
171
172
173/*
174* Using <stdint.h>
175*/
176#include <stdint.h>
177typedef int32_t khronos_int32_t;
178typedef uint32_t khronos_uint32_t;
179typedef int64_t khronos_int64_t;
180typedef uint64_t khronos_uint64_t;
181#define KHRONOS_SUPPORT_INT64 1
182#define KHRONOS_SUPPORT_FLOAT 1
183
184#elif defined(__VMS ) || defined(__sgi)
185
186/*
187* Using <inttypes.h>
188*/
189#include <inttypes.h>
190typedef int32_t khronos_int32_t;
191typedef uint32_t khronos_uint32_t;
192typedef int64_t khronos_int64_t;
193typedef uint64_t khronos_uint64_t;
194#define KHRONOS_SUPPORT_INT64 1
195#define KHRONOS_SUPPORT_FLOAT 1
196
197#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
198
199/*
200* Win32
201*/
202typedef __int32 khronos_int32_t;
203typedef unsigned __int32 khronos_uint32_t;
204typedef __int64 khronos_int64_t;
205typedef unsigned __int64 khronos_uint64_t;
206#define KHRONOS_SUPPORT_INT64 1
207#define KHRONOS_SUPPORT_FLOAT 1
208
209#elif defined(__sun__) || defined(__digital__)
210
211/*
212* Sun or Digital
213*/
214typedef int khronos_int32_t;
215typedef unsigned int khronos_uint32_t;
216#if defined(__arch64__) || defined(_LP64)
217typedef long int khronos_int64_t;
218typedef unsigned long int khronos_uint64_t;
219#else
220typedef long long int khronos_int64_t;
221typedef unsigned long long int khronos_uint64_t;
222#endif /* __arch64__ */
223#define KHRONOS_SUPPORT_INT64 1
224#define KHRONOS_SUPPORT_FLOAT 1
225
226#elif 0
227
228/*
229* Hypothetical platform with no float or int64 support
230*/
231typedef int khronos_int32_t;
232typedef unsigned int khronos_uint32_t;
233#define KHRONOS_SUPPORT_INT64 0
234#define KHRONOS_SUPPORT_FLOAT 0
235
236#else
237
238/*
239* Generic fallback
240*/
241#include <stdint.h>
242typedef int32_t khronos_int32_t;
243typedef uint32_t khronos_uint32_t;
244typedef int64_t khronos_int64_t;
245typedef uint64_t khronos_uint64_t;
246#define KHRONOS_SUPPORT_INT64 1
247#define KHRONOS_SUPPORT_FLOAT 1
248
249#endif
250
251
252/*
253* Types that are (so far) the same on all platforms
254*/
255typedef signed char khronos_int8_t;
256typedef unsigned char khronos_uint8_t;
257typedef signed short int khronos_int16_t;
258typedef unsigned short int khronos_uint16_t;
259
260/*
261* Types that differ between LLP64 and LP64 architectures - in LLP64,
262* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
263* to be the only LLP64 architecture in current use.
264*/
265#ifdef _WIN64
266typedef signed long long int khronos_intptr_t;
267typedef unsigned long long int khronos_uintptr_t;
268typedef signed long long int khronos_ssize_t;
269typedef unsigned long long int khronos_usize_t;
270#else
271typedef signed long int khronos_intptr_t;
272typedef unsigned long int khronos_uintptr_t;
273typedef signed long int khronos_ssize_t;
274typedef unsigned long int khronos_usize_t;
275#endif
276
277#if KHRONOS_SUPPORT_FLOAT
278/*
279* Float type
280*/
281typedef float khronos_float_t;
282#endif
283
284#if KHRONOS_SUPPORT_INT64
285/* Time types
286*
287* These types can be used to represent a time interval in nanoseconds or
288* an absolute Unadjusted System Time. Unadjusted System Time is the number
289* of nanoseconds since some arbitrary system event (e.g. since the last
290* time the system booted). The Unadjusted System Time is an unsigned
291* 64 bit value that wraps back to 0 every 584 years. Time intervals
292* may be either signed or unsigned.
293*/
294typedef khronos_uint64_t khronos_utime_nanoseconds_t;
295typedef khronos_int64_t khronos_stime_nanoseconds_t;
296#endif
297
298/*
299* Dummy value used to pad enum types to 32 bits.
300*/
301#ifndef KHRONOS_MAX_ENUM
302#define KHRONOS_MAX_ENUM 0x7FFFFFFF
303#endif
304
305/*
306* Enumerated boolean type
307*
308* Values other than zero should be considered to be true. Therefore
309* comparisons should not be made against KHRONOS_TRUE.
310*/
311typedef enum {
312 KHRONOS_FALSE = 0,
313 KHRONOS_TRUE = 1,
314 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
315} khronos_boolean_enum_t;
316
317#endif /* __khrplatform_h_ */
318
319
320#ifndef __eglplatform_h_
321#define __eglplatform_h_
322
323/*
324** Copyright (c) 2007-2009 The Khronos Group Inc.
325**
326** Permission is hereby granted, free of charge, to any person obtaining a
327** copy of this software and/or associated documentation files (the
328** "Materials"), to deal in the Materials without restriction, including
329** without limitation the rights to use, copy, modify, merge, publish,
330** distribute, sublicense, and/or sell copies of the Materials, and to
331** permit persons to whom the Materials are furnished to do so, subject to
332** the following conditions:
333**
334** The above copyright notice and this permission notice shall be included
335** in all copies or substantial portions of the Materials.
336**
337** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
338** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
339** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
340** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
341** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
342** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
343** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
344*/
345
346/* Platform-specific types and definitions for egl.h
347* $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
348*
349* Adopters may modify khrplatform.h and this file to suit their platform.
350* You are encouraged to submit all modifications to the Khronos group so that
351* they can be included in future versions of this file. Please submit changes
352* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
353* by filing a bug against product "EGL" component "Registry".
354*/
355
356/*#include <KHR/khrplatform.h>*/
357
358/* Macros used in EGL function prototype declarations.
359*
360* EGL functions should be prototyped as:
361*
362* EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
363* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
364*
365* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
366*/
367
368#ifndef EGLAPI
369#define EGLAPI KHRONOS_APICALL
370#endif
371
372#ifndef EGLAPIENTRY
373#define EGLAPIENTRY KHRONOS_APIENTRY
374#endif
375#define EGLAPIENTRYP EGLAPIENTRY*
376
377/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
378* are aliases of window-system-dependent types, such as X Display * or
379* Windows Device Context. They must be defined in platform-specific
380* code below. The EGL-prefixed versions of Native*Type are the same
381* types, renamed in EGL 1.3 so all types in the API start with "EGL".
382*
383* Khronos STRONGLY RECOMMENDS that you use the default definitions
384* provided below, since these changes affect both binary and source
385* portability of applications using EGL running on different EGL
386* implementations.
387*/
388
389#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
390#ifndef WIN32_LEAN_AND_MEAN
391#define WIN32_LEAN_AND_MEAN 1
392#endif
393#ifndef NOMINMAX /* don't define min() and max(). */
394#define NOMINMAX
395#endif
396#include <windows.h>
397
398#if __WINRT__
399#include <Unknwn.h>
400typedef IUnknown * EGLNativeWindowType;
401typedef IUnknown * EGLNativePixmapType;
402typedef IUnknown * EGLNativeDisplayType;
403#else
404typedef HDC EGLNativeDisplayType;
405typedef HBITMAP EGLNativePixmapType;
406typedef HWND EGLNativeWindowType;
407#endif
408
409#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
410
411typedef int EGLNativeDisplayType;
412typedef void *EGLNativeWindowType;
413typedef void *EGLNativePixmapType;
414
415#elif defined(WL_EGL_PLATFORM)
416
417typedef struct wl_display *EGLNativeDisplayType;
418typedef struct wl_egl_pixmap *EGLNativePixmapType;
419typedef struct wl_egl_window *EGLNativeWindowType;
420
421#elif defined(__GBM__)
422
423typedef struct gbm_device *EGLNativeDisplayType;
424typedef struct gbm_bo *EGLNativePixmapType;
425typedef void *EGLNativeWindowType;
426
427#elif defined(__ANDROID__) /* Android */
428
429struct ANativeWindow;
430struct egl_native_pixmap_t;
431
432typedef struct ANativeWindow *EGLNativeWindowType;
433typedef struct egl_native_pixmap_t *EGLNativePixmapType;
434typedef void *EGLNativeDisplayType;
435
436#elif defined(MIR_EGL_PLATFORM)
437
438#include <mir_toolkit/mir_client_library.h>
439typedef MirEGLNativeDisplayType EGLNativeDisplayType;
440typedef void *EGLNativePixmapType;
441typedef MirEGLNativeWindowType EGLNativeWindowType;
442
443#elif defined(__unix__)
444
445#ifdef MESA_EGL_NO_X11_HEADERS
446
447typedef void *EGLNativeDisplayType;
448typedef khronos_uintptr_t EGLNativePixmapType;
449typedef khronos_uintptr_t EGLNativeWindowType;
450
451#else
452
453/* X11 (tentative) */
454#include <X11/Xlib.h>
455#include <X11/Xutil.h>
456
457typedef Display *EGLNativeDisplayType;
458typedef Pixmap EGLNativePixmapType;
459typedef Window EGLNativeWindowType;
460
461#endif /* MESA_EGL_NO_X11_HEADERS */
462
463#else
464#error "Platform not recognized"
465#endif
466
467/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
468typedef EGLNativeDisplayType NativeDisplayType;
469typedef EGLNativePixmapType NativePixmapType;
470typedef EGLNativeWindowType NativeWindowType;
471
472
473/* Define EGLint. This must be a signed integral type large enough to contain
474* all legal attribute names and values passed into and out of EGL, whether
475* their type is boolean, bitmask, enumerant (symbolic constant), integer,
476* handle, or other. While in general a 32-bit integer will suffice, if
477* handles are 64 bit types, then EGLint should be defined as a signed 64-bit
478* integer type.
479*/
480typedef khronos_int32_t EGLint;
481
482#endif /* __eglplatform_h */
483
484#ifndef __egl_h_
485#define __egl_h_ 1
486
487#ifdef __cplusplus
488extern "C" {
489#endif
490
491/*
492** Copyright (c) 2013-2015 The Khronos Group Inc.
493**
494** Permission is hereby granted, free of charge, to any person obtaining a
495** copy of this software and/or associated documentation files (the
496** "Materials"), to deal in the Materials without restriction, including
497** without limitation the rights to use, copy, modify, merge, publish,
498** distribute, sublicense, and/or sell copies of the Materials, and to
499** permit persons to whom the Materials are furnished to do so, subject to
500** the following conditions:
501**
502** The above copyright notice and this permission notice shall be included
503** in all copies or substantial portions of the Materials.
504**
505** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
506** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
507** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
508** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
509** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
510** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
511** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
512*/
513/*
514** This header is generated from the Khronos OpenGL / OpenGL ES XML
515** API Registry. The current version of the Registry, generator scripts
516** used to make the header, and the header can be found at
517** http://www.opengl.org/registry/
518**
519** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
520*/
521
522/*#include <EGL/eglplatform.h>*/
523
524/* Generated on date 20150623 */
525
526/* Generated C header for:
527 * API: egl
528 * Versions considered: .*
529 * Versions emitted: .*
530 * Default extensions included: None
531 * Additional extensions included: _nomatch_^
532 * Extensions removed: _nomatch_^
533 */
534
535#ifndef EGL_VERSION_1_0
536#define EGL_VERSION_1_0 1
537typedef unsigned int EGLBoolean;
538typedef void *EGLDisplay;
539typedef void *EGLConfig;
540typedef void *EGLSurface;
541typedef void *EGLContext;
542typedef void (*__eglMustCastToProperFunctionPointerType)(void);
543#define EGL_ALPHA_SIZE 0x3021
544#define EGL_BAD_ACCESS 0x3002
545#define EGL_BAD_ALLOC 0x3003
546#define EGL_BAD_ATTRIBUTE 0x3004
547#define EGL_BAD_CONFIG 0x3005
548#define EGL_BAD_CONTEXT 0x3006
549#define EGL_BAD_CURRENT_SURFACE 0x3007
550#define EGL_BAD_DISPLAY 0x3008
551#define EGL_BAD_MATCH 0x3009
552#define EGL_BAD_NATIVE_PIXMAP 0x300A
553#define EGL_BAD_NATIVE_WINDOW 0x300B
554#define EGL_BAD_PARAMETER 0x300C
555#define EGL_BAD_SURFACE 0x300D
556#define EGL_BLUE_SIZE 0x3022
557#define EGL_BUFFER_SIZE 0x3020
558#define EGL_CONFIG_CAVEAT 0x3027
559#define EGL_CONFIG_ID 0x3028
560#define EGL_CORE_NATIVE_ENGINE 0x305B
561#define EGL_DEPTH_SIZE 0x3025
562#define EGL_DONT_CARE ((EGLint)-1)
563#define EGL_DRAW 0x3059
564#define EGL_EXTENSIONS 0x3055
565#define EGL_FALSE 0
566#define EGL_GREEN_SIZE 0x3023
567#define EGL_HEIGHT 0x3056
568#define EGL_LARGEST_PBUFFER 0x3058
569#define EGL_LEVEL 0x3029
570#define EGL_MAX_PBUFFER_HEIGHT 0x302A
571#define EGL_MAX_PBUFFER_PIXELS 0x302B
572#define EGL_MAX_PBUFFER_WIDTH 0x302C
573#define EGL_NATIVE_RENDERABLE 0x302D
574#define EGL_NATIVE_VISUAL_ID 0x302E
575#define EGL_NATIVE_VISUAL_TYPE 0x302F
576#define EGL_NONE 0x3038
577#define EGL_NON_CONFORMANT_CONFIG 0x3051
578#define EGL_NOT_INITIALIZED 0x3001
579#define EGL_NO_CONTEXT ((EGLContext)0)
580#define EGL_NO_DISPLAY ((EGLDisplay)0)
581#define EGL_NO_SURFACE ((EGLSurface)0)
582#define EGL_PBUFFER_BIT 0x0001
583#define EGL_PIXMAP_BIT 0x0002
584#define EGL_READ 0x305A
585#define EGL_RED_SIZE 0x3024
586#define EGL_SAMPLES 0x3031
587#define EGL_SAMPLE_BUFFERS 0x3032
588#define EGL_SLOW_CONFIG 0x3050
589#define EGL_STENCIL_SIZE 0x3026
590#define EGL_SUCCESS 0x3000
591#define EGL_SURFACE_TYPE 0x3033
592#define EGL_TRANSPARENT_BLUE_VALUE 0x3035
593#define EGL_TRANSPARENT_GREEN_VALUE 0x3036
594#define EGL_TRANSPARENT_RED_VALUE 0x3037
595#define EGL_TRANSPARENT_RGB 0x3052
596#define EGL_TRANSPARENT_TYPE 0x3034
597#define EGL_TRUE 1
598#define EGL_VENDOR 0x3053
599#define EGL_VERSION 0x3054
600#define EGL_WIDTH 0x3057
601#define EGL_WINDOW_BIT 0x0004
602EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
603EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
604EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
605EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
606EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
607EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
608EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
609EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
610EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
611EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
612EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
613EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
614EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
615EGLAPI EGLint EGLAPIENTRY eglGetError (void);
616EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
617EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
618EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
619EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
620EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
621EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
622EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
623EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
624EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
625EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
626#endif /* EGL_VERSION_1_0 */
627
628#ifndef EGL_VERSION_1_1
629#define EGL_VERSION_1_1 1
630#define EGL_BACK_BUFFER 0x3084
631#define EGL_BIND_TO_TEXTURE_RGB 0x3039
632#define EGL_BIND_TO_TEXTURE_RGBA 0x303A
633#define EGL_CONTEXT_LOST 0x300E
634#define EGL_MIN_SWAP_INTERVAL 0x303B
635#define EGL_MAX_SWAP_INTERVAL 0x303C
636#define EGL_MIPMAP_TEXTURE 0x3082
637#define EGL_MIPMAP_LEVEL 0x3083
638#define EGL_NO_TEXTURE 0x305C
639#define EGL_TEXTURE_2D 0x305F
640#define EGL_TEXTURE_FORMAT 0x3080
641#define EGL_TEXTURE_RGB 0x305D
642#define EGL_TEXTURE_RGBA 0x305E
643#define EGL_TEXTURE_TARGET 0x3081
644EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
645EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
646EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
647EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
648#endif /* EGL_VERSION_1_1 */
649
650#ifndef EGL_VERSION_1_2
651#define EGL_VERSION_1_2 1
652typedef unsigned int EGLenum;
653typedef void *EGLClientBuffer;
654#define EGL_ALPHA_FORMAT 0x3088
655#define EGL_ALPHA_FORMAT_NONPRE 0x308B
656#define EGL_ALPHA_FORMAT_PRE 0x308C
657#define EGL_ALPHA_MASK_SIZE 0x303E
658#define EGL_BUFFER_PRESERVED 0x3094
659#define EGL_BUFFER_DESTROYED 0x3095
660#define EGL_CLIENT_APIS 0x308D
661#define EGL_COLORSPACE 0x3087
662#define EGL_COLORSPACE_sRGB 0x3089
663#define EGL_COLORSPACE_LINEAR 0x308A
664#define EGL_COLOR_BUFFER_TYPE 0x303F
665#define EGL_CONTEXT_CLIENT_TYPE 0x3097
666#define EGL_DISPLAY_SCALING 10000
667#define EGL_HORIZONTAL_RESOLUTION 0x3090
668#define EGL_LUMINANCE_BUFFER 0x308F
669#define EGL_LUMINANCE_SIZE 0x303D
670#define EGL_OPENGL_ES_BIT 0x0001
671#define EGL_OPENVG_BIT 0x0002
672#define EGL_OPENGL_ES_API 0x30A0
673#define EGL_OPENVG_API 0x30A1
674#define EGL_OPENVG_IMAGE 0x3096
675#define EGL_PIXEL_ASPECT_RATIO 0x3092
676#define EGL_RENDERABLE_TYPE 0x3040
677#define EGL_RENDER_BUFFER 0x3086
678#define EGL_RGB_BUFFER 0x308E
679#define EGL_SINGLE_BUFFER 0x3085
680#define EGL_SWAP_BEHAVIOR 0x3093
681#define EGL_UNKNOWN ((EGLint)-1)
682#define EGL_VERTICAL_RESOLUTION 0x3091
683EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
684EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
685EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
686EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
687EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
688#endif /* EGL_VERSION_1_2 */
689
690#ifndef EGL_VERSION_1_3
691#define EGL_VERSION_1_3 1
692#define EGL_CONFORMANT 0x3042
693#define EGL_CONTEXT_CLIENT_VERSION 0x3098
694#define EGL_MATCH_NATIVE_PIXMAP 0x3041
695#define EGL_OPENGL_ES2_BIT 0x0004
696#define EGL_VG_ALPHA_FORMAT 0x3088
697#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
698#define EGL_VG_ALPHA_FORMAT_PRE 0x308C
699#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
700#define EGL_VG_COLORSPACE 0x3087
701#define EGL_VG_COLORSPACE_sRGB 0x3089
702#define EGL_VG_COLORSPACE_LINEAR 0x308A
703#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
704#endif /* EGL_VERSION_1_3 */
705
706#ifndef EGL_VERSION_1_4
707#define EGL_VERSION_1_4 1
708#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
709#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
710#define EGL_MULTISAMPLE_RESOLVE 0x3099
711#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
712#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
713#define EGL_OPENGL_API 0x30A2
714#define EGL_OPENGL_BIT 0x0008
715#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
716EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
717#endif /* EGL_VERSION_1_4 */
718
719#ifndef EGL_VERSION_1_5
720#define EGL_VERSION_1_5 1
721typedef void *EGLSync;
722typedef intptr_t EGLAttrib;
723typedef khronos_utime_nanoseconds_t EGLTime;
724typedef void *EGLImage;
725#define EGL_CONTEXT_MAJOR_VERSION 0x3098
726#define EGL_CONTEXT_MINOR_VERSION 0x30FB
727#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
728#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
729#define EGL_NO_RESET_NOTIFICATION 0x31BE
730#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
731#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
732#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
733#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
734#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
735#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
736#define EGL_OPENGL_ES3_BIT 0x00000040
737#define EGL_CL_EVENT_HANDLE 0x309C
738#define EGL_SYNC_CL_EVENT 0x30FE
739#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
740#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
741#define EGL_SYNC_TYPE 0x30F7
742#define EGL_SYNC_STATUS 0x30F1
743#define EGL_SYNC_CONDITION 0x30F8
744#define EGL_SIGNALED 0x30F2
745#define EGL_UNSIGNALED 0x30F3
746#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
747#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
748#define EGL_TIMEOUT_EXPIRED 0x30F5
749#define EGL_CONDITION_SATISFIED 0x30F6
750#define EGL_NO_SYNC ((EGLSync)0)
751#define EGL_SYNC_FENCE 0x30F9
752#define EGL_GL_COLORSPACE 0x309D
753#define EGL_GL_COLORSPACE_SRGB 0x3089
754#define EGL_GL_COLORSPACE_LINEAR 0x308A
755#define EGL_GL_RENDERBUFFER 0x30B9
756#define EGL_GL_TEXTURE_2D 0x30B1
757#define EGL_GL_TEXTURE_LEVEL 0x30BC
758#define EGL_GL_TEXTURE_3D 0x30B2
759#define EGL_GL_TEXTURE_ZOFFSET 0x30BD
760#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
761#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
762#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
763#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
764#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
765#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
766#define EGL_IMAGE_PRESERVED 0x30D2
767#define EGL_NO_IMAGE ((EGLImage)0)
768EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
769EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
770EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
771EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
772EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
773EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
774EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
775EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
776EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
777EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
778#endif /* EGL_VERSION_1_5 */
779
780#ifdef __cplusplus
781}
782#endif
783
784#endif /* __egl_h_ */
785
786
787
788#ifndef __eglext_h_
789#define __eglext_h_ 1
790
791#ifdef __cplusplus
792extern "C" {
793#endif
794
795/*
796** Copyright (c) 2013-2015 The Khronos Group Inc.
797**
798** Permission is hereby granted, free of charge, to any person obtaining a
799** copy of this software and/or associated documentation files (the
800** "Materials"), to deal in the Materials without restriction, including
801** without limitation the rights to use, copy, modify, merge, publish,
802** distribute, sublicense, and/or sell copies of the Materials, and to
803** permit persons to whom the Materials are furnished to do so, subject to
804** the following conditions:
805**
806** The above copyright notice and this permission notice shall be included
807** in all copies or substantial portions of the Materials.
808**
809** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
810** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
811** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
812** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
813** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
814** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
815** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
816*/
817/*
818** This header is generated from the Khronos OpenGL / OpenGL ES XML
819** API Registry. The current version of the Registry, generator scripts
820** used to make the header, and the header can be found at
821** http://www.opengl.org/registry/
822**
823** Khronos $Revision: 31566 $ on $Date: 2015-06-23 08:48:48 -0700 (Tue, 23 Jun 2015) $
824*/
825
826/*#include <EGL/eglplatform.h>*/
827
828#define EGL_EGLEXT_VERSION 20150623
829
830/* Generated C header for:
831 * API: egl
832 * Versions considered: .*
833 * Versions emitted: _nomatch_^
834 * Default extensions included: egl
835 * Additional extensions included: _nomatch_^
836 * Extensions removed: _nomatch_^
837 */
838
839#ifndef EGL_KHR_cl_event
840#define EGL_KHR_cl_event 1
841#define EGL_CL_EVENT_HANDLE_KHR 0x309C
842#define EGL_SYNC_CL_EVENT_KHR 0x30FE
843#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF
844#endif /* EGL_KHR_cl_event */
845
846#ifndef EGL_KHR_cl_event2
847#define EGL_KHR_cl_event2 1
848typedef void *EGLSyncKHR;
849typedef intptr_t EGLAttribKHR;
850typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
851#ifdef EGL_EGLEXT_PROTOTYPES
852EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
853#endif
854#endif /* EGL_KHR_cl_event2 */
855
856#ifndef EGL_KHR_client_get_all_proc_addresses
857#define EGL_KHR_client_get_all_proc_addresses 1
858#endif /* EGL_KHR_client_get_all_proc_addresses */
859
860#ifndef EGL_KHR_config_attribs
861#define EGL_KHR_config_attribs 1
862#define EGL_CONFORMANT_KHR 0x3042
863#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020
864#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
865#endif /* EGL_KHR_config_attribs */
866
867#ifndef EGL_KHR_create_context
868#define EGL_KHR_create_context 1
869#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
870#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
871#define EGL_CONTEXT_FLAGS_KHR 0x30FC
872#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
873#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
874#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
875#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
876#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
877#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
878#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
879#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
880#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
881#define EGL_OPENGL_ES3_BIT_KHR 0x00000040
882#endif /* EGL_KHR_create_context */
883
884#ifndef EGL_KHR_create_context_no_error
885#define EGL_KHR_create_context_no_error 1
886#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3
887#endif /* EGL_KHR_create_context_no_error */
888
889#ifndef EGL_KHR_fence_sync
890#define EGL_KHR_fence_sync 1
891typedef khronos_utime_nanoseconds_t EGLTimeKHR;
892#ifdef KHRONOS_SUPPORT_INT64
893#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
894#define EGL_SYNC_CONDITION_KHR 0x30F8
895#define EGL_SYNC_FENCE_KHR 0x30F9
896typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
897typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
898typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
899typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
900#ifdef EGL_EGLEXT_PROTOTYPES
901EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
902EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
903EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
904EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
905#endif
906#endif /* KHRONOS_SUPPORT_INT64 */
907#endif /* EGL_KHR_fence_sync */
908
909#ifndef EGL_KHR_get_all_proc_addresses
910#define EGL_KHR_get_all_proc_addresses 1
911#endif /* EGL_KHR_get_all_proc_addresses */
912
913#ifndef EGL_KHR_gl_colorspace
914#define EGL_KHR_gl_colorspace 1
915#define EGL_GL_COLORSPACE_KHR 0x309D
916#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089
917#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A
918#endif /* EGL_KHR_gl_colorspace */
919
920#ifndef EGL_KHR_gl_renderbuffer_image
921#define EGL_KHR_gl_renderbuffer_image 1
922#define EGL_GL_RENDERBUFFER_KHR 0x30B9
923#endif /* EGL_KHR_gl_renderbuffer_image */
924
925#ifndef EGL_KHR_gl_texture_2D_image
926#define EGL_KHR_gl_texture_2D_image 1
927#define EGL_GL_TEXTURE_2D_KHR 0x30B1
928#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC
929#endif /* EGL_KHR_gl_texture_2D_image */
930
931#ifndef EGL_KHR_gl_texture_3D_image
932#define EGL_KHR_gl_texture_3D_image 1
933#define EGL_GL_TEXTURE_3D_KHR 0x30B2
934#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
935#endif /* EGL_KHR_gl_texture_3D_image */
936
937#ifndef EGL_KHR_gl_texture_cubemap_image
938#define EGL_KHR_gl_texture_cubemap_image 1
939#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
940#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
941#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
942#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
943#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
944#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
945#endif /* EGL_KHR_gl_texture_cubemap_image */
946
947#ifndef EGL_KHR_image
948#define EGL_KHR_image 1
949typedef void *EGLImageKHR;
950#define EGL_NATIVE_PIXMAP_KHR 0x30B0
951#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
952typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
953typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
954#ifdef EGL_EGLEXT_PROTOTYPES
955EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
956EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
957#endif
958#endif /* EGL_KHR_image */
959
960#ifndef EGL_KHR_image_base
961#define EGL_KHR_image_base 1
962#define EGL_IMAGE_PRESERVED_KHR 0x30D2
963#endif /* EGL_KHR_image_base */
964
965#ifndef EGL_KHR_image_pixmap
966#define EGL_KHR_image_pixmap 1
967#endif /* EGL_KHR_image_pixmap */
968
969#ifndef EGL_KHR_lock_surface
970#define EGL_KHR_lock_surface 1
971#define EGL_READ_SURFACE_BIT_KHR 0x0001
972#define EGL_WRITE_SURFACE_BIT_KHR 0x0002
973#define EGL_LOCK_SURFACE_BIT_KHR 0x0080
974#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
975#define EGL_MATCH_FORMAT_KHR 0x3043
976#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
977#define EGL_FORMAT_RGB_565_KHR 0x30C1
978#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
979#define EGL_FORMAT_RGBA_8888_KHR 0x30C3
980#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
981#define EGL_LOCK_USAGE_HINT_KHR 0x30C5
982#define EGL_BITMAP_POINTER_KHR 0x30C6
983#define EGL_BITMAP_PITCH_KHR 0x30C7
984#define EGL_BITMAP_ORIGIN_KHR 0x30C8
985#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
986#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
987#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
988#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
989#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
990#define EGL_LOWER_LEFT_KHR 0x30CE
991#define EGL_UPPER_LEFT_KHR 0x30CF
992typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
993typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
994#ifdef EGL_EGLEXT_PROTOTYPES
995EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
996EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
997#endif
998#endif /* EGL_KHR_lock_surface */
999
1000#ifndef EGL_KHR_lock_surface2
1001#define EGL_KHR_lock_surface2 1
1002#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
1003#endif /* EGL_KHR_lock_surface2 */
1004
1005#ifndef EGL_KHR_lock_surface3
1006#define EGL_KHR_lock_surface3 1
1007typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1008#ifdef EGL_EGLEXT_PROTOTYPES
1009EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
1010#endif
1011#endif /* EGL_KHR_lock_surface3 */
1012
1013#ifndef EGL_KHR_partial_update
1014#define EGL_KHR_partial_update 1
1015#define EGL_BUFFER_AGE_KHR 0x313D
1016typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1017#ifdef EGL_EGLEXT_PROTOTYPES
1018EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1019#endif
1020#endif /* EGL_KHR_partial_update */
1021
1022#ifndef EGL_KHR_platform_android
1023#define EGL_KHR_platform_android 1
1024#define EGL_PLATFORM_ANDROID_KHR 0x3141
1025#endif /* EGL_KHR_platform_android */
1026
1027#ifndef EGL_KHR_platform_gbm
1028#define EGL_KHR_platform_gbm 1
1029#define EGL_PLATFORM_GBM_KHR 0x31D7
1030#endif /* EGL_KHR_platform_gbm */
1031
1032#ifndef EGL_KHR_platform_wayland
1033#define EGL_KHR_platform_wayland 1
1034#define EGL_PLATFORM_WAYLAND_KHR 0x31D8
1035#endif /* EGL_KHR_platform_wayland */
1036
1037#ifndef EGL_KHR_platform_x11
1038#define EGL_KHR_platform_x11 1
1039#define EGL_PLATFORM_X11_KHR 0x31D5
1040#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6
1041#endif /* EGL_KHR_platform_x11 */
1042
1043#ifndef EGL_KHR_reusable_sync
1044#define EGL_KHR_reusable_sync 1
1045#ifdef KHRONOS_SUPPORT_INT64
1046#define EGL_SYNC_STATUS_KHR 0x30F1
1047#define EGL_SIGNALED_KHR 0x30F2
1048#define EGL_UNSIGNALED_KHR 0x30F3
1049#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
1050#define EGL_CONDITION_SATISFIED_KHR 0x30F6
1051#define EGL_SYNC_TYPE_KHR 0x30F7
1052#define EGL_SYNC_REUSABLE_KHR 0x30FA
1053#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
1054#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
1055#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0)
1056typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1057#ifdef EGL_EGLEXT_PROTOTYPES
1058EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1059#endif
1060#endif /* KHRONOS_SUPPORT_INT64 */
1061#endif /* EGL_KHR_reusable_sync */
1062
1063#ifndef EGL_KHR_stream
1064#define EGL_KHR_stream 1
1065typedef void *EGLStreamKHR;
1066typedef khronos_uint64_t EGLuint64KHR;
1067#ifdef KHRONOS_SUPPORT_INT64
1068#define EGL_NO_STREAM_KHR ((EGLStreamKHR)0)
1069#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
1070#define EGL_PRODUCER_FRAME_KHR 0x3212
1071#define EGL_CONSUMER_FRAME_KHR 0x3213
1072#define EGL_STREAM_STATE_KHR 0x3214
1073#define EGL_STREAM_STATE_CREATED_KHR 0x3215
1074#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216
1075#define EGL_STREAM_STATE_EMPTY_KHR 0x3217
1076#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
1077#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
1078#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
1079#define EGL_BAD_STREAM_KHR 0x321B
1080#define EGL_BAD_STATE_KHR 0x321C
1081typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1082typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1083typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1084typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1085typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1086#ifdef EGL_EGLEXT_PROTOTYPES
1087EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
1088EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
1089EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
1090EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
1091EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
1092#endif
1093#endif /* KHRONOS_SUPPORT_INT64 */
1094#endif /* EGL_KHR_stream */
1095
1096#ifndef EGL_KHR_stream_consumer_gltexture
1097#define EGL_KHR_stream_consumer_gltexture 1
1098#ifdef EGL_KHR_stream
1099#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
1100typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1101typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1102typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1103#ifdef EGL_EGLEXT_PROTOTYPES
1104EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
1105EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
1106EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
1107#endif
1108#endif /* EGL_KHR_stream */
1109#endif /* EGL_KHR_stream_consumer_gltexture */
1110
1111#ifndef EGL_KHR_stream_cross_process_fd
1112#define EGL_KHR_stream_cross_process_fd 1
1113typedef int EGLNativeFileDescriptorKHR;
1114#ifdef EGL_KHR_stream
1115#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
1116typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
1117typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1118#ifdef EGL_EGLEXT_PROTOTYPES
1119EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
1120EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
1121#endif
1122#endif /* EGL_KHR_stream */
1123#endif /* EGL_KHR_stream_cross_process_fd */
1124
1125#ifndef EGL_KHR_stream_fifo
1126#define EGL_KHR_stream_fifo 1
1127#ifdef EGL_KHR_stream
1128#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC
1129#define EGL_STREAM_TIME_NOW_KHR 0x31FD
1130#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE
1131#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF
1132typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1133#ifdef EGL_EGLEXT_PROTOTYPES
1134EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
1135#endif
1136#endif /* EGL_KHR_stream */
1137#endif /* EGL_KHR_stream_fifo */
1138
1139#ifndef EGL_KHR_stream_producer_aldatalocator
1140#define EGL_KHR_stream_producer_aldatalocator 1
1141#ifdef EGL_KHR_stream
1142#endif /* EGL_KHR_stream */
1143#endif /* EGL_KHR_stream_producer_aldatalocator */
1144
1145#ifndef EGL_KHR_stream_producer_eglsurface
1146#define EGL_KHR_stream_producer_eglsurface 1
1147#ifdef EGL_KHR_stream
1148#define EGL_STREAM_BIT_KHR 0x0800
1149typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1150#ifdef EGL_EGLEXT_PROTOTYPES
1151EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
1152#endif
1153#endif /* EGL_KHR_stream */
1154#endif /* EGL_KHR_stream_producer_eglsurface */
1155
1156#ifndef EGL_KHR_surfaceless_context
1157#define EGL_KHR_surfaceless_context 1
1158#endif /* EGL_KHR_surfaceless_context */
1159
1160#ifndef EGL_KHR_swap_buffers_with_damage
1161#define EGL_KHR_swap_buffers_with_damage 1
1162typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1163#ifdef EGL_EGLEXT_PROTOTYPES
1164EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1165#endif
1166#endif /* EGL_KHR_swap_buffers_with_damage */
1167
1168#ifndef EGL_KHR_vg_parent_image
1169#define EGL_KHR_vg_parent_image 1
1170#define EGL_VG_PARENT_IMAGE_KHR 0x30BA
1171#endif /* EGL_KHR_vg_parent_image */
1172
1173#ifndef EGL_KHR_wait_sync
1174#define EGL_KHR_wait_sync 1
1175typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1176#ifdef EGL_EGLEXT_PROTOTYPES
1177EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
1178#endif
1179#endif /* EGL_KHR_wait_sync */
1180
1181#ifndef EGL_ANDROID_blob_cache
1182#define EGL_ANDROID_blob_cache 1
1183typedef khronos_ssize_t EGLsizeiANDROID;
1184typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
1185typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
1186typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1187#ifdef EGL_EGLEXT_PROTOTYPES
1188EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
1189#endif
1190#endif /* EGL_ANDROID_blob_cache */
1191
1192#ifndef EGL_ANDROID_framebuffer_target
1193#define EGL_ANDROID_framebuffer_target 1
1194#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
1195#endif /* EGL_ANDROID_framebuffer_target */
1196
1197#ifndef EGL_ANDROID_image_native_buffer
1198#define EGL_ANDROID_image_native_buffer 1
1199#define EGL_NATIVE_BUFFER_ANDROID 0x3140
1200#endif /* EGL_ANDROID_image_native_buffer */
1201
1202#ifndef EGL_ANDROID_native_fence_sync
1203#define EGL_ANDROID_native_fence_sync 1
1204#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
1205#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
1206#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
1207#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
1208typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1209#ifdef EGL_EGLEXT_PROTOTYPES
1210EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
1211#endif
1212#endif /* EGL_ANDROID_native_fence_sync */
1213
1214#ifndef EGL_ANDROID_recordable
1215#define EGL_ANDROID_recordable 1
1216#define EGL_RECORDABLE_ANDROID 0x3142
1217#endif /* EGL_ANDROID_recordable */
1218
1219#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
1220#define EGL_ANGLE_d3d_share_handle_client_buffer 1
1221#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
1222#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
1223
1224#ifndef EGL_ANGLE_device_d3d
1225#define EGL_ANGLE_device_d3d 1
1226#define EGL_D3D9_DEVICE_ANGLE 0x33A0
1227#define EGL_D3D11_DEVICE_ANGLE 0x33A1
1228#endif /* EGL_ANGLE_device_d3d */
1229
1230#ifndef EGL_ANGLE_query_surface_pointer
1231#define EGL_ANGLE_query_surface_pointer 1
1232typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1233#ifdef EGL_EGLEXT_PROTOTYPES
1234EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
1235#endif
1236#endif /* EGL_ANGLE_query_surface_pointer */
1237
1238#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
1239#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
1240#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
1241
1242#ifndef EGL_ANGLE_window_fixed_size
1243#define EGL_ANGLE_window_fixed_size 1
1244#define EGL_FIXED_SIZE_ANGLE 0x3201
1245#endif /* EGL_ANGLE_window_fixed_size */
1246
1247#ifndef EGL_ARM_pixmap_multisample_discard
1248#define EGL_ARM_pixmap_multisample_discard 1
1249#define EGL_DISCARD_SAMPLES_ARM 0x3286
1250#endif /* EGL_ARM_pixmap_multisample_discard */
1251
1252#ifndef EGL_EXT_buffer_age
1253#define EGL_EXT_buffer_age 1
1254#define EGL_BUFFER_AGE_EXT 0x313D
1255#endif /* EGL_EXT_buffer_age */
1256
1257#ifndef EGL_EXT_client_extensions
1258#define EGL_EXT_client_extensions 1
1259#endif /* EGL_EXT_client_extensions */
1260
1261#ifndef EGL_EXT_create_context_robustness
1262#define EGL_EXT_create_context_robustness 1
1263#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
1264#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
1265#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE
1266#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
1267#endif /* EGL_EXT_create_context_robustness */
1268
1269#ifndef EGL_EXT_device_base
1270#define EGL_EXT_device_base 1
1271typedef void *EGLDeviceEXT;
1272#define EGL_NO_DEVICE_EXT ((EGLDeviceEXT)(0))
1273#define EGL_BAD_DEVICE_EXT 0x322B
1274#define EGL_DEVICE_EXT 0x322C
1275typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1276typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
1277typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1278typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1279#ifdef EGL_EGLEXT_PROTOTYPES
1280EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
1281EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
1282EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
1283EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
1284#endif
1285#endif /* EGL_EXT_device_base */
1286
1287#ifndef EGL_EXT_device_drm
1288#define EGL_EXT_device_drm 1
1289#define EGL_DRM_DEVICE_FILE_EXT 0x3233
1290#endif /* EGL_EXT_device_drm */
1291
1292#ifndef EGL_EXT_device_enumeration
1293#define EGL_EXT_device_enumeration 1
1294#endif /* EGL_EXT_device_enumeration */
1295
1296#ifndef EGL_EXT_device_openwf
1297#define EGL_EXT_device_openwf 1
1298#define EGL_OPENWF_DEVICE_ID_EXT 0x3237
1299#endif /* EGL_EXT_device_openwf */
1300
1301#ifndef EGL_EXT_device_query
1302#define EGL_EXT_device_query 1
1303#endif /* EGL_EXT_device_query */
1304
1305#ifndef EGL_EXT_image_dma_buf_import
1306#define EGL_EXT_image_dma_buf_import 1
1307#define EGL_LINUX_DMA_BUF_EXT 0x3270
1308#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
1309#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
1310#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
1311#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
1312#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
1313#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
1314#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
1315#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
1316#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
1317#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
1318#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
1319#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
1320#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
1321#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
1322#define EGL_ITU_REC601_EXT 0x327F
1323#define EGL_ITU_REC709_EXT 0x3280
1324#define EGL_ITU_REC2020_EXT 0x3281
1325#define EGL_YUV_FULL_RANGE_EXT 0x3282
1326#define EGL_YUV_NARROW_RANGE_EXT 0x3283
1327#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
1328#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
1329#endif /* EGL_EXT_image_dma_buf_import */
1330
1331#ifndef EGL_EXT_multiview_window
1332#define EGL_EXT_multiview_window 1
1333#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
1334#endif /* EGL_EXT_multiview_window */
1335
1336#ifndef EGL_EXT_output_base
1337#define EGL_EXT_output_base 1
1338typedef void *EGLOutputLayerEXT;
1339typedef void *EGLOutputPortEXT;
1340#define EGL_NO_OUTPUT_LAYER_EXT ((EGLOutputLayerEXT)0)
1341#define EGL_NO_OUTPUT_PORT_EXT ((EGLOutputPortEXT)0)
1342#define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
1343#define EGL_BAD_OUTPUT_PORT_EXT 0x322E
1344#define EGL_SWAP_INTERVAL_EXT 0x322F
1345typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1346typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1347typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1348typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1349typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1350typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1351typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1352typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1353#ifdef EGL_EGLEXT_PROTOTYPES
1354EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
1355EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
1356EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
1357EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
1358EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
1359EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
1360EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
1361EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
1362#endif
1363#endif /* EGL_EXT_output_base */
1364
1365#ifndef EGL_EXT_output_drm
1366#define EGL_EXT_output_drm 1
1367#define EGL_DRM_CRTC_EXT 0x3234
1368#define EGL_DRM_PLANE_EXT 0x3235
1369#define EGL_DRM_CONNECTOR_EXT 0x3236
1370#endif /* EGL_EXT_output_drm */
1371
1372#ifndef EGL_EXT_output_openwf
1373#define EGL_EXT_output_openwf 1
1374#define EGL_OPENWF_PIPELINE_ID_EXT 0x3238
1375#define EGL_OPENWF_PORT_ID_EXT 0x3239
1376#endif /* EGL_EXT_output_openwf */
1377
1378#ifndef EGL_EXT_platform_base
1379#define EGL_EXT_platform_base 1
1380typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
1381typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1382typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1383#ifdef EGL_EGLEXT_PROTOTYPES
1384EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
1385EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
1386EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
1387#endif
1388#endif /* EGL_EXT_platform_base */
1389
1390#ifndef EGL_EXT_platform_device
1391#define EGL_EXT_platform_device 1
1392#define EGL_PLATFORM_DEVICE_EXT 0x313F
1393#endif /* EGL_EXT_platform_device */
1394
1395#ifndef EGL_EXT_platform_wayland
1396#define EGL_EXT_platform_wayland 1
1397#define EGL_PLATFORM_WAYLAND_EXT 0x31D8
1398#endif /* EGL_EXT_platform_wayland */
1399
1400#ifndef EGL_EXT_platform_x11
1401#define EGL_EXT_platform_x11 1
1402#define EGL_PLATFORM_X11_EXT 0x31D5
1403#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
1404#endif /* EGL_EXT_platform_x11 */
1405
1406#ifndef EGL_EXT_protected_surface
1407#define EGL_EXT_protected_surface 1
1408#define EGL_PROTECTED_CONTENT_EXT 0x32C0
1409#endif /* EGL_EXT_protected_surface */
1410
1411#ifndef EGL_EXT_stream_consumer_egloutput
1412#define EGL_EXT_stream_consumer_egloutput 1
1413typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1414#ifdef EGL_EGLEXT_PROTOTYPES
1415EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
1416#endif
1417#endif /* EGL_EXT_stream_consumer_egloutput */
1418
1419#ifndef EGL_EXT_swap_buffers_with_damage
1420#define EGL_EXT_swap_buffers_with_damage 1
1421typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1422#ifdef EGL_EGLEXT_PROTOTYPES
1423EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
1424#endif
1425#endif /* EGL_EXT_swap_buffers_with_damage */
1426
1427#ifndef EGL_EXT_yuv_surface
1428#define EGL_EXT_yuv_surface 1
1429#define EGL_YUV_ORDER_EXT 0x3301
1430#define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311
1431#define EGL_YUV_SUBSAMPLE_EXT 0x3312
1432#define EGL_YUV_DEPTH_RANGE_EXT 0x3317
1433#define EGL_YUV_CSC_STANDARD_EXT 0x330A
1434#define EGL_YUV_PLANE_BPP_EXT 0x331A
1435#define EGL_YUV_BUFFER_EXT 0x3300
1436#define EGL_YUV_ORDER_YUV_EXT 0x3302
1437#define EGL_YUV_ORDER_YVU_EXT 0x3303
1438#define EGL_YUV_ORDER_YUYV_EXT 0x3304
1439#define EGL_YUV_ORDER_UYVY_EXT 0x3305
1440#define EGL_YUV_ORDER_YVYU_EXT 0x3306
1441#define EGL_YUV_ORDER_VYUY_EXT 0x3307
1442#define EGL_YUV_ORDER_AYUV_EXT 0x3308
1443#define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313
1444#define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314
1445#define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315
1446#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318
1447#define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319
1448#define EGL_YUV_CSC_STANDARD_601_EXT 0x330B
1449#define EGL_YUV_CSC_STANDARD_709_EXT 0x330C
1450#define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D
1451#define EGL_YUV_PLANE_BPP_0_EXT 0x331B
1452#define EGL_YUV_PLANE_BPP_8_EXT 0x331C
1453#define EGL_YUV_PLANE_BPP_10_EXT 0x331D
1454#endif /* EGL_EXT_yuv_surface */
1455
1456#ifndef EGL_HI_clientpixmap
1457#define EGL_HI_clientpixmap 1
1458struct EGLClientPixmapHI {
1459 void *pData;
1460 EGLint iWidth;
1461 EGLint iHeight;
1462 EGLint iStride;
1463};
1464#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
1465typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1466#ifdef EGL_EGLEXT_PROTOTYPES
1467EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
1468#endif
1469#endif /* EGL_HI_clientpixmap */
1470
1471#ifndef EGL_HI_colorformats
1472#define EGL_HI_colorformats 1
1473#define EGL_COLOR_FORMAT_HI 0x8F70
1474#define EGL_COLOR_RGB_HI 0x8F71
1475#define EGL_COLOR_RGBA_HI 0x8F72
1476#define EGL_COLOR_ARGB_HI 0x8F73
1477#endif /* EGL_HI_colorformats */
1478
1479#ifndef EGL_IMG_context_priority
1480#define EGL_IMG_context_priority 1
1481#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
1482#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
1483#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
1484#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
1485#endif /* EGL_IMG_context_priority */
1486
1487#ifndef EGL_MESA_drm_image
1488#define EGL_MESA_drm_image 1
1489#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
1490#define EGL_DRM_BUFFER_USE_MESA 0x31D1
1491#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
1492#define EGL_DRM_BUFFER_MESA 0x31D3
1493#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
1494#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
1495#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
1496typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
1497typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1498#ifdef EGL_EGLEXT_PROTOTYPES
1499EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
1500EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
1501#endif
1502#endif /* EGL_MESA_drm_image */
1503
1504#ifndef EGL_MESA_image_dma_buf_export
1505#define EGL_MESA_image_dma_buf_export 1
1506typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1507typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1508#ifdef EGL_EGLEXT_PROTOTYPES
1509EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
1510EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
1511#endif
1512#endif /* EGL_MESA_image_dma_buf_export */
1513
1514#ifndef EGL_MESA_platform_gbm
1515#define EGL_MESA_platform_gbm 1
1516#define EGL_PLATFORM_GBM_MESA 0x31D7
1517#endif /* EGL_MESA_platform_gbm */
1518
1519#ifndef EGL_NOK_swap_region
1520#define EGL_NOK_swap_region 1
1521typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1522#ifdef EGL_EGLEXT_PROTOTYPES
1523EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1524#endif
1525#endif /* EGL_NOK_swap_region */
1526
1527#ifndef EGL_NOK_swap_region2
1528#define EGL_NOK_swap_region2 1
1529typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1530#ifdef EGL_EGLEXT_PROTOTYPES
1531EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
1532#endif
1533#endif /* EGL_NOK_swap_region2 */
1534
1535#ifndef EGL_NOK_texture_from_pixmap
1536#define EGL_NOK_texture_from_pixmap 1
1537#define EGL_Y_INVERTED_NOK 0x307F
1538#endif /* EGL_NOK_texture_from_pixmap */
1539
1540#ifndef EGL_NV_3dvision_surface
1541#define EGL_NV_3dvision_surface 1
1542#define EGL_AUTO_STEREO_NV 0x3136
1543#endif /* EGL_NV_3dvision_surface */
1544
1545#ifndef EGL_NV_coverage_sample
1546#define EGL_NV_coverage_sample 1
1547#define EGL_COVERAGE_BUFFERS_NV 0x30E0
1548#define EGL_COVERAGE_SAMPLES_NV 0x30E1
1549#endif /* EGL_NV_coverage_sample */
1550
1551#ifndef EGL_NV_coverage_sample_resolve
1552#define EGL_NV_coverage_sample_resolve 1
1553#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
1554#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
1555#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
1556#endif /* EGL_NV_coverage_sample_resolve */
1557
1558#ifndef EGL_NV_cuda_event
1559#define EGL_NV_cuda_event 1
1560#define EGL_CUDA_EVENT_HANDLE_NV 0x323B
1561#define EGL_SYNC_CUDA_EVENT_NV 0x323C
1562#define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D
1563#endif /* EGL_NV_cuda_event */
1564
1565#ifndef EGL_NV_depth_nonlinear
1566#define EGL_NV_depth_nonlinear 1
1567#define EGL_DEPTH_ENCODING_NV 0x30E2
1568#define EGL_DEPTH_ENCODING_NONE_NV 0
1569#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
1570#endif /* EGL_NV_depth_nonlinear */
1571
1572#ifndef EGL_NV_device_cuda
1573#define EGL_NV_device_cuda 1
1574#define EGL_CUDA_DEVICE_NV 0x323A
1575#endif /* EGL_NV_device_cuda */
1576
1577#ifndef EGL_NV_native_query
1578#define EGL_NV_native_query 1
1579typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1580typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1581typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1582#ifdef EGL_EGLEXT_PROTOTYPES
1583EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1584EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1585EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1586#endif
1587#endif /* EGL_NV_native_query */
1588
1589#ifndef EGL_NV_post_convert_rounding
1590#define EGL_NV_post_convert_rounding 1
1591#endif /* EGL_NV_post_convert_rounding */
1592
1593#ifndef EGL_NV_post_sub_buffer
1594#define EGL_NV_post_sub_buffer 1
1595#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
1596typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1597#ifdef EGL_EGLEXT_PROTOTYPES
1598EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1599#endif
1600#endif /* EGL_NV_post_sub_buffer */
1601
1602#ifndef EGL_NV_stream_sync
1603#define EGL_NV_stream_sync 1
1604#define EGL_SYNC_NEW_FRAME_NV 0x321F
1605typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1606#ifdef EGL_EGLEXT_PROTOTYPES
1607EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1608#endif
1609#endif /* EGL_NV_stream_sync */
1610
1611#ifndef EGL_NV_sync
1612#define EGL_NV_sync 1
1613typedef void *EGLSyncNV;
1614typedef khronos_utime_nanoseconds_t EGLTimeNV;
1615#ifdef KHRONOS_SUPPORT_INT64
1616#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
1617#define EGL_SYNC_STATUS_NV 0x30E7
1618#define EGL_SIGNALED_NV 0x30E8
1619#define EGL_UNSIGNALED_NV 0x30E9
1620#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001
1621#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull
1622#define EGL_ALREADY_SIGNALED_NV 0x30EA
1623#define EGL_TIMEOUT_EXPIRED_NV 0x30EB
1624#define EGL_CONDITION_SATISFIED_NV 0x30EC
1625#define EGL_SYNC_TYPE_NV 0x30ED
1626#define EGL_SYNC_CONDITION_NV 0x30EE
1627#define EGL_SYNC_FENCE_NV 0x30EF
1628#define EGL_NO_SYNC_NV ((EGLSyncNV)0)
1629typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1630typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
1631typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
1632typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1633typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
1634typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
1635#ifdef EGL_EGLEXT_PROTOTYPES
1636EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1637EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
1638EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
1639EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1640EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
1641EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
1642#endif
1643#endif /* KHRONOS_SUPPORT_INT64 */
1644#endif /* EGL_NV_sync */
1645
1646#ifndef EGL_NV_system_time
1647#define EGL_NV_system_time 1
1648typedef khronos_utime_nanoseconds_t EGLuint64NV;
1649#ifdef KHRONOS_SUPPORT_INT64
1650typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
1651typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
1652#ifdef EGL_EGLEXT_PROTOTYPES
1653EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
1654EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
1655#endif
1656#endif /* KHRONOS_SUPPORT_INT64 */
1657#endif /* EGL_NV_system_time */
1658
1659#ifndef EGL_TIZEN_image_native_buffer
1660#define EGL_TIZEN_image_native_buffer 1
1661#define EGL_NATIVE_BUFFER_TIZEN 0x32A0
1662#endif /* EGL_TIZEN_image_native_buffer */
1663
1664#ifndef EGL_TIZEN_image_native_surface
1665#define EGL_TIZEN_image_native_surface 1
1666#define EGL_NATIVE_SURFACE_TIZEN 0x32A1
1667#endif /* EGL_TIZEN_image_native_surface */
1668
1669#ifdef __cplusplus
1670}
1671#endif
1672
1673#endif /* __eglext_h_ */
1674
1675
1676#endif /* _MSC_VER */
1677