include/SDL_egl.h
author Steven M. Vascellaro <svascellaro@gmail.com>
Mon, 22 Oct 2018 10:55:18 -0400
changeset 12379 5dc13016cf34
parent 11811 5d94cb6b24d3
child 12503 806492103856
permissions -rw-r--r--
joystick: Add Linux mappings for "Xbox One Wireless Controller (Model 1708)"

Adds controller bindings to support the "Xbox One Wireless Controller
(Model 1708)" on Linux. The Model 1708 was released in 2016 alongside the
Xbox One S. It is the current model being sold by Microsoft as of writing.
(October 22, 2018)
gabomdq@8021
     1
/*
gabomdq@8021
     2
  Simple DirectMedia Layer
slouken@11811
     3
  Copyright (C) 1997-2018 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 */