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