19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef __eglext_h_
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define __eglext_h_
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifdef __cplusplus
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern "C" {
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Copyright (c) 2007-2009 The Khronos Group Inc.
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Permission is hereby granted, free of charge, to any person obtaining a
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** copy of this software and/or associated documentation files (the
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** "Materials"), to deal in the Materials without restriction, including
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** without limitation the rights to use, copy, modify, merge, publish,
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** distribute, sublicense, and/or sell copies of the Materials, and to
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** permit persons to whom the Materials are furnished to do so, subject to
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** the following conditions:
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** The above copyright notice and this permission notice shall be included
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** in all copies or substantial portions of the Materials.
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <EGL/eglplatform.h>
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*************************************************************/
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* Header file version number */
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* Current version at http://www.khronos.org/registry/egl/ */
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* $Revision: 7244 $ on $Date: 2009-01-20 17:06:59 -0800 (Tue, 20 Jan 2009) $ */
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_EGLEXT_VERSION 3
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_config_attribs
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_config_attribs 1
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_lock_surface
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_lock_surface 1
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifdef EGL_EGLEXT_PROTOTYPES
719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif /* EGL_EGLEXT_PROTOTYPES */
749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_image
799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_image 1
809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttypedef void *EGLImageKHR;
829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifdef EGL_EGLEXT_PROTOTYPES
849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif /* EGL_EGLEXT_PROTOTYPES */
879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_vg_parent_image
929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_vg_parent_image 1
939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_gl_texture_2D_image
979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_gl_texture_2D_image 1
989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_gl_texture_cubemap_image
1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_gl_texture_cubemap_image 1
1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_gl_texture_3D_image
1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_gl_texture_3D_image 1
1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_gl_renderbuffer_image
1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_gl_renderbuffer_image 1
1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_image_base
1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_image_base 1
1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* Most interfaces defined by EGL_KHR_image_pixmap above */
1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef EGL_KHR_image_pixmap
1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define EGL_KHR_image_pixmap 1
1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* Interfaces defined by EGL_KHR_image above */
1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifdef __cplusplus
1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
139