17dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef __eglext_h_ 27dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define __eglext_h_ 37dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 47dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef __cplusplus 57dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochextern "C" { 67dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 87dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* 97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** Copyright (c) 2007-2010 The Khronos Group Inc. 107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** 117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** Permission is hereby granted, free of charge, to any person obtaining a 127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** copy of this software and/or associated documentation files (the 137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** "Materials"), to deal in the Materials without restriction, including 147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** without limitation the rights to use, copy, modify, merge, publish, 157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** distribute, sublicense, and/or sell copies of the Materials, and to 167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** permit persons to whom the Materials are furnished to do so, subject to 177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** the following conditions: 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** 197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** The above copyright notice and this permission notice shall be included 207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** in all copies or substantial portions of the Materials. 217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** 227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch*/ 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include <EGL/eglplatform.h> 327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/*************************************************************/ 347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Header file version number */ 367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Current version at http://www.khronos.org/registry/egl/ */ 377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* $Revision: 13164 $ on $Date: 2010-12-09 01:26:57 -0800 (Thu, 09 Dec 2010) $ */ 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_EGLEXT_VERSION 9 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_config_attribs 417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_config_attribs 1 427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ 437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ 447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ 457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_lock_surface 487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_lock_surface 1 497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ 507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ 517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ 527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ 537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ 547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ 557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ 567dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ 577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ 587dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ 597dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ 607dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ 617dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ 627dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ 637dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ 647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ 657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ 667dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ 677dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ 687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ 697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ 707dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 717dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); 727dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); 737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); 757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); 767dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 777dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_image 797dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_image 1 807dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ 817dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef void *EGLImageKHR; 827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) 837dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 847dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); 857dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); 867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 877dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); 887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); 897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_vg_parent_image 927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_vg_parent_image 1 937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ 947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_gl_texture_2D_image 977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_gl_texture_2D_image 1 987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ 997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ 1007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1017dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_gl_texture_cubemap_image 1037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_gl_texture_cubemap_image 1 1047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ 1057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ 1067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ 1077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ 1087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ 1097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ 1107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_gl_texture_3D_image 1137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_gl_texture_3D_image 1 1147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ 1157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ 1167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_gl_renderbuffer_image 1197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_gl_renderbuffer_image 1 1207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ 1217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if KHRONOS_SUPPORT_INT64 /* EGLTimeKHR requires 64-bit uint support */ 1247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_reusable_sync 1257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_reusable_sync 1 1267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef void* EGLSyncKHR; 1287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef khronos_utime_nanoseconds_t EGLTimeKHR; 1297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_STATUS_KHR 0x30F1 1317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SIGNALED_KHR 0x30F2 1327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_UNSIGNALED_KHR 0x30F3 1337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 1347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONDITION_SATISFIED_KHR 0x30F6 1357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_TYPE_KHR 0x30F7 1367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_REUSABLE_KHR 0x30FA 1377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 /* eglClientWaitSyncKHR <flags> bitfield */ 1387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull 1397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) 1407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 1417dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); 1427dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); 1437dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 1447dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 1457dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); 1467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 1477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); 1487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); 1497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 1507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 1517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); 1527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_image_base 1567dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_image_base 1 1577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Most interfaces defined by EGL_KHR_image_pixmap above */ 1587dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ 1597dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1607dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1617dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_image_pixmap 1627dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_image_pixmap 1 1637dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Interfaces defined by EGL_KHR_image above */ 1647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1667dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_IMG_context_priority 1677dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_IMG_context_priority 1 1687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 1697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 1707dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 1717dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 1727dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_lock_surface2 1757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_lock_surface2 1 1767dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 1777dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1797dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_NV_coverage_sample 1807dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NV_coverage_sample 1 1817dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_COVERAGE_BUFFERS_NV 0x30E0 1827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_COVERAGE_SAMPLES_NV 0x30E1 1837dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1847dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1857dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_NV_depth_nonlinear 1867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NV_depth_nonlinear 1 1877dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DEPTH_ENCODING_NV 0x30E2 1887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DEPTH_ENCODING_NONE_NV 0 1897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 1907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 1917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 1927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if KHRONOS_SUPPORT_INT64 /* EGLTimeNV requires 64-bit uint support */ 1937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_NV_sync 1947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NV_sync 1 1957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 1967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_STATUS_NV 0x30E7 1977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SIGNALED_NV 0x30E8 1987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_UNSIGNALED_NV 0x30E9 1997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 2007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull 2017dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_ALREADY_SIGNALED_NV 0x30EA 2027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_TIMEOUT_EXPIRED_NV 0x30EB 2037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CONDITION_SATISFIED_NV 0x30EC 2047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_TYPE_NV 0x30ED 2057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_CONDITION_NV 0x30EE 2067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_FENCE_NV 0x30EF 2077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NO_SYNC_NV ((EGLSyncNV)0) 2087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef void* EGLSyncNV; 2097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef khronos_utime_nanoseconds_t EGLTimeNV; 2107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 2117dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLSyncNV eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); 2127dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLBoolean eglDestroySyncNV (EGLSyncNV sync); 2137dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLBoolean eglFenceNV (EGLSyncNV sync); 2147dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLint eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); 2157dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLBoolean eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); 2167dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLBoolean eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); 2177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 2187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); 2197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); 2207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); 2217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); 2227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); 2237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); 2247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if KHRONOS_SUPPORT_INT64 /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */ 2287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_KHR_fence_sync 2297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_KHR_fence_sync 1 2307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */ 2317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 2327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_CONDITION_KHR 0x30F8 2337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_SYNC_FENCE_KHR 0x30F9 2347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_HI_clientpixmap 2387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_HI_clientpixmap 1 2397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Surface Attribute */ 2417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 2427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* 2437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch * Structure representing a client pixmap 2447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch * (pixmap's data is in client-space memory). 2457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch */ 2467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstruct EGLClientPixmapHI 2477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch{ 2487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch void* pData; 2497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch EGLint iWidth; 2507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch EGLint iHeight; 2517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch EGLint iStride; 2527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}; 2537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 2557dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); 2567dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 2577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); 2587dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_HI_clientpixmap */ 2597dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2607dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_HI_colorformats 2617dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_HI_colorformats 1 2627dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Config Attribute */ 2637dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_COLOR_FORMAT_HI 0x8F70 2647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* Color Formats */ 2657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_COLOR_RGB_HI 0x8F71 2667dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_COLOR_RGBA_HI 0x8F72 2677dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_COLOR_ARGB_HI 0x8F73 2687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_HI_colorformats */ 2697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2707dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_MESA_drm_image 2717dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_MESA_drm_image 1 2727dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */ 2737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */ 2747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */ 2757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */ 2767dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 2777dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ 2787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 /* EGL_DRM_BUFFER_USE_MESA bits */ 2797dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 2807dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); 2817dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); 2827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 2837dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); 2847dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); 2857dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2877dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifndef EGL_NV_post_sub_buffer 2887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_NV_post_sub_buffer 1 2897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE 2907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef EGL_EGLEXT_PROTOTYPES 2917dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochEGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); 2927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* EGL_EGLEXT_PROTOTYPES */ 2937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochtypedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); 2947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#ifdef __cplusplus 2977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 2987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 2997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 3007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 301