hostsupport/hostegl/inc/EGL/eglext.h
branchbug235_bringup_0
changeset 55 09263774e342
parent 53 c2ef9095503a
child 56 40cc73c24bf8
equal deleted inserted replaced
54:067180f57b12 55:09263774e342
       
     1 #ifndef __eglext_h_
       
     2 #define __eglext_h_
       
     3 
       
     4 #ifdef __cplusplus
       
     5 extern "C" {
       
     6 #endif
       
     7 
       
     8 /*
       
     9 ** Copyright (c) 2007-2009 The Khronos Group Inc.
       
    10 **
       
    11 ** Permission is hereby granted, free of charge, to any person obtaining a
       
    12 ** copy of this software and/or associated documentation files (the
       
    13 ** "Materials"), to deal in the Materials without restriction, including
       
    14 ** without limitation the rights to use, copy, modify, merge, publish,
       
    15 ** distribute, sublicense, and/or sell copies of the Materials, and to
       
    16 ** permit persons to whom the Materials are furnished to do so, subject to
       
    17 ** the following conditions:
       
    18 **
       
    19 ** The above copyright notice and this permission notice shall be included
       
    20 ** in all copies or substantial portions of the Materials.
       
    21 **
       
    22 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
       
    23 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
       
    24 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
       
    25 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
       
    26 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
       
    27 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
       
    28 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
       
    29 */
       
    30 
       
    31 #include <EGL/eglplatform.h>
       
    32 
       
    33 /*************************************************************/
       
    34 
       
    35 /* Header file version number */
       
    36 /* Current version at http://www.khronos.org/registry/egl/ */
       
    37 /* $Revision: 10185 $ on $Date: 2010-01-22 11:38:01 -0800 (Fri, 22 Jan 2010) $ */
       
    38 #define EGL_EGLEXT_VERSION 5
       
    39 
       
    40 #ifndef EGL_KHR_config_attribs
       
    41 #define EGL_KHR_config_attribs 1
       
    42 #define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
       
    43 #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
       
    44 #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
       
    45 #endif
       
    46 
       
    47 #ifndef EGL_KHR_lock_surface
       
    48 #define EGL_KHR_lock_surface 1
       
    49 #define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
       
    50 #define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
       
    51 #define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
       
    52 #define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
       
    53 #define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
       
    54 #define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
       
    55 #define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
       
    56 #define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
       
    57 #define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
       
    58 #define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
       
    59 #define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
       
    60 #define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
       
    61 #define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
       
    62 #define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
       
    63 #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
       
    64 #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
       
    65 #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
       
    66 #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
       
    67 #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
       
    68 #define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
       
    69 #define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
       
    70 #ifdef EGL_EGLEXT_PROTOTYPES
       
    71 EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
       
    72 EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
       
    73 #endif /* EGL_EGLEXT_PROTOTYPES */
       
    74 typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
       
    75 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
       
    76 #endif
       
    77 
       
    78 #ifndef EGL_KHR_image
       
    79 #define EGL_KHR_image 1
       
    80 #define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
       
    81 typedef void *EGLImageKHR;
       
    82 #define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
       
    83 #ifdef EGL_EGLEXT_PROTOTYPES
       
    84 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
       
    85 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
       
    86 #endif /* EGL_EGLEXT_PROTOTYPES */
       
    87 typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
       
    88 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
       
    89 #endif
       
    90 
       
    91 #ifndef EGL_KHR_vg_parent_image
       
    92 #define EGL_KHR_vg_parent_image 1
       
    93 #define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
       
    94 #endif
       
    95 
       
    96 #ifndef EGL_KHR_gl_texture_2D_image
       
    97 #define EGL_KHR_gl_texture_2D_image 1
       
    98 #define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
       
    99 #define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
       
   100 #endif
       
   101 
       
   102 #ifndef EGL_KHR_gl_texture_cubemap_image
       
   103 #define EGL_KHR_gl_texture_cubemap_image 1
       
   104 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
       
   105 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
       
   106 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
       
   107 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
       
   108 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
       
   109 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
       
   110 #endif
       
   111 
       
   112 #ifndef EGL_KHR_gl_texture_3D_image
       
   113 #define EGL_KHR_gl_texture_3D_image 1
       
   114 #define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
       
   115 #define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
       
   116 #endif
       
   117 
       
   118 #ifndef EGL_KHR_gl_renderbuffer_image
       
   119 #define EGL_KHR_gl_renderbuffer_image 1
       
   120 #define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
       
   121 #endif
       
   122 
       
   123 #ifndef EGL_KHR_reusable_sync
       
   124 #define EGL_KHR_reusable_sync 1
       
   125 
       
   126 typedef void* EGLSyncKHR;
       
   127 typedef khronos_utime_nanoseconds_t EGLTimeKHR;
       
   128 
       
   129 #define EGL_SYNC_STATUS_KHR			0x30F1
       
   130 #define EGL_SIGNALED_KHR			0x30F2
       
   131 #define EGL_UNSIGNALED_KHR			0x30F3
       
   132 #define EGL_TIMEOUT_EXPIRED_KHR			0x30F5
       
   133 #define EGL_CONDITION_SATISFIED_KHR		0x30F6
       
   134 #define EGL_SYNC_TYPE_KHR			0x30F7
       
   135 #define EGL_SYNC_REUSABLE_KHR			0x30FA
       
   136 #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR		0x0001	/* eglClientWaitSyncKHR <flags> bitfield */
       
   137 #define EGL_FOREVER_KHR				0xFFFFFFFFFFFFFFFFull
       
   138 #define EGL_NO_SYNC_KHR				((EGLSyncKHR)0)
       
   139 #ifdef EGL_EGLEXT_PROTOTYPES
       
   140 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
       
   141 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
       
   142 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
       
   143 EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
       
   144 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
       
   145 #endif /* EGL_EGLEXT_PROTOTYPES */
       
   146 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
       
   147 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
       
   148 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
       
   149 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
       
   150 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
       
   151 #endif
       
   152 
       
   153 #ifndef EGL_KHR_image_base
       
   154 #define EGL_KHR_image_base 1
       
   155 /* Most interfaces defined by EGL_KHR_image_pixmap above */
       
   156 #define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
       
   157 #endif
       
   158 
       
   159 #ifndef EGL_KHR_image_pixmap
       
   160 #define EGL_KHR_image_pixmap 1
       
   161 /* Interfaces defined by EGL_KHR_image above */
       
   162 #endif
       
   163 
       
   164 #ifndef EGL_IMG_context_priority
       
   165 #define EGL_IMG_context_priority 1
       
   166 #define EGL_CONTEXT_PRIORITY_LEVEL_IMG		0x3100
       
   167 #define EGL_CONTEXT_PRIORITY_HIGH_IMG		0x3101
       
   168 #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG		0x3102
       
   169 #define EGL_CONTEXT_PRIORITY_LOW_IMG		0x3103
       
   170 #endif
       
   171 
       
   172 #ifndef EGL_NV_coverage_sample
       
   173 #define EGL_NV_coverage_sample 1
       
   174 #define EGL_COVERAGE_BUFFERS_NV 0x30E0
       
   175 #define EGL_COVERAGE_SAMPLES_NV 0x30E1
       
   176 #endif
       
   177 
       
   178 #ifndef EGL_NV_depth_nonlinear
       
   179 #define EGL_NV_depth_nonlinear 1
       
   180 #define EGL_DEPTH_ENCODING_NV 0x30E2
       
   181 #define EGL_DEPTH_ENCODING_NONE_NV 0
       
   182 #define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
       
   183 #endif
       
   184 
       
   185 #ifndef EGL_NV_sync
       
   186 #define EGL_NV_sync 1
       
   187 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV	0x30E6
       
   188 #define EGL_SYNC_STATUS_NV			0x30E7
       
   189 #define EGL_SIGNALED_NV				0x30E8
       
   190 #define EGL_UNSIGNALED_NV			0x30E9
       
   191 #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV		0x0001
       
   192 #define EGL_FOREVER_NV				0xFFFFFFFFFFFFFFFFull
       
   193 #define EGL_ALREADY_SIGNALED_NV			0x30EA
       
   194 #define EGL_TIMEOUT_EXPIRED_NV			0x30EB
       
   195 #define EGL_CONDITION_SATISFIED_NV		0x30EC
       
   196 #define EGL_SYNC_TYPE_NV			0x30ED
       
   197 #define EGL_SYNC_CONDITION_NV			0x30EE
       
   198 #define EGL_SYNC_FENCE_NV			0x30EF
       
   199 #define EGL_NO_SYNC_NV				((EGLSyncNV)0)
       
   200 typedef void* EGLSyncNV;
       
   201 typedef unsigned long long EGLTimeNV;
       
   202 #ifdef EGL_EGLEXT_PROTOTYPES
       
   203 EGLSyncNV eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
       
   204 EGLBoolean eglDestroySyncNV (EGLSyncNV sync);
       
   205 EGLBoolean eglFenceNV (EGLSyncNV sync);
       
   206 EGLint eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
       
   207 EGLBoolean eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
       
   208 EGLBoolean eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
       
   209 #endif /* EGL_EGLEXT_PROTOTYPES */
       
   210 typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
       
   211 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
       
   212 typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
       
   213 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
       
   214 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
       
   215 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
       
   216 #endif
       
   217 
       
   218 /* Platsim related functions (non-standard)*/
       
   219 
       
   220 EGLAPI void EGLAPIENTRY eglPlatsimSetProcessInformation( EGLint process, EGLint thread );
       
   221 
       
   222 EGLAPI EGLint EGLAPIENTRY eglPlatsimGetError();
       
   223 
       
   224 EGLAPI void EGLAPIENTRY eglPlatsimSetSurfaceParams( EGLDisplay display, EGLSurface surface, EGLint width, EGLint height,
       
   225     EGLint stride, void* buffer0, void *buffer1);
       
   226 
       
   227 EGLAPI EGLNativePixmapType EGLAPIENTRY eglPlatsimGetPixmapSurfaceBitmap( EGLDisplay display, EGLSurface surface);
       
   228 
       
   229 #ifdef __cplusplus
       
   230 }
       
   231 #endif
       
   232 
       
   233 #endif