Subversion Repositories Games.Rick Dangerous

Rev

Details | Last modification | View Log | RSS feed

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