1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef __eglext_h_ 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define __eglext_h_ 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef __cplusplus 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern "C" { 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** Copyright (c) 2007-2012 The Khronos Group Inc. 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** Permission is hereby granted, free of charge, to any person obtaining a 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** copy of this software and/or associated documentation files (the 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** "Materials"), to deal in the Materials without restriction, including 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** without limitation the rights to use, copy, modify, merge, publish, 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** distribute, sublicense, and/or sell copies of the Materials, and to 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** permit persons to whom the Materials are furnished to do so, subject to 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** the following conditions: 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** The above copyright notice and this permission notice shall be included 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** in all copies or substantial portions of the Materials. 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org*/ 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <EGL/eglplatform.h> 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/*************************************************************/ 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Header file version number */ 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Current version at http://www.khronos.org/registry/egl/ */ 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* $Revision: 18699 $ on $Date: 2012-07-31 03:04:59 -0700 (Tue, 31 Jul 2012) $ */ 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_EGLEXT_VERSION 14 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_config_attribs 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_config_attribs 1 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_lock_surface 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_lock_surface 1 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_image 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_image 1 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef void *EGLImageKHR; 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_vg_parent_image 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_vg_parent_image 1 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_gl_texture_2D_image 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_gl_texture_2D_image 1 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_gl_texture_cubemap_image 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_gl_texture_cubemap_image 1 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_gl_texture_3D_image 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_gl_texture_3D_image 1 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_gl_renderbuffer_image 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_gl_renderbuffer_image 1 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if KHRONOS_SUPPORT_INT64 /* EGLTimeKHR requires 64-bit uint support */ 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_reusable_sync 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_reusable_sync 1 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef void* EGLSyncKHR; 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef khronos_utime_nanoseconds_t EGLTimeKHR; 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_STATUS_KHR 0x30F1 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SIGNALED_KHR 0x30F2 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_UNSIGNALED_KHR 0x30F3 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONDITION_SATISFIED_KHR 0x30F6 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_TYPE_KHR 0x30F7 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_REUSABLE_KHR 0x30FA 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 /* eglClientWaitSyncKHR <flags> bitfield */ 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_image_base 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_image_base 1 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Most interfaces defined by EGL_KHR_image_pixmap above */ 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_image_pixmap 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_image_pixmap 1 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Interfaces defined by EGL_KHR_image above */ 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_IMG_context_priority 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_IMG_context_priority 1 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_lock_surface2 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_lock_surface2 1 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_NV_coverage_sample 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NV_coverage_sample 1 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COVERAGE_BUFFERS_NV 0x30E0 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COVERAGE_SAMPLES_NV 0x30E1 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_NV_depth_nonlinear 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NV_depth_nonlinear 1 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DEPTH_ENCODING_NV 0x30E2 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DEPTH_ENCODING_NONE_NV 0 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if KHRONOS_SUPPORT_INT64 /* EGLTimeNV requires 64-bit uint support */ 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_NV_sync 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NV_sync 1 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_STATUS_NV 0x30E7 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SIGNALED_NV 0x30E8 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_UNSIGNALED_NV 0x30E9 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_ALREADY_SIGNALED_NV 0x30EA 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_TIMEOUT_EXPIRED_NV 0x30EB 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONDITION_SATISFIED_NV 0x30EC 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_TYPE_NV 0x30ED 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_CONDITION_NV 0x30EE 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_FENCE_NV 0x30EF 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_SYNC_NV ((EGLSyncNV)0) 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef void* EGLSyncNV; 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef khronos_utime_nanoseconds_t EGLTimeNV; 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync); 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync); 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); 219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); 220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); 221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); 222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); 223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); 224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if KHRONOS_SUPPORT_INT64 /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */ 228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_fence_sync 229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_fence_sync 1 230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */ 231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_CONDITION_KHR 0x30F8 233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_SYNC_FENCE_KHR 0x30F9 234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_HI_clientpixmap 238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_HI_clientpixmap 1 239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Surface Attribute */ 241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Structure representing a client pixmap 244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * (pixmap's data is in client-space memory). 245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct EGLClientPixmapHI 247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org void* pData; 249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint iWidth; 250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint iHeight; 251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org EGLint iStride; 252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org}; 253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); 256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap); 258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_HI_clientpixmap */ 259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_HI_colorformats 261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_HI_colorformats 1 262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Config Attribute */ 263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COLOR_FORMAT_HI 0x8F70 264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Color Formats */ 265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COLOR_RGB_HI 0x8F71 266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COLOR_RGBA_HI 0x8F72 267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COLOR_ARGB_HI 0x8F73 268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_HI_colorformats */ 269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 270f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_MESA_drm_image 271f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_MESA_drm_image 1 272f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */ 273f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */ 274f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */ 275f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */ 276f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 277f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ 278f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 /* EGL_DRM_BUFFER_USE_MESA bits */ 279f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 280f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); 281f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); 282f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 283f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); 284f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); 285f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 286f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 287f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_NV_post_sub_buffer 288f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NV_post_sub_buffer 1 289f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE 290f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 291f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); 292f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 293f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); 294f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 295f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 296f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_ANGLE_query_surface_pointer 297f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_ANGLE_query_surface_pointer 1 298f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 299f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); 300f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 301f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); 302f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 303f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 304f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle 305f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 306f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 307f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 308f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 309f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_NV_coverage_sample_resolve 310f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NV_coverage_sample_resolve 1 311f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 312f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 313f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 314f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 315f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 316f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if KHRONOS_SUPPORT_INT64 /* EGLuint64NV requires 64-bit uint support */ 317f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_NV_system_time 318f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NV_system_time 1 319f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 320f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef khronos_utime_nanoseconds_t EGLuint64NV; 321f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 322f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 323f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void); 324f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void); 325f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 326f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); 327f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void); 328f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 329f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 330f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 331f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */ 332f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_stream 333f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_stream 1 334f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef void* EGLStreamKHR; 335f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef khronos_uint64_t EGLuint64KHR; 336f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_STREAM_KHR ((EGLStreamKHR)0) 337f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 338f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_PRODUCER_FRAME_KHR 0x3212 339f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONSUMER_FRAME_KHR 0x3213 340f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_KHR 0x3214 341f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_CREATED_KHR 0x3215 342f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 343f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 344f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 345f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 346f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A 347f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BAD_STREAM_KHR 0x321B 348f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_BAD_STATE_KHR 0x321C 349f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 350f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list); 351f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream); 352f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); 353f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); 354f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); 355f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 356f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC)(EGLDisplay dpy, const EGLint *attrib_list); 357f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 358f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); 359f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); 360f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); 361f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 362f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 363f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 364f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 365f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_stream_consumer_gltexture 366f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_stream_consumer_gltexture 1 367f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E 368f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 369f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream); 370f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream); 371f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream); 372f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 373f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 374f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 375f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 376f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 377f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 378f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 379f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 380f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_stream_producer_eglsurface 381f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_stream_producer_eglsurface 1 382f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_BIT_KHR 0x0800 383f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 384f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); 385f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 386f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); 387f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 388f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 389f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 390f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 391f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_stream_producer_aldatalocator 392f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_stream_producer_aldatalocator 1 393f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 394f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 395f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 396f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 397f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_stream_fifo 398f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_stream_fifo 1 399f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* reuse EGLTimeKHR */ 400f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC 401f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_TIME_NOW_KHR 0x31FD 402f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE 403f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF 404f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 405f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); 406f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 407f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); 408f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 409f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 410f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 411f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_EXT_create_context_robustness 412f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_EXT_create_context_robustness 1 413f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF 414f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 415f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE 416f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF 417f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 418f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 419f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_ANGLE_d3d_share_handle_client_buffer 420f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_ANGLE_d3d_share_handle_client_buffer 1 421f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */ 422f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 423f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 424f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_create_context 425f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_create_context 1 426f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION 427f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB 428f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_FLAGS_KHR 0x30FC 429f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD 430f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD 431f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE 432f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF 433f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 434f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 435f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 436f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 437f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 438f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 439f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 440f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_surfaceless_context 441f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_surfaceless_context 1 442f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* No tokens/entry points, just relaxes an error condition */ 443f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 444f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 445f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_KHR_stream /* Requires KHR_stream extension */ 446f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef EGL_KHR_stream_cross_process_fd 447f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_KHR_stream_cross_process_fd 1 448f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef int EGLNativeFileDescriptorKHR; 449f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1)) 450f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef EGL_EGLEXT_PROTOTYPES 451f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream); 452f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); 453f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* EGL_EGLEXT_PROTOTYPES */ 454f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream); 455f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgtypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); 456f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 457f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 458f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 459f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <EGL/eglmesaext.h> 460f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 461f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef __cplusplus 462f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 463f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 464f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 465f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 466