williamr@4: williamr@4: #ifndef __eglext_h_ williamr@4: #define __eglext_h_ williamr@4: williamr@4: #ifdef __cplusplus williamr@4: extern "C" { williamr@4: #endif williamr@4: williamr@4: /* williamr@4: ** Copyright (c) 2007-2009 The Khronos Group Inc. williamr@4: ** williamr@4: ** Permission is hereby granted, free of charge, to any person obtaining a williamr@4: ** copy of this software and/or associated documentation files (the williamr@4: ** "Materials"), to deal in the Materials without restriction, including williamr@4: ** without limitation the rights to use, copy, modify, merge, publish, williamr@4: ** distribute, sublicense, and/or sell copies of the Materials, and to williamr@4: ** permit persons to whom the Materials are furnished to do so, subject to williamr@4: ** the following conditions: williamr@4: ** williamr@4: ** The above copyright notice and this permission notice shall be included williamr@4: ** in all copies or substantial portions of the Materials. williamr@4: ** williamr@4: ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, williamr@4: ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF williamr@4: ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. williamr@4: ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY williamr@4: ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, williamr@4: ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE williamr@4: ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. williamr@4: */ williamr@4: williamr@4: /** williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: /* differences from the actual sample implementation provided by Khronos: williamr@4: - this comment williamr@4: - the Doxygen comment with tag 'publishedAll', and tag 'released' williamr@4: - changing platform-dependant header name from to williamr@4: - EGLImageKHR definition is consistent with other EGL objects, i.e. is defined as integer williamr@4: instead of pointer to void. williamr@4: - macro EGL_IMAGE_PRESERVED_SYMBIAN introduced in this header represents EGL_IMAGE_PRESERVED_KHR williamr@4: macro defined in Khronos spec. Note that it has been retained temporarily for compatibility reasons williamr@4: and it is advised to use Khronos macro instead. williamr@4: - resource profiler and reusable sync object extensions are added williamr@4: */ williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: /*************************************************************/ williamr@4: williamr@4: #define EGL_EGLEXT_VERSION 3 williamr@4: williamr@4: #ifndef EGL_KHR_config_attribs williamr@4: #define EGL_KHR_config_attribs 1 williamr@4: #define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ williamr@4: #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ williamr@4: #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_lock_surface williamr@4: #define EGL_KHR_lock_surface 1 williamr@4: #define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ williamr@4: #define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ williamr@4: #define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ williamr@4: #define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ williamr@4: #define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ williamr@4: #define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ williamr@4: #define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ williamr@4: #define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ williamr@4: #define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ williamr@4: #define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ williamr@4: #define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ williamr@4: #define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ williamr@4: #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ williamr@4: #define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ williamr@4: #define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ williamr@4: #ifdef EGL_EGLEXT_PROTOTYPES williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); williamr@4: #endif /* EGL_EGLEXT_PROTOTYPES */ williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_image williamr@4: #define EGL_KHR_image 1 williamr@4: #define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ williamr@4: typedef int EGLImageKHR; williamr@4: #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) williamr@4: #ifdef EGL_EGLEXT_PROTOTYPES williamr@4: EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); williamr@4: #endif /* EGL_EGLEXT_PROTOTYPES */ williamr@4: typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_vg_parent_image williamr@4: #define EGL_KHR_vg_parent_image 1 williamr@4: #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_gl_texture_2D_image williamr@4: #define EGL_KHR_gl_texture_2D_image 1 williamr@4: #define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_gl_texture_cubemap_image williamr@4: #define EGL_KHR_gl_texture_cubemap_image 1 williamr@4: #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_gl_texture_3D_image williamr@4: #define EGL_KHR_gl_texture_3D_image 1 williamr@4: #define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ williamr@4: #define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_gl_renderbuffer_image williamr@4: #define EGL_KHR_gl_renderbuffer_image 1 williamr@4: #define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_image_base williamr@4: #define EGL_KHR_image_base 1 williamr@4: /* Most interfaces defined by EGL_KHR_image_pixmap above */ williamr@4: #define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_image_pixmap williamr@4: #define EGL_KHR_image_pixmap 1 williamr@4: /* Interfaces defined by EGL_KHR_image above */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_SYMBIAN_image_preserved williamr@4: #define EGL_SYMBIAN_image_preserved 1 williamr@4: /* The following macro was retained for compatibility reasons and will be removed soon. williamr@4: For the new written code it is advised to use EGL_IMAGE_PRESERVED_KHR macro williamr@4: defined in Khronos spec. */ williamr@4: #define EGL_IMAGE_PRESERVED_SYMBIAN 0x30D2 /* eglCreateImageKHR attribute */ williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_NOK_resource_profiling2 williamr@4: #define EGL_NOK_resource_profiling2 1 williamr@4: /* Accepted by the parameter of eglQueryProfilingDataNOK */ williamr@4: #define EGL_PROF_QUERY_GLOBAL_BIT_NOK 0x0001 williamr@4: #define EGL_PROF_QUERY_MEMORY_USAGE_BIT_NOK 0x0002 williamr@4: /* Returned as attribute identifiers by eglQueryProfilingDataNOK */ williamr@4: #define EGL_PROF_TOTAL_MEMORY_NOK 0x3070 williamr@4: #define EGL_PROF_USED_MEMORY_NOK 0x3071 williamr@4: #define EGL_PROF_PROCESS_ID_NOK 0x3072 williamr@4: #define EGL_PROF_PROCESS_USED_PRIVATE_MEMORY_NOK 0x3073 williamr@4: #define EGL_PROF_PROCESS_USED_SHARED_MEMORY_NOK 0x3074 williamr@4: /* Accepted as the parameter of eglCreateSyncKHR */ williamr@4: #define EGL_SYNC_RESOURCE_PROFILING_NOK 0x3078 williamr@4: /* Accepted as the value of the EGL_SYNC_CONDITION_KHR attribute passed in */ williamr@4: /* for eglCreateSyncKHR, and returned in when */ williamr@4: /* eglGetSyncAttribKHR is called with EGL_SYNC_CONDITION_KHR */ williamr@4: #define EGL_PROF_TOTAL_MEMORY_USAGE_GT_NOK 0x3075 williamr@4: #define EGL_PROF_TOTAL_MEMORY_USAGE_LT_NOK 0x3076 williamr@4: /* Accepted as an attribute name in the parameter of */ williamr@4: /* eglCreateSyncKHR and in for eglGetSyncAttribKHR */ williamr@4: #define EGL_PROF_MEMORY_USAGE_THRESHOLD_NOK 0x3077 williamr@4: typedef TUint64 EGLNativeProcessIdTypeNOK; williamr@4: #ifdef EGL_EGLEXT_PROTOTYPES williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglQueryProfilingDataNOK(EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count); williamr@4: #endif /* EGL_EGLEXT_PROTOTYPES */ williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYPROFILINGDATANOKPROC) (EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count); williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_KHR_reusable_sync williamr@4: #define EGL_KHR_reusable_sync 1 williamr@4: /* Accepted by the parameter of eglCreateSyncKHR, and returned williamr@4: in when eglGetSyncAttribKHR is called with williamr@4: EGL_SYNC_TYPE_KHR */ williamr@4: #define EGL_SYNC_REUSABLE_KHR 0x30FA williamr@4: /* Accepted by the parameter of eglGetSyncAttribKHR */ williamr@4: #define EGL_SYNC_TYPE_KHR 0x30F7 williamr@4: #define EGL_SYNC_STATUS_KHR 0x30F1 williamr@4: /* Accepted by the parameter of eglSignalSyncKHR and returned in williamr@4: when eglGetSyncAttribKHR is called with williamr@4: EGL_SYNC_STATUS_KHR */ williamr@4: #define EGL_SIGNALED_KHR 0x30F2 williamr@4: #define EGL_UNSIGNALED_KHR 0x30F3 williamr@4: /* Accepted in the parameter of eglClientWaitSyncKHR */ williamr@4: #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 williamr@4: /* Accepted in the parameter of eglClientWaitSyncKHR */ williamr@4: #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull williamr@4: /* Returned by eglClientWaitSyncKHR */ williamr@4: #define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 williamr@4: #define EGL_CONDITION_SATISFIED_KHR 0x30F6 williamr@4: /* EGLSyncKHR is an opaque handle to an EGL sync object */ williamr@4: typedef void* EGLSyncKHR; williamr@4: /* EGLTimeKHR is a 64-bit unsigned integer representing intervals in nanoseconds. */ williamr@4: typedef khronos_utime_nanoseconds_t EGLTimeKHR; williamr@4: /* Returned by eglCreateSyncKHR in the event of an error */ williamr@4: #define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) williamr@4: #ifdef EGL_EGLEXT_PROTOTYPES williamr@4: EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); williamr@4: EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); williamr@4: #endif /* EGL_EGLEXT_PROTOTYPES */ williamr@4: typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); williamr@4: typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); williamr@4: #endif williamr@4: williamr@4: #ifndef EGL_NOK_swap_region williamr@4: #define EGL_NOK_swap_region 1 williamr@4: #ifdef EGL_EGLEXT_PROTOTYPES williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); williamr@4: #endif /* EGL_EGLEXT_PROTOTYPES */ williamr@4: typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); williamr@4: #endif williamr@4: williamr@4: williamr@4: #ifndef EGL_NOK_ENDPOINT williamr@4: #define EGL_NOK_ENDPOINT 1 williamr@4: /* Endpoint datatype */ williamr@4: typedef void* EGLEndpointNOK; williamr@4: typedef void* EGLTRequestStatusNOK; williamr@4: typedef void* EGLEndpointSourceNOK; williamr@4: /* Endpoint constant */ williamr@4: #define EGL_ENDPOINT_TYPE_CONSUMER_NOK 0x30D5 williamr@4: #define EGL_TSURFACEID_NOK 0x30D3 williamr@4: /* Endpoint invalid parameter */ williamr@4: #define EGL_NO_ENDPOINT_NOK ((EGLEndpointNOK)0) williamr@4: /* Endpoint error code */ williamr@4: #define EGL_BAD_ENDPOINT_NOK 0x30D4 williamr@4: /* Endpoint attribute keys */ williamr@4: #define EGL_ENDPOINT_READY_NOK 0x30D6 williamr@4: #define EGL_DELAY_NOK 0x30D7 williamr@4: williamr@4: #ifdef EGL_EGLEXT_PROTOTYPES williamr@4: EGLAPI EGLEndpointNOK EGLAPIENTRY eglCreateEndpointNOK(EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint *attrib_list); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglDestroyEndpointNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: EGLAPI EGLint EGLAPIENTRY eglGetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglSetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointBeginStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointEndStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: EGLAPI EGLImageKHR EGLAPIENTRY eglAcquireImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglReleaseImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api); williamr@4: EGLAPI EGLint EGLAPIENTRY eglGetEndpointDirtyAreaNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects, EGLBoolean collapse); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointRequestNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync); williamr@4: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointCancelNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: #endif williamr@4: williamr@4: typedef EGLEndpointNOK ( *PFNEGLCREATEENDPOINTNOKPROC) (EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint* attrib_list); williamr@4: typedef EGLBoolean ( *PFNEGLDESTROYENDPOINTNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: typedef EGLint ( *PFNEGLGETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib); williamr@4: typedef EGLBoolean ( *PFNEGLSETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value); williamr@4: typedef EGLBoolean ( *PFNEGLENDPOINTBEGINSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: typedef EGLBoolean ( *PFNEGLENDPOINTENDSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: typedef EGLImageKHR ( *PFNEGLACQUIREIMAGENOKPROC)(EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: typedef EGLBoolean ( *PFNEGLRELEASEIMAGENOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api); williamr@4: typedef EGLint ( *PFNEGLGETENDPOINTDIRTYAREANOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects, EGLBoolean collapse); williamr@4: typedef EGLBoolean ( *PFNEGLENDPOINTREQUESTNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync); williamr@4: typedef EGLBoolean ( *PFNEGLENDPOINTCANCELNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); williamr@4: #endif williamr@4: williamr@4: #ifdef __cplusplus williamr@4: } williamr@4: #endif williamr@4: williamr@4: #endif