1*4882a593Smuzhiyun #ifndef __egl_h_ 2*4882a593Smuzhiyun #define __egl_h_ 1 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #ifdef __cplusplus 5*4882a593Smuzhiyun extern "C" { 6*4882a593Smuzhiyun #endif 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* 9*4882a593Smuzhiyun ** Copyright (c) 2013-2017 The Khronos Group Inc. 10*4882a593Smuzhiyun ** 11*4882a593Smuzhiyun ** Permission is hereby granted, free of charge, to any person obtaining a 12*4882a593Smuzhiyun ** copy of this software and/or associated documentation files (the 13*4882a593Smuzhiyun ** "Materials"), to deal in the Materials without restriction, including 14*4882a593Smuzhiyun ** without limitation the rights to use, copy, modify, merge, publish, 15*4882a593Smuzhiyun ** distribute, sublicense, and/or sell copies of the Materials, and to 16*4882a593Smuzhiyun ** permit persons to whom the Materials are furnished to do so, subject to 17*4882a593Smuzhiyun ** the following conditions: 18*4882a593Smuzhiyun ** 19*4882a593Smuzhiyun ** The above copyright notice and this permission notice shall be included 20*4882a593Smuzhiyun ** in all copies or substantial portions of the Materials. 21*4882a593Smuzhiyun ** 22*4882a593Smuzhiyun ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23*4882a593Smuzhiyun ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24*4882a593Smuzhiyun ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 25*4882a593Smuzhiyun ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 26*4882a593Smuzhiyun ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 27*4882a593Smuzhiyun ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28*4882a593Smuzhiyun ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29*4882a593Smuzhiyun */ 30*4882a593Smuzhiyun /* 31*4882a593Smuzhiyun ** This header is generated from the Khronos EGL XML API Registry. 32*4882a593Smuzhiyun ** The current version of the Registry, generator scripts 33*4882a593Smuzhiyun ** used to make the header, and the header can be found at 34*4882a593Smuzhiyun ** http://www.khronos.org/registry/egl 35*4882a593Smuzhiyun ** 36*4882a593Smuzhiyun ** Khronos $Git commit SHA1: cb927ca98d $ on $Git commit date: 2019-08-08 01:05:38 -0700 $ 37*4882a593Smuzhiyun */ 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #include <EGL/eglplatform.h> 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #ifndef EGL_EGL_PROTOTYPES 42*4882a593Smuzhiyun #define EGL_EGL_PROTOTYPES 1 43*4882a593Smuzhiyun #endif 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* Generated on date 20190808 */ 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun /* Generated C header for: 48*4882a593Smuzhiyun * API: egl 49*4882a593Smuzhiyun * Versions considered: .* 50*4882a593Smuzhiyun * Versions emitted: .* 51*4882a593Smuzhiyun * Default extensions included: None 52*4882a593Smuzhiyun * Additional extensions included: _nomatch_^ 53*4882a593Smuzhiyun * Extensions removed: _nomatch_^ 54*4882a593Smuzhiyun */ 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun #ifndef EGL_VERSION_1_0 57*4882a593Smuzhiyun #define EGL_VERSION_1_0 1 58*4882a593Smuzhiyun typedef unsigned int EGLBoolean; 59*4882a593Smuzhiyun typedef void *EGLDisplay; 60*4882a593Smuzhiyun #include <KHR/mali_khrplatform.h> 61*4882a593Smuzhiyun #include <EGL/eglplatform.h> 62*4882a593Smuzhiyun typedef void *EGLConfig; 63*4882a593Smuzhiyun typedef void *EGLSurface; 64*4882a593Smuzhiyun typedef void *EGLContext; 65*4882a593Smuzhiyun typedef void (*__eglMustCastToProperFunctionPointerType)(void); 66*4882a593Smuzhiyun #define EGL_ALPHA_SIZE 0x3021 67*4882a593Smuzhiyun #define EGL_BAD_ACCESS 0x3002 68*4882a593Smuzhiyun #define EGL_BAD_ALLOC 0x3003 69*4882a593Smuzhiyun #define EGL_BAD_ATTRIBUTE 0x3004 70*4882a593Smuzhiyun #define EGL_BAD_CONFIG 0x3005 71*4882a593Smuzhiyun #define EGL_BAD_CONTEXT 0x3006 72*4882a593Smuzhiyun #define EGL_BAD_CURRENT_SURFACE 0x3007 73*4882a593Smuzhiyun #define EGL_BAD_DISPLAY 0x3008 74*4882a593Smuzhiyun #define EGL_BAD_MATCH 0x3009 75*4882a593Smuzhiyun #define EGL_BAD_NATIVE_PIXMAP 0x300A 76*4882a593Smuzhiyun #define EGL_BAD_NATIVE_WINDOW 0x300B 77*4882a593Smuzhiyun #define EGL_BAD_PARAMETER 0x300C 78*4882a593Smuzhiyun #define EGL_BAD_SURFACE 0x300D 79*4882a593Smuzhiyun #define EGL_BLUE_SIZE 0x3022 80*4882a593Smuzhiyun #define EGL_BUFFER_SIZE 0x3020 81*4882a593Smuzhiyun #define EGL_CONFIG_CAVEAT 0x3027 82*4882a593Smuzhiyun #define EGL_CONFIG_ID 0x3028 83*4882a593Smuzhiyun #define EGL_CORE_NATIVE_ENGINE 0x305B 84*4882a593Smuzhiyun #define EGL_DEPTH_SIZE 0x3025 85*4882a593Smuzhiyun #define EGL_DONT_CARE EGL_CAST(EGLint,-1) 86*4882a593Smuzhiyun #define EGL_DRAW 0x3059 87*4882a593Smuzhiyun #define EGL_EXTENSIONS 0x3055 88*4882a593Smuzhiyun #define EGL_FALSE 0 89*4882a593Smuzhiyun #define EGL_GREEN_SIZE 0x3023 90*4882a593Smuzhiyun #define EGL_HEIGHT 0x3056 91*4882a593Smuzhiyun #define EGL_LARGEST_PBUFFER 0x3058 92*4882a593Smuzhiyun #define EGL_LEVEL 0x3029 93*4882a593Smuzhiyun #define EGL_MAX_PBUFFER_HEIGHT 0x302A 94*4882a593Smuzhiyun #define EGL_MAX_PBUFFER_PIXELS 0x302B 95*4882a593Smuzhiyun #define EGL_MAX_PBUFFER_WIDTH 0x302C 96*4882a593Smuzhiyun #define EGL_NATIVE_RENDERABLE 0x302D 97*4882a593Smuzhiyun #define EGL_NATIVE_VISUAL_ID 0x302E 98*4882a593Smuzhiyun #define EGL_NATIVE_VISUAL_TYPE 0x302F 99*4882a593Smuzhiyun #define EGL_NONE 0x3038 100*4882a593Smuzhiyun #define EGL_NON_CONFORMANT_CONFIG 0x3051 101*4882a593Smuzhiyun #define EGL_NOT_INITIALIZED 0x3001 102*4882a593Smuzhiyun #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0) 103*4882a593Smuzhiyun #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0) 104*4882a593Smuzhiyun #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0) 105*4882a593Smuzhiyun #define EGL_PBUFFER_BIT 0x0001 106*4882a593Smuzhiyun #define EGL_PIXMAP_BIT 0x0002 107*4882a593Smuzhiyun #define EGL_READ 0x305A 108*4882a593Smuzhiyun #define EGL_RED_SIZE 0x3024 109*4882a593Smuzhiyun #define EGL_SAMPLES 0x3031 110*4882a593Smuzhiyun #define EGL_SAMPLE_BUFFERS 0x3032 111*4882a593Smuzhiyun #define EGL_SLOW_CONFIG 0x3050 112*4882a593Smuzhiyun #define EGL_STENCIL_SIZE 0x3026 113*4882a593Smuzhiyun #define EGL_SUCCESS 0x3000 114*4882a593Smuzhiyun #define EGL_SURFACE_TYPE 0x3033 115*4882a593Smuzhiyun #define EGL_TRANSPARENT_BLUE_VALUE 0x3035 116*4882a593Smuzhiyun #define EGL_TRANSPARENT_GREEN_VALUE 0x3036 117*4882a593Smuzhiyun #define EGL_TRANSPARENT_RED_VALUE 0x3037 118*4882a593Smuzhiyun #define EGL_TRANSPARENT_RGB 0x3052 119*4882a593Smuzhiyun #define EGL_TRANSPARENT_TYPE 0x3034 120*4882a593Smuzhiyun #define EGL_TRUE 1 121*4882a593Smuzhiyun #define EGL_VENDOR 0x3053 122*4882a593Smuzhiyun #define EGL_VERSION 0x3054 123*4882a593Smuzhiyun #define EGL_WIDTH 0x3057 124*4882a593Smuzhiyun #define EGL_WINDOW_BIT 0x0004 125*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); 126*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); 127*4882a593Smuzhiyun typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); 128*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); 129*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); 130*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); 131*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx); 132*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface); 133*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); 134*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); 135*4882a593Smuzhiyun typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void); 136*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw); 137*4882a593Smuzhiyun typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id); 138*4882a593Smuzhiyun typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void); 139*4882a593Smuzhiyun typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname); 140*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor); 141*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); 142*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); 143*4882a593Smuzhiyun typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name); 144*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); 145*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface); 146*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy); 147*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void); 148*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine); 149*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES 150*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); 151*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); 152*4882a593Smuzhiyun EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); 153*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); 154*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); 155*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); 156*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); 157*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface); 158*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); 159*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); 160*4882a593Smuzhiyun EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void); 161*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw); 162*4882a593Smuzhiyun EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id); 163*4882a593Smuzhiyun EGLAPI EGLint EGLAPIENTRY eglGetError (void); 164*4882a593Smuzhiyun EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname); 165*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); 166*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); 167*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); 168*4882a593Smuzhiyun EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name); 169*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); 170*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface); 171*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy); 172*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void); 173*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine); 174*4882a593Smuzhiyun #endif 175*4882a593Smuzhiyun #endif /* EGL_VERSION_1_0 */ 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun #ifndef EGL_VERSION_1_1 178*4882a593Smuzhiyun #define EGL_VERSION_1_1 1 179*4882a593Smuzhiyun #define EGL_BACK_BUFFER 0x3084 180*4882a593Smuzhiyun #define EGL_BIND_TO_TEXTURE_RGB 0x3039 181*4882a593Smuzhiyun #define EGL_BIND_TO_TEXTURE_RGBA 0x303A 182*4882a593Smuzhiyun #define EGL_CONTEXT_LOST 0x300E 183*4882a593Smuzhiyun #define EGL_MIN_SWAP_INTERVAL 0x303B 184*4882a593Smuzhiyun #define EGL_MAX_SWAP_INTERVAL 0x303C 185*4882a593Smuzhiyun #define EGL_MIPMAP_TEXTURE 0x3082 186*4882a593Smuzhiyun #define EGL_MIPMAP_LEVEL 0x3083 187*4882a593Smuzhiyun #define EGL_NO_TEXTURE 0x305C 188*4882a593Smuzhiyun #define EGL_TEXTURE_2D 0x305F 189*4882a593Smuzhiyun #define EGL_TEXTURE_FORMAT 0x3080 190*4882a593Smuzhiyun #define EGL_TEXTURE_RGB 0x305D 191*4882a593Smuzhiyun #define EGL_TEXTURE_RGBA 0x305E 192*4882a593Smuzhiyun #define EGL_TEXTURE_TARGET 0x3081 193*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); 194*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); 195*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); 196*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval); 197*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES 198*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); 199*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); 200*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); 201*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval); 202*4882a593Smuzhiyun #endif 203*4882a593Smuzhiyun #endif /* EGL_VERSION_1_1 */ 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun #ifndef EGL_VERSION_1_2 206*4882a593Smuzhiyun #define EGL_VERSION_1_2 1 207*4882a593Smuzhiyun typedef unsigned int EGLenum; 208*4882a593Smuzhiyun typedef void *EGLClientBuffer; 209*4882a593Smuzhiyun #define EGL_ALPHA_FORMAT 0x3088 210*4882a593Smuzhiyun #define EGL_ALPHA_FORMAT_NONPRE 0x308B 211*4882a593Smuzhiyun #define EGL_ALPHA_FORMAT_PRE 0x308C 212*4882a593Smuzhiyun #define EGL_ALPHA_MASK_SIZE 0x303E 213*4882a593Smuzhiyun #define EGL_BUFFER_PRESERVED 0x3094 214*4882a593Smuzhiyun #define EGL_BUFFER_DESTROYED 0x3095 215*4882a593Smuzhiyun #define EGL_CLIENT_APIS 0x308D 216*4882a593Smuzhiyun #define EGL_COLORSPACE 0x3087 217*4882a593Smuzhiyun #define EGL_COLORSPACE_sRGB 0x3089 218*4882a593Smuzhiyun #define EGL_COLORSPACE_LINEAR 0x308A 219*4882a593Smuzhiyun #define EGL_COLOR_BUFFER_TYPE 0x303F 220*4882a593Smuzhiyun #define EGL_CONTEXT_CLIENT_TYPE 0x3097 221*4882a593Smuzhiyun #define EGL_DISPLAY_SCALING 10000 222*4882a593Smuzhiyun #define EGL_HORIZONTAL_RESOLUTION 0x3090 223*4882a593Smuzhiyun #define EGL_LUMINANCE_BUFFER 0x308F 224*4882a593Smuzhiyun #define EGL_LUMINANCE_SIZE 0x303D 225*4882a593Smuzhiyun #define EGL_OPENGL_ES_BIT 0x0001 226*4882a593Smuzhiyun #define EGL_OPENVG_BIT 0x0002 227*4882a593Smuzhiyun #define EGL_OPENGL_ES_API 0x30A0 228*4882a593Smuzhiyun #define EGL_OPENVG_API 0x30A1 229*4882a593Smuzhiyun #define EGL_OPENVG_IMAGE 0x3096 230*4882a593Smuzhiyun #define EGL_PIXEL_ASPECT_RATIO 0x3092 231*4882a593Smuzhiyun #define EGL_RENDERABLE_TYPE 0x3040 232*4882a593Smuzhiyun #define EGL_RENDER_BUFFER 0x3086 233*4882a593Smuzhiyun #define EGL_RGB_BUFFER 0x308E 234*4882a593Smuzhiyun #define EGL_SINGLE_BUFFER 0x3085 235*4882a593Smuzhiyun #define EGL_SWAP_BEHAVIOR 0x3093 236*4882a593Smuzhiyun #define EGL_UNKNOWN EGL_CAST(EGLint,-1) 237*4882a593Smuzhiyun #define EGL_VERTICAL_RESOLUTION 0x3091 238*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api); 239*4882a593Smuzhiyun typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void); 240*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); 241*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void); 242*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void); 243*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES 244*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api); 245*4882a593Smuzhiyun EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void); 246*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); 247*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void); 248*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void); 249*4882a593Smuzhiyun #endif 250*4882a593Smuzhiyun #endif /* EGL_VERSION_1_2 */ 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun #ifndef EGL_VERSION_1_3 253*4882a593Smuzhiyun #define EGL_VERSION_1_3 1 254*4882a593Smuzhiyun #define EGL_CONFORMANT 0x3042 255*4882a593Smuzhiyun #define EGL_CONTEXT_CLIENT_VERSION 0x3098 256*4882a593Smuzhiyun #define EGL_MATCH_NATIVE_PIXMAP 0x3041 257*4882a593Smuzhiyun #define EGL_OPENGL_ES2_BIT 0x0004 258*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT 0x3088 259*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B 260*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT_PRE 0x308C 261*4882a593Smuzhiyun #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 262*4882a593Smuzhiyun #define EGL_VG_COLORSPACE 0x3087 263*4882a593Smuzhiyun #define EGL_VG_COLORSPACE_sRGB 0x3089 264*4882a593Smuzhiyun #define EGL_VG_COLORSPACE_LINEAR 0x308A 265*4882a593Smuzhiyun #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 266*4882a593Smuzhiyun #endif /* EGL_VERSION_1_3 */ 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun #ifndef EGL_VERSION_1_4 269*4882a593Smuzhiyun #define EGL_VERSION_1_4 1 270*4882a593Smuzhiyun #define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0) 271*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 272*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE 0x3099 273*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A 274*4882a593Smuzhiyun #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B 275*4882a593Smuzhiyun #define EGL_OPENGL_API 0x30A2 276*4882a593Smuzhiyun #define EGL_OPENGL_BIT 0x0008 277*4882a593Smuzhiyun #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 278*4882a593Smuzhiyun typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void); 279*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES 280*4882a593Smuzhiyun EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void); 281*4882a593Smuzhiyun #endif 282*4882a593Smuzhiyun #endif /* EGL_VERSION_1_4 */ 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun #ifndef EGL_VERSION_1_5 285*4882a593Smuzhiyun #define EGL_VERSION_1_5 1 286*4882a593Smuzhiyun typedef void *EGLSync; 287*4882a593Smuzhiyun typedef intptr_t EGLAttrib; 288*4882a593Smuzhiyun typedef khronos_utime_nanoseconds_t EGLTime; 289*4882a593Smuzhiyun typedef void *EGLImage; 290*4882a593Smuzhiyun #define EGL_CONTEXT_MAJOR_VERSION 0x3098 291*4882a593Smuzhiyun #define EGL_CONTEXT_MINOR_VERSION 0x30FB 292*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD 293*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD 294*4882a593Smuzhiyun #define EGL_NO_RESET_NOTIFICATION 0x31BE 295*4882a593Smuzhiyun #define EGL_LOSE_CONTEXT_ON_RESET 0x31BF 296*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 297*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002 298*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0 299*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1 300*4882a593Smuzhiyun #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2 301*4882a593Smuzhiyun #define EGL_OPENGL_ES3_BIT 0x00000040 302*4882a593Smuzhiyun #define EGL_CL_EVENT_HANDLE 0x309C 303*4882a593Smuzhiyun #define EGL_SYNC_CL_EVENT 0x30FE 304*4882a593Smuzhiyun #define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF 305*4882a593Smuzhiyun #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 306*4882a593Smuzhiyun #define EGL_SYNC_TYPE 0x30F7 307*4882a593Smuzhiyun #define EGL_SYNC_STATUS 0x30F1 308*4882a593Smuzhiyun #define EGL_SYNC_CONDITION 0x30F8 309*4882a593Smuzhiyun #define EGL_SIGNALED 0x30F2 310*4882a593Smuzhiyun #define EGL_UNSIGNALED 0x30F3 311*4882a593Smuzhiyun #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 312*4882a593Smuzhiyun #define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull 313*4882a593Smuzhiyun #define EGL_TIMEOUT_EXPIRED 0x30F5 314*4882a593Smuzhiyun #define EGL_CONDITION_SATISFIED 0x30F6 315*4882a593Smuzhiyun #define EGL_NO_SYNC EGL_CAST(EGLSync,0) 316*4882a593Smuzhiyun #define EGL_SYNC_FENCE 0x30F9 317*4882a593Smuzhiyun #define EGL_GL_COLORSPACE 0x309D 318*4882a593Smuzhiyun #define EGL_GL_COLORSPACE_SRGB 0x3089 319*4882a593Smuzhiyun #define EGL_GL_COLORSPACE_LINEAR 0x308A 320*4882a593Smuzhiyun #define EGL_GL_RENDERBUFFER 0x30B9 321*4882a593Smuzhiyun #define EGL_GL_TEXTURE_2D 0x30B1 322*4882a593Smuzhiyun #define EGL_GL_TEXTURE_LEVEL 0x30BC 323*4882a593Smuzhiyun #define EGL_GL_TEXTURE_3D 0x30B2 324*4882a593Smuzhiyun #define EGL_GL_TEXTURE_ZOFFSET 0x30BD 325*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3 326*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4 327*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5 328*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6 329*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7 330*4882a593Smuzhiyun #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8 331*4882a593Smuzhiyun #define EGL_IMAGE_PRESERVED 0x30D2 332*4882a593Smuzhiyun #define EGL_NO_IMAGE EGL_CAST(EGLImage,0) 333*4882a593Smuzhiyun typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); 334*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync); 335*4882a593Smuzhiyun typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); 336*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); 337*4882a593Smuzhiyun typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); 338*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image); 339*4882a593Smuzhiyun typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); 340*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); 341*4882a593Smuzhiyun typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); 342*4882a593Smuzhiyun typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags); 343*4882a593Smuzhiyun #if EGL_EGL_PROTOTYPES 344*4882a593Smuzhiyun EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); 345*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync); 346*4882a593Smuzhiyun EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); 347*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); 348*4882a593Smuzhiyun EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); 349*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image); 350*4882a593Smuzhiyun EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); 351*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); 352*4882a593Smuzhiyun EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); 353*4882a593Smuzhiyun EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags); 354*4882a593Smuzhiyun #endif 355*4882a593Smuzhiyun #endif /* EGL_VERSION_1_5 */ 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun #ifdef __cplusplus 358*4882a593Smuzhiyun } 359*4882a593Smuzhiyun #endif 360*4882a593Smuzhiyun 361*4882a593Smuzhiyun #endif 362