Atlas - SDL_egl.h

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