1edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef __eglext_h_ 2edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define __eglext_h_ 3edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 4edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifdef __cplusplus 5edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectextern "C" { 6edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 7edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 8edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* 912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian** Copyright (c) 2007-2013 The Khronos Group Inc. 10edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** 11edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** Permission is hereby granted, free of charge, to any person obtaining a 12edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** copy of this software and/or associated documentation files (the 13edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** "Materials"), to deal in the Materials without restriction, including 14edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** without limitation the rights to use, copy, modify, merge, publish, 15edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** distribute, sublicense, and/or sell copies of the Materials, and to 16edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** permit persons to whom the Materials are furnished to do so, subject to 17edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** the following conditions: 18edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** 19edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** The above copyright notice and this permission notice shall be included 20edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** in all copies or substantial portions of the Materials. 21edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** 22edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 25edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 26edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 27edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project*/ 30edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 31edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#include <EGL/eglplatform.h> 32edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 33edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/*************************************************************/ 34edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 35edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* Header file version number */ 36edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* Current version at http://www.khronos.org/registry/egl/ */ 3712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* $Revision: 20690 $ on $Date: 2013-02-22 17:15:05 -0800 (Fri, 22 Feb 2013) $ */ 3812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_EGLEXT_VERSION 15 39edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 40edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_config_attribs 41edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_config_attribs 1 42edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ 43edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ 44edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ 45edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 46edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 47edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_lock_surface 48edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_lock_surface 1 49edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ 50edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ 51edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ 52edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ 53edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ 54edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ 55edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ 56edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ 57edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ 58edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ 59edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ 60edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ 61edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ 62edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ 63edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ 64edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ 65edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ 66edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ 67edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ 68edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ 69edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ 70edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifdef EGL_EGLEXT_PROTOTYPES 71edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); 72edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); 73edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif /* EGL_EGLEXT_PROTOTYPES */ 74edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projecttypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); 75edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projecttypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); 76edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 77edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 78edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_image 79edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_image 1 80edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ 81edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projecttypedef void *EGLImageKHR; 820c7cc2ecf5faabec8554951712ac4f5b8262ed98Colin Cross#define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR, 0) 83edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifdef EGL_EGLEXT_PROTOTYPES 84edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); 85edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); 86edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif /* EGL_EGLEXT_PROTOTYPES */ 87edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projecttypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); 88edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projecttypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); 89edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 90edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 91edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_vg_parent_image 92edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_vg_parent_image 1 93edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ 94edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 95edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 96edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_gl_texture_2D_image 97edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_gl_texture_2D_image 1 98edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ 99edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ 100edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 101edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 102edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_gl_texture_cubemap_image 103edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_gl_texture_cubemap_image 1 104edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ 105edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ 106edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ 107edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ 108edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ 109edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ 110edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 111edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 112edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_gl_texture_3D_image 113edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_gl_texture_3D_image 1 114edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ 115edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ 116edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 117edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 1189c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde#ifndef EGL_KHR_gl_colorspace 1199c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde#define EGL_KHR_gl_colorspace 1 1209c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde#define EGL_GL_COLORSPACE_KHR 0x309D 1219c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089 1229c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A 1239c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde#endif 1249c67bfd86cb30e21f016414f416b40b6c70a899aSandeep Shinde 125edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_gl_renderbuffer_image 126edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_gl_renderbuffer_image 1 127edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ 128edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 129edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 13012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#if KHRONOS_SUPPORT_INT64 /* EGLTimeKHR requires 64-bit uint support */ 131e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifndef EGL_KHR_reusable_sync 132e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_KHR_reusable_sync 1 133e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 134e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef void* EGLSyncKHR; 135e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef khronos_utime_nanoseconds_t EGLTimeKHR; 136e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 137e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_STATUS_KHR 0x30F1 138e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SIGNALED_KHR 0x30F2 139e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_UNSIGNALED_KHR 0x30F3 140e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 141e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_CONDITION_SATISFIED_KHR 0x30F6 142e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_TYPE_KHR 0x30F7 143e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_REUSABLE_KHR 0x30FA 144e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 /* eglClientWaitSyncKHR <flags> bitfield */ 145e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull 1460c7cc2ecf5faabec8554951712ac4f5b8262ed98Colin Cross#define EGL_NO_SYNC_KHR EGL_CAST(EGLSyncKHR, 0) 147e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 148e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias AgopianEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); 149e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); 150e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias AgopianEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 151e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 152e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); 153e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 154e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); 155e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); 156e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 157e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 158e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); 159e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif 16012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 161e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 162edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_image_base 163edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_image_base 1 164edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* Most interfaces defined by EGL_KHR_image_pixmap above */ 165edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ 166edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 167edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 168edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifndef EGL_KHR_image_pixmap 169edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#define EGL_KHR_image_pixmap 1 170edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project/* Interfaces defined by EGL_KHR_image above */ 171edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 172edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 173e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifndef EGL_IMG_context_priority 174e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_IMG_context_priority 1 175e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 176e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 177e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 178e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 179e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif 180e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 18112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_lock_surface2 18212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_lock_surface2 1 18312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 18412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 18512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 186a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#ifndef EGL_KHR_partial_update 187a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#define EGL_KHR_partial_update 1 188a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#define EGL_BUFFER_AGE_KHR 0x313D 189a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stozatypedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); 190a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#ifdef EGL_EGLEXT_PROTOTYPES 191a894d082cfee8d12ee5913163a34ec5dc521d005Dan StozaEGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); 192a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#endif 193a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#endif /* EGL_KHR_partial_update */ 194a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza 195e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifndef EGL_NV_coverage_sample 196e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_NV_coverage_sample 1 19712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COVERAGE_BUFFERS_NV 0x30E0 19812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COVERAGE_SAMPLES_NV 0x30E1 199e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif 200e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 201e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifndef EGL_NV_depth_nonlinear 202e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_NV_depth_nonlinear 1 20312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DEPTH_ENCODING_NV 0x30E2 204e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_DEPTH_ENCODING_NONE_NV 0 20512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 206e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif 207e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 20812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#if KHRONOS_SUPPORT_INT64 /* EGLTimeNV requires 64-bit uint support */ 209e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifndef EGL_NV_sync 210e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_NV_sync 1 211e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 212e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_STATUS_NV 0x30E7 213e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SIGNALED_NV 0x30E8 214e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_UNSIGNALED_NV 0x30E9 215e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 216e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull 217e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_ALREADY_SIGNALED_NV 0x30EA 218e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_TIMEOUT_EXPIRED_NV 0x30EB 219e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_CONDITION_SATISFIED_NV 0x30EC 220e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_TYPE_NV 0x30ED 221e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_CONDITION_NV 0x30EE 222e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_FENCE_NV 0x30EF 2230c7cc2ecf5faabec8554951712ac4f5b8262ed98Colin Cross#define EGL_NO_SYNC_NV EGL_CAST(EGLSyncNV, 0) 224e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef void* EGLSyncNV; 22512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef khronos_utime_nanoseconds_t EGLTimeNV; 226e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 22712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); 22812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync); 22912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync); 23012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); 23112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); 23212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); 233e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 234e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); 235e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); 236e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); 237e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); 238e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); 239e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); 240e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif 24112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 242e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian 24312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#if KHRONOS_SUPPORT_INT64 /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */ 244e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#ifndef EGL_KHR_fence_sync 245e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_KHR_fence_sync 1 246e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */ 247e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 248e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_CONDITION_KHR 0x30F8 249e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#define EGL_SYNC_FENCE_KHR 0x30F9 250e81a3cb2bd16f0ce1e9c256559aaa2095a1f41f6Mathias Agopian#endif 25112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 252df3ca30bf663cb8eed88ee3f16fb5e9a65dc00fcMathias Agopian 25312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_HI_clientpixmap 25412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_HI_clientpixmap 1 25512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 25612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* Surface Attribute */ 25712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 25812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* 25912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian * Structure representing a client pixmap 26012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian * (pixmap's data is in client-space memory). 26112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian */ 26212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopianstruct EGLClientPixmapHI 26312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian{ 26412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian void* pData; 26512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian EGLint iWidth; 26612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian EGLint iHeight; 26712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian EGLint iStride; 26812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian}; 26912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 27012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); 27112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 27212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); 27312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_HI_clientpixmap */ 27412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 27512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_HI_colorformats 27612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_HI_colorformats 1 27712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* Config Attribute */ 27812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COLOR_FORMAT_HI 0x8F70 27912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* Color Formats */ 28012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COLOR_RGB_HI 0x8F71 28112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COLOR_RGBA_HI 0x8F72 28212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COLOR_ARGB_HI 0x8F73 28312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_HI_colorformats */ 28412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 28512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_MESA_drm_image 28612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_MESA_drm_image 1 28712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */ 28812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */ 28912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */ 29012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */ 29112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 29212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ 29312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 /* EGL_DRM_BUFFER_USE_MESA bits */ 29412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 29512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); 29612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); 29712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 29812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); 29912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); 3008d2e83b9f44c7f2207a312fcfda8eb3a4c26745fMathias Agopian#endif 3018d2e83b9f44c7f2207a312fcfda8eb3a4c26745fMathias Agopian 30212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_NV_post_sub_buffer 30312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NV_post_sub_buffer 1 30412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE 30512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 30612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); 30712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 30812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); 309dc159f92fa54858302c2423b145e259991dc8cb5Jamie Gennis#endif 310dc159f92fa54858302c2423b145e259991dc8cb5Jamie Gennis 31112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_ANGLE_query_surface_pointer 31212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ANGLE_query_surface_pointer 1 31312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 31412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); 31512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 31612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); 31709b11432b64d368dee7be69480ab54256058376aJamie Gennis#endif 31809b11432b64d368dee7be69480ab54256058376aJamie Gennis 31912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle 32012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 32112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 32212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 32312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 32412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_NV_coverage_sample_resolve 32512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NV_coverage_sample_resolve 1 32612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 32712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 32812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 32912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 33012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 33112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#if KHRONOS_SUPPORT_INT64 /* EGLuint64NV requires 64-bit uint support */ 3321c3d72a2291827fb15e2ef311a571c860e0dba41Jonas Yang#ifndef EGL_NV_system_time 3331c3d72a2291827fb15e2ef311a571c860e0dba41Jonas Yang#define EGL_NV_system_time 1 33412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef khronos_utime_nanoseconds_t EGLuint64NV; 3351c3d72a2291827fb15e2ef311a571c860e0dba41Jonas Yang#ifdef EGL_EGLEXT_PROTOTYPES 3361c3d72a2291827fb15e2ef311a571c860e0dba41Jonas YangEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void); 3371c3d72a2291827fb15e2ef311a571c860e0dba41Jonas YangEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void); 33812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 33912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); 34012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void); 34112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 34212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 34312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 34412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */ 34512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_stream 34612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_stream 1 34712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef void* EGLStreamKHR; 34812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef khronos_uint64_t EGLuint64KHR; 3490c7cc2ecf5faabec8554951712ac4f5b8262ed98Colin Cross#define EGL_NO_STREAM_KHR EGL_CAST(EGLStreamKHR, 0) 35012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 35112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_PRODUCER_FRAME_KHR 0x3212 35212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONSUMER_FRAME_KHR 0x3213 35312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_KHR 0x3214 35412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_CREATED_KHR 0x3215 35512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 35612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 35712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 35812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 35912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A 36012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_BAD_STREAM_KHR 0x321B 36112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_BAD_STATE_KHR 0x321C 36212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 36312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list); 36412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream); 36512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); 36612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); 36712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); 36812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 36912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC)(EGLDisplay dpy, const EGLint *attrib_list); 37012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 37112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); 37212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); 37312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); 3741c3d72a2291827fb15e2ef311a571c860e0dba41Jonas Yang#endif 3751c3d72a2291827fb15e2ef311a571c860e0dba41Jonas Yang#endif 3761c3d72a2291827fb15e2ef311a571c860e0dba41Jonas Yang 37712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 37812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_stream_consumer_gltexture 37912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_stream_consumer_gltexture 1 38012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E 38112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 38212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream); 38312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream); 38412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream); 38512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 38612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 38712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 38812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 38912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 39012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 39112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 39212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 39312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_stream_producer_eglsurface 39412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_stream_producer_eglsurface 1 39512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_BIT_KHR 0x0800 39612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 39712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); 39812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 39912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); 40012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 40112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 40212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 40312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 40412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_stream_producer_aldatalocator 40512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_stream_producer_aldatalocator 1 40612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 40712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 40812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 40912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 41012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_stream_fifo 41112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_stream_fifo 1 41212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* reuse EGLTimeKHR */ 41312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC 41412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_TIME_NOW_KHR 0x31FD 41512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE 41612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF 41712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 41812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); 41912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 42012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); 42112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 42212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 42312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 42412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_EXT_create_context_robustness 42512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_EXT_create_context_robustness 1 42612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF 42712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 42812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE 42912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF 43012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 43112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 43212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_ANGLE_d3d_share_handle_client_buffer 43312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ANGLE_d3d_share_handle_client_buffer 1 43412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */ 43512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 43612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 43712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_create_context 43812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_create_context 1 43912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION 44012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB 44112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_FLAGS_KHR 0x30FC 44212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD 44312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD 44412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE 44512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF 44612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 44712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 44812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 44912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 45012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 45112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 45212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 45312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 4545245af3cb782a4e1c66ec0bed907ce823f32eadfJesse Hall#ifndef EGL_KHR_create_context_no_error 4555245af3cb782a4e1c66ec0bed907ce823f32eadfJesse Hall#define EGL_KHR_create_context_no_error 1 4565245af3cb782a4e1c66ec0bed907ce823f32eadfJesse Hall#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3 4575245af3cb782a4e1c66ec0bed907ce823f32eadfJesse Hall#endif /* EGL_KHR_create_context_no_error */ 4585245af3cb782a4e1c66ec0bed907ce823f32eadfJesse Hall 45912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_surfaceless_context 46012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_surfaceless_context 1 46112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* No tokens/entry points, just relaxes an error condition */ 46212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 46312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 464a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#ifndef EGL_KHR_swap_buffers_with_damage 465a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#define EGL_KHR_swap_buffers_with_damage 1 466a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stozatypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); 467a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#ifdef EGL_EGLEXT_PROTOTYPES 468a894d082cfee8d12ee5913163a34ec5dc521d005Dan StozaEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); 469a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#endif 470a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza#endif /* EGL_KHR_swap_buffers_with_damage */ 471a894d082cfee8d12ee5913163a34ec5dc521d005Dan Stoza 47212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 47312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_stream_cross_process_fd 47412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_stream_cross_process_fd 1 47512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef int EGLNativeFileDescriptorKHR; 4760c7cc2ecf5faabec8554951712ac4f5b8262ed98Colin Cross#define EGL_NO_FILE_DESCRIPTOR_KHR EGL_CAST(EGLNativeFileDescriptorKHR, -1) 47712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 47812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream); 47912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); 48012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 48112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 48212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); 48312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 48412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 48512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 48612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_EXT_multiview_window 48712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_EXT_multiview_window 1 48812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 48912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 49012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 49112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_KHR_wait_sync 49212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_KHR_wait_sync 1 49312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 49412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); 49512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 49612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); 49712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 49812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 49912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_NV_post_convert_rounding 50012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NV_post_convert_rounding 1 50112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian/* No tokens or entry points, just relaxes behavior of SwapBuffers */ 50212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 50312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 50412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_NV_native_query 50512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NV_native_query 1 50612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifdef EGL_EGLEXT_PROTOTYPES 50712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV( EGLDisplay dpy, EGLNativeDisplayType* display_id); 50812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV( EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType* window); 50912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV( EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType* pixmap); 51012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 51112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC)(EGLDisplay dpy, EGLNativeDisplayType *display_id); 51212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); 51312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); 51412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 51512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 51612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_NV_3dvision_surface 51712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NV_3dvision_surface 1 51812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_AUTO_STEREO_NV 0x3136 51912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 52012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 52112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_ANDROID_framebuffer_target 52212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ANDROID_framebuffer_target 1 52312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 52412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 52512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 526dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#ifndef EGL_ANDROID_image_crop 527dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#define EGL_ANDROID_image_crop 1 528dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#define EGL_IMAGE_CROP_LEFT_ANDROID 0x3148 529dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#define EGL_IMAGE_CROP_TOP_ANDROID 0x3149 530dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#define EGL_IMAGE_CROP_RIGHT_ANDROID 0x314A 531dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#define EGL_IMAGE_CROP_BOTTOM_ANDROID 0x314B 532dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis#endif 533dbe9245e2e362b12e184cd33b9a27b0901f81244Jamie Gennis 534766010858ea7696d64f1b559413670bdd8627595Jamie Gennis#ifndef EGL_ANDROID_blob_cache 535766010858ea7696d64f1b559413670bdd8627595Jamie Gennis#define EGL_ANDROID_blob_cache 1 536c42fcf05ce253d5342993b28c412be16e61efffbJamie Gennistypedef khronos_ssize_t EGLsizeiANDROID; 53712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); 53812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); 539766010858ea7696d64f1b559413670bdd8627595Jamie Gennis#ifdef EGL_EGLEXT_PROTOTYPES 540c42fcf05ce253d5342993b28c412be16e61efffbJamie GennisEGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); 541766010858ea7696d64f1b559413670bdd8627595Jamie Gennis#endif /* EGL_EGLEXT_PROTOTYPES */ 54212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); 543766010858ea7696d64f1b559413670bdd8627595Jamie Gennis#endif 544766010858ea7696d64f1b559413670bdd8627595Jamie Gennis 54512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_ANDROID_image_native_buffer 54612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ANDROID_image_native_buffer 1 54712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_NATIVE_BUFFER_ANDROID 0x3140 548258385978c517a47626161b1e644c48bcee28de1Jesse Hall#endif 549258385978c517a47626161b1e644c48bcee28de1Jesse Hall 550331841b96b92646c93c87627c03f77b892f711cdJamie Gennis#ifndef EGL_ANDROID_native_fence_sync 551331841b96b92646c93c87627c03f77b892f711cdJamie Gennis#define EGL_ANDROID_native_fence_sync 1 55212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 55312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 55412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 555f509370be65b728c0692f4359eae7069a26b01d7Chih-Hung Hsieh#define EGL_NO_NATIVE_FENCE_FD_ANDROID (-1) 556331841b96b92646c93c87627c03f77b892f711cdJamie Gennis#ifdef EGL_EGLEXT_PROTOTYPES 55712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias AgopianEGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID( EGLDisplay dpy, EGLSyncKHR); 55812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* EGL_EGLEXT_PROTOTYPES */ 55912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopiantypedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR); 560331841b96b92646c93c87627c03f77b892f711cdJamie Gennis#endif 56112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 56212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_ANDROID_recordable 56312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ANDROID_recordable 1 56412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_RECORDABLE_ANDROID 0x3142 56512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 56612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 56712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_EXT_buffer_age 56812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_EXT_buffer_age 1 56912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_BUFFER_AGE_EXT 0x313D 57012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif 57112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian 57212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#ifndef EGL_EXT_image_dma_buf_import 57312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_EXT_image_dma_buf_import 1 57412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_LINUX_DMA_BUF_EXT 0x3270 57512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 57612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 57712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 57812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 57912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 58012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 58112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 58212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 58312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 58412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A 58512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B 58612af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C 58712af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D 58812af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E 58912af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ITU_REC601_EXT 0x327F 59012af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ITU_REC709_EXT 0x3280 59112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_ITU_REC2020_EXT 0x3281 59212af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_FULL_RANGE_EXT 0x3282 59312af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_NARROW_RANGE_EXT 0x3283 59412af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 59512af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 596331841b96b92646c93c87627c03f77b892f711cdJamie Gennis#endif 597331841b96b92646c93c87627c03f77b892f711cdJamie Gennis 5987284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden#ifndef EGL_ANDROID_presentation_time 5997284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden#define EGL_ANDROID_presentation_time 1 6007284145d564fa8a422a8e564a38c730fb4a2962bAndy McFaddentypedef khronos_stime_nanoseconds_t EGLnsecsANDROID; 6017284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden#ifdef EGL_EGLEXT_PROTOTYPES 6027284145d564fa8a422a8e564a38c730fb4a2962bAndy McFaddenEGLAPI EGLBoolean eglPresentationTimeANDROID(EGLDisplay dpy, EGLSurface sur, EGLnsecsANDROID time); 6037284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden#else 6047284145d564fa8a422a8e564a38c730fb4a2962bAndy McFaddentypedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROID) (EGLDisplay dpy, EGLSurface sur, EGLnsecsANDROID time); 6057284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden#endif 6067284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden#endif 6077284145d564fa8a422a8e564a38c730fb4a2962bAndy McFadden 608607610786f0950f037812b6801e1bf42e830bb76Craig Donner#ifndef EGL_ANDROID_get_native_client_buffer 609607610786f0950f037812b6801e1bf42e830bb76Craig Donner#define EGL_ANDROID_get_native_client_buffer 1 610607610786f0950f037812b6801e1bf42e830bb76Craig Donnerstruct AHardwareBuffer; 611607610786f0950f037812b6801e1bf42e830bb76Craig Donner#ifdef EGL_EGLEXT_PROTOTYPES 612e28f8abc74ad9fd8198b41841e4918e13bddaeabCraig DonnerEGLAPI EGLClientBuffer eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer); 613607610786f0950f037812b6801e1bf42e830bb76Craig Donner#else 614e28f8abc74ad9fd8198b41841e4918e13bddaeabCraig Donnertypedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROID) (const struct AHardwareBuffer *buffer); 615607610786f0950f037812b6801e1bf42e830bb76Craig Donner#endif 616607610786f0950f037812b6801e1bf42e830bb76Craig Donner#endif 617607610786f0950f037812b6801e1bf42e830bb76Craig Donner 61802b05da60a4669df44c9c0747ec262ec1862cf61Pablo Ceballos#ifndef EGL_ANDROID_front_buffer_auto_refresh 61902b05da60a4669df44c9c0747ec262ec1862cf61Pablo Ceballos#define EGL_ANDROID_front_buffer_auto_refresh 1 62002b05da60a4669df44c9c0747ec262ec1862cf61Pablo Ceballos#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C 62102b05da60a4669df44c9c0747ec262ec1862cf61Pablo Ceballos#endif 62202b05da60a4669df44c9c0747ec262ec1862cf61Pablo Ceballos 623ceb9ee78bdc7b3a074d01380ce11432f88732094Pablo Ceballos#ifndef EGL_KHR_mutable_render_buffer 624ceb9ee78bdc7b3a074d01380ce11432f88732094Pablo Ceballos#define EGL_KHR_mutable_render_buffer 1 625ceb9ee78bdc7b3a074d01380ce11432f88732094Pablo Ceballos#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000 626ceb9ee78bdc7b3a074d01380ce11432f88732094Pablo Ceballos#endif 62702b05da60a4669df44c9c0747ec262ec1862cf61Pablo Ceballos 628c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos#ifndef EGL_ANDROID_get_frame_timestamps 629c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos#define EGL_ANDROID_get_frame_timestamps 1 63042849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_TIMESTAMPS_ANDROID 0x3430 63142849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_COMPOSITE_DEADLINE_ANDROID 0x3431 63242849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_COMPOSITE_INTERVAL_ANDROID 0x3432 63342849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433 63442849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434 63542849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435 63642849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436 63742849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437 63842849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438 63942849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439 64042849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_DISPLAY_PRESENT_TIME_ANDROID 0x343A 64142849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_DEQUEUE_READY_TIME_ANDROID 0x343B 64242849948d6941a241c7974bbb9ed21eed6715d28Brian Anderson#define EGL_READS_DONE_TIME_ANDROID 0x343C 643dc96fdfa58260867c993fff78611220874753201Brian Anderson#define EGL_TIMESTAMP_PENDING_ANDROID EGL_CAST(EGLnsecsANDROID, -2) 644dc96fdfa58260867c993fff78611220874753201Brian Anderson#define EGL_TIMESTAMP_INVALID_ANDROID EGL_CAST(EGLnsecsANDROID, -1) 645c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos#ifdef EGL_EGLEXT_PROTOTYPES 6461049d1d0b21ee318e309f9a90098c092cb879c41Brian AndersonEGLAPI EGLBoolean eglGetNextFrameIdANDROID(EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId); 6470a61b0c813f5991bf462e36a2314dda062727a10Brian AndersonEGLAPI EGLBoolean eglGetCompositorTimingANDROID(EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values); 6480a61b0c813f5991bf462e36a2314dda062727a10Brian AndersonEGLAPI EGLBoolean eglGetCompositorTimingSupportedANDROID(EGLDisplay dpy, EGLSurface surface, EGLint name); 6491049d1d0b21ee318e309f9a90098c092cb879c41Brian AndersonEGLAPI EGLBoolean eglGetFrameTimestampsANDROID(EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values); 6500a61b0c813f5991bf462e36a2314dda062727a10Brian AndersonEGLAPI EGLBoolean eglGetFrameTimestampSupportedANDROID(EGLDisplay dpy, EGLSurface surface, EGLint timestamp); 651c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos#else 6521049d1d0b21ee318e309f9a90098c092cb879c41Brian Andersontypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROID) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId); 6530a61b0c813f5991bf462e36a2314dda062727a10Brian Andersontypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROID) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values); 6540a61b0c813f5991bf462e36a2314dda062727a10Brian Andersontypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROID) (EGLDisplay dpy, EGLSurface surface, EGLint name); 6551049d1d0b21ee318e309f9a90098c092cb879c41Brian Andersontypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROID) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values); 6560a61b0c813f5991bf462e36a2314dda062727a10Brian Andersontypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROID) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp); 657c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos#endif 658c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos#endif 659c18be29d01cffbb820bcb22b74916de0023e7857Pablo Ceballos 66062203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#ifndef EGL_EXT_gl_colorspace_bt2020_linear 66162203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_EXT_gl_colorspace_bt2020_linear 1 66262203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F 66362203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#endif /* EGL_EXT_gl_colorspace_bt2020_linear */ 66462203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter 66562203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#ifndef EGL_EXT_gl_colorspace_bt2020_pq 66662203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_EXT_gl_colorspace_bt2020_pq 1 66762203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340 66862203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#endif /* EGL_EXT_gl_colorspace_bt2020_pq */ 66962203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter 67062203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#ifndef EGL_EXT_gl_colorspace_scrgb_linear 67162203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_EXT_gl_colorspace_scrgb_linear 1 67262203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350 67362203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#endif /* EGL_EXT_gl_colorspace_scrgb_linear */ 67462203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter 67562203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#ifndef EGL_EXT_pixel_format_float 67662203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_EXT_pixel_format_float 1 67762203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339 67862203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A 67962203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B 68062203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#endif /* EGL_EXT_pixel_format_float */ 68162203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter 68262203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#ifndef EGL_EXT_surface_SMPTE2086_metadata 68362203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_EXT_surface_SMPTE2086_metadata 1 68462203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341 68562203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342 68662203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343 68762203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344 68862203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345 68962203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346 69062203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_WHITE_POINT_X_EXT 0x3347 69162203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_WHITE_POINT_Y_EXT 0x3348 69262203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_MAX_LUMINANCE_EXT 0x3349 69362203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#define EGL_SMPTE2086_MIN_LUMINANCE_EXT 0x334A 6949c4938729378bd69d387b39a902d96808f5a9556Courtney Goeltzenleuchter#define EGL_METADATA_SCALING_EXT 50000 69562203bfc30e3e80be4d21d6788f257d3360f4ebfCourtney Goeltzenleuchter#endif /* EGL_EXT_surface_SMPTE2086_metadata */ 6960e4e3955254008e133b9ba14e0782becec3e2343Courtney Goeltzenleuchter 697edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#ifdef __cplusplus 698edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project} 699edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project#endif 700edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 70112af3f6665f209cb7275f0c81fdc1cf4ccfb6208Mathias Agopian#endif /* __eglext_h_ */ 702