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