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