os/graphics/egl/eglinterface/include/1.4/eglext.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
sl@0
     2
#ifndef __eglext_h_
sl@0
     3
#define __eglext_h_
sl@0
     4
sl@0
     5
#ifdef __cplusplus
sl@0
     6
extern "C" {
sl@0
     7
#endif
sl@0
     8
sl@0
     9
/*
sl@0
    10
** Copyright (c) 2007-2010 The Khronos Group Inc.
sl@0
    11
**
sl@0
    12
** Permission is hereby granted, free of charge, to any person obtaining a
sl@0
    13
** copy of this software and/or associated documentation files (the
sl@0
    14
** "Materials"), to deal in the Materials without restriction, including
sl@0
    15
** without limitation the rights to use, copy, modify, merge, publish,
sl@0
    16
** distribute, sublicense, and/or sell copies of the Materials, and to
sl@0
    17
** permit persons to whom the Materials are furnished to do so, subject to
sl@0
    18
** the following conditions:
sl@0
    19
**
sl@0
    20
** The above copyright notice and this permission notice shall be included
sl@0
    21
** in all copies or substantial portions of the Materials.
sl@0
    22
**
sl@0
    23
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
sl@0
    24
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
sl@0
    25
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
sl@0
    26
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
sl@0
    27
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
sl@0
    28
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
sl@0
    29
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
sl@0
    30
*/
sl@0
    31
sl@0
    32
/**
sl@0
    33
@publishedAll
sl@0
    34
@released
sl@0
    35
*/
sl@0
    36
sl@0
    37
/* differences from the actual sample implementation provided by Khronos:
sl@0
    38
- this comment
sl@0
    39
- the Doxygen comment with tag 'publishedAll', and tag 'released'
sl@0
    40
- changing platform-dependant header name from <EGL/eglplatform.h> to <EGL/egltypes.h>
sl@0
    41
- EGLImageKHR definition is consistent with other EGL objects, i.e. is defined as integer 
sl@0
    42
  instead of pointer to void.
sl@0
    43
- macro EGL_IMAGE_PRESERVED_SYMBIAN introduced in this header represents EGL_IMAGE_PRESERVED_KHR
sl@0
    44
  macro defined in Khronos spec. Note that it has been retained temporarily for compatibility reasons 
sl@0
    45
  and it is advised to use Khronos macro instead.
sl@0
    46
- resource profiler and reusable sync object extensions are added
sl@0
    47
*/
sl@0
    48
sl@0
    49
#include <EGL/egltypes.h>
sl@0
    50
#include <khronos_types.h>
sl@0
    51
sl@0
    52
/*************************************************************/
sl@0
    53
sl@0
    54
#define EGL_EGLEXT_VERSION 3
sl@0
    55
sl@0
    56
#ifndef EGL_KHR_config_attribs
sl@0
    57
#define EGL_KHR_config_attribs 1
sl@0
    58
#define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
sl@0
    59
#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
sl@0
    60
#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
sl@0
    61
#endif
sl@0
    62
sl@0
    63
#ifndef EGL_KHR_lock_surface
sl@0
    64
#define EGL_KHR_lock_surface 1
sl@0
    65
#define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
sl@0
    66
#define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
sl@0
    67
#define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
sl@0
    68
#define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
sl@0
    69
#define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
sl@0
    70
#define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
sl@0
    71
#define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
sl@0
    72
#define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
sl@0
    73
#define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
sl@0
    74
#define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
sl@0
    75
#define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
sl@0
    76
#define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
sl@0
    77
#define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
sl@0
    78
#define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
sl@0
    79
#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
sl@0
    80
#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
sl@0
    81
#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
sl@0
    82
#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
sl@0
    83
#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
sl@0
    84
#define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
sl@0
    85
#define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
sl@0
    86
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
    87
EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
sl@0
    88
EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
sl@0
    89
#endif /* EGL_EGLEXT_PROTOTYPES */
sl@0
    90
typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
sl@0
    91
typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
sl@0
    92
#endif
sl@0
    93
sl@0
    94
#ifndef EGL_KHR_image
sl@0
    95
#define EGL_KHR_image 1
sl@0
    96
#define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
sl@0
    97
typedef int EGLImageKHR;
sl@0
    98
#define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
sl@0
    99
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
   100
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
sl@0
   101
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
sl@0
   102
#endif /* EGL_EGLEXT_PROTOTYPES */
sl@0
   103
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
sl@0
   104
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
sl@0
   105
#endif
sl@0
   106
sl@0
   107
#ifndef EGL_KHR_vg_parent_image
sl@0
   108
#define EGL_KHR_vg_parent_image 1
sl@0
   109
#define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
sl@0
   110
#endif
sl@0
   111
sl@0
   112
#ifndef EGL_KHR_gl_texture_2D_image
sl@0
   113
#define EGL_KHR_gl_texture_2D_image 1
sl@0
   114
#define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
sl@0
   115
#define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
sl@0
   116
#endif
sl@0
   117
sl@0
   118
#ifndef EGL_KHR_gl_texture_cubemap_image
sl@0
   119
#define EGL_KHR_gl_texture_cubemap_image 1
sl@0
   120
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
sl@0
   121
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
sl@0
   122
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
sl@0
   123
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
sl@0
   124
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
sl@0
   125
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
sl@0
   126
#endif
sl@0
   127
sl@0
   128
#ifndef EGL_KHR_gl_texture_3D_image
sl@0
   129
#define EGL_KHR_gl_texture_3D_image 1
sl@0
   130
#define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
sl@0
   131
#define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
sl@0
   132
#endif
sl@0
   133
sl@0
   134
#ifndef EGL_KHR_gl_renderbuffer_image
sl@0
   135
#define EGL_KHR_gl_renderbuffer_image 1
sl@0
   136
#define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
sl@0
   137
#endif
sl@0
   138
sl@0
   139
#ifndef EGL_KHR_image_base
sl@0
   140
#define EGL_KHR_image_base 1
sl@0
   141
/* Most interfaces defined by EGL_KHR_image_pixmap above */
sl@0
   142
#define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
sl@0
   143
#endif
sl@0
   144
sl@0
   145
#ifndef EGL_KHR_image_pixmap
sl@0
   146
#define EGL_KHR_image_pixmap 1
sl@0
   147
/* Interfaces defined by EGL_KHR_image above */
sl@0
   148
#endif
sl@0
   149
sl@0
   150
#ifndef EGL_SYMBIAN_image_preserved
sl@0
   151
#define EGL_SYMBIAN_image_preserved 1
sl@0
   152
/* The following macro was retained for compatibility reasons and will be removed soon. 
sl@0
   153
   For the new written code it is advised to use EGL_IMAGE_PRESERVED_KHR macro 
sl@0
   154
   defined in Khronos spec. */
sl@0
   155
#define EGL_IMAGE_PRESERVED_SYMBIAN		0x30D2	/* eglCreateImageKHR attribute */
sl@0
   156
#endif
sl@0
   157
sl@0
   158
#ifndef EGL_NOK_resource_profiling2
sl@0
   159
#define EGL_NOK_resource_profiling2 1
sl@0
   160
/* Accepted by the <query_bits> parameter of eglQueryProfilingDataNOK */
sl@0
   161
#define EGL_PROF_QUERY_GLOBAL_BIT_NOK               0x0001
sl@0
   162
#define EGL_PROF_QUERY_MEMORY_USAGE_BIT_NOK         0x0002
sl@0
   163
/* Returned as attribute identifiers by eglQueryProfilingDataNOK */
sl@0
   164
#define EGL_PROF_TOTAL_MEMORY_NOK                   0x3070
sl@0
   165
#define EGL_PROF_USED_MEMORY_NOK                    0x3071
sl@0
   166
#define EGL_PROF_PROCESS_ID_NOK                      0x3072
sl@0
   167
#define EGL_PROF_PROCESS_USED_PRIVATE_MEMORY_NOK     0x3073
sl@0
   168
#define EGL_PROF_PROCESS_USED_SHARED_MEMORY_NOK      0x3074
sl@0
   169
/* Accepted as the <type> parameter of eglCreateSyncKHR */
sl@0
   170
#define EGL_SYNC_RESOURCE_PROFILING_NOK             0x3078
sl@0
   171
/* Accepted as the value of the EGL_SYNC_CONDITION_KHR attribute passed in */
sl@0
   172
/* <attrib_list> for eglCreateSyncKHR, and returned in <value> when */
sl@0
   173
/* eglGetSyncAttribKHR is called with <attribute> EGL_SYNC_CONDITION_KHR */
sl@0
   174
#define EGL_PROF_TOTAL_MEMORY_USAGE_GT_NOK          0x3075
sl@0
   175
#define EGL_PROF_TOTAL_MEMORY_USAGE_LT_NOK          0x3076
sl@0
   176
/* Accepted as an attribute name in the <attrib_list> parameter of */
sl@0
   177
/* eglCreateSyncKHR and in <attribute> for eglGetSyncAttribKHR */
sl@0
   178
#define EGL_PROF_MEMORY_USAGE_THRESHOLD_NOK         0x3077
sl@0
   179
typedef TUint64 EGLNativeProcessIdTypeNOK;
sl@0
   180
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
   181
EGLAPI EGLBoolean EGLAPIENTRY eglQueryProfilingDataNOK(EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count);
sl@0
   182
#endif /* EGL_EGLEXT_PROTOTYPES */
sl@0
   183
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYPROFILINGDATANOKPROC) (EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count);
sl@0
   184
#endif
sl@0
   185
sl@0
   186
#ifndef EGL_KHR_reusable_sync
sl@0
   187
#define EGL_KHR_reusable_sync 1
sl@0
   188
/* Accepted by the <type> parameter of eglCreateSyncKHR, and returned
sl@0
   189
in <value> when eglGetSyncAttribKHR is called with <attribute>
sl@0
   190
EGL_SYNC_TYPE_KHR */
sl@0
   191
#define EGL_SYNC_REUSABLE_KHR                   0x30FA
sl@0
   192
/* Accepted by the <attribute> parameter of eglGetSyncAttribKHR */
sl@0
   193
#define EGL_SYNC_TYPE_KHR                       0x30F7
sl@0
   194
#define EGL_SYNC_STATUS_KHR                     0x30F1
sl@0
   195
/* Accepted by the <mode> parameter of eglSignalSyncKHR and returned in
sl@0
   196
<value> when eglGetSyncAttribKHR is called with <attribute>
sl@0
   197
EGL_SYNC_STATUS_KHR */
sl@0
   198
#define EGL_SIGNALED_KHR                        0x30F2
sl@0
   199
#define EGL_UNSIGNALED_KHR                      0x30F3
sl@0
   200
/* Accepted in the <flags> parameter of eglClientWaitSyncKHR */
sl@0
   201
#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR         0x0001
sl@0
   202
/* Accepted in the <timeout> parameter of eglClientWaitSyncKHR */
sl@0
   203
#define EGL_FOREVER_KHR                         0xFFFFFFFFFFFFFFFFull
sl@0
   204
/* Returned by eglClientWaitSyncKHR */
sl@0
   205
#define EGL_TIMEOUT_EXPIRED_KHR                 0x30F5
sl@0
   206
#define EGL_CONDITION_SATISFIED_KHR             0x30F6
sl@0
   207
/* EGLSyncKHR is an opaque handle to an EGL sync object */
sl@0
   208
typedef void* EGLSyncKHR;
sl@0
   209
/* EGLTimeKHR is a 64-bit unsigned integer representing intervals in nanoseconds. */
sl@0
   210
typedef khronos_utime_nanoseconds_t EGLTimeKHR;
sl@0
   211
/* Returned by eglCreateSyncKHR in the event of an error */
sl@0
   212
#define EGL_NO_SYNC_KHR                         ((EGLSyncKHR)0)
sl@0
   213
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
   214
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
sl@0
   215
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
sl@0
   216
EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
sl@0
   217
EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
sl@0
   218
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
sl@0
   219
#endif /* EGL_EGLEXT_PROTOTYPES */
sl@0
   220
typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
sl@0
   221
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
sl@0
   222
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
sl@0
   223
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
sl@0
   224
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
sl@0
   225
#endif
sl@0
   226
sl@0
   227
#ifndef EGL_NOK_swap_region
sl@0
   228
#define EGL_NOK_swap_region 1
sl@0
   229
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
   230
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
sl@0
   231
#endif /* EGL_EGLEXT_PROTOTYPES */
sl@0
   232
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
sl@0
   233
#endif
sl@0
   234
sl@0
   235
#ifndef EGL_NOK_ENDPOINT
sl@0
   236
#define EGL_NOK_ENDPOINT 1
sl@0
   237
/* Endpoint datatype */
sl@0
   238
typedef void* EGLEndpointNOK;
sl@0
   239
typedef void* EGLTRequestStatusNOK;
sl@0
   240
typedef void* EGLEndpointSourceNOK;
sl@0
   241
/* Endpoint constant */
sl@0
   242
#define EGL_ENDPOINT_TYPE_CONSUMER_NOK   0x30D5
sl@0
   243
#define EGL_TSURFACEID_NOK               0x30D3
sl@0
   244
/* Endpoint invalid parameter */
sl@0
   245
#define EGL_NO_ENDPOINT_NOK              ((EGLEndpointNOK)0)
sl@0
   246
/* Endpoint error code */
sl@0
   247
#define EGL_BAD_ENDPOINT_NOK             0x30D4
sl@0
   248
/* Endpoint attribute keys */
sl@0
   249
#define EGL_ENDPOINT_READY_NOK           0x30D6
sl@0
   250
#define EGL_DELAY_NOK                    0x30D7
sl@0
   251
sl@0
   252
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
   253
EGLAPI EGLEndpointNOK EGLAPIENTRY eglCreateEndpointNOK(EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint *attrib_list);
sl@0
   254
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyEndpointNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   255
EGLAPI EGLint EGLAPIENTRY eglGetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib);
sl@0
   256
EGLAPI EGLBoolean EGLAPIENTRY eglSetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value);
sl@0
   257
EGLAPI EGLBoolean EGLAPIENTRY eglEndpointBeginStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   258
EGLAPI EGLBoolean EGLAPIENTRY eglEndpointEndStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   259
EGLAPI EGLImageKHR EGLAPIENTRY eglAcquireImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   260
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api);
sl@0
   261
EGLAPI EGLint EGLAPIENTRY eglGetEndpointDirtyAreaNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects, EGLBoolean collapse); 
sl@0
   262
EGLAPI EGLBoolean EGLAPIENTRY eglEndpointRequestNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync);
sl@0
   263
EGLAPI EGLBoolean EGLAPIENTRY eglEndpointCancelNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   264
#endif
sl@0
   265
sl@0
   266
typedef EGLEndpointNOK (EGLAPIENTRYP PFNEGLCREATEENDPOINTNOKPROC) (EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint* attrib_list);
sl@0
   267
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYENDPOINTNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   268
typedef EGLint (EGLAPIENTRYP PFNEGLGETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib);
sl@0
   269
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value);
sl@0
   270
typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTBEGINSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   271
typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTENDSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   272
typedef EGLImageKHR  (EGLAPIENTRYP PFNEGLACQUIREIMAGENOKPROC)(EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   273
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASEIMAGENOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api);
sl@0
   274
typedef EGLint (EGLAPIENTRYP PFNEGLGETENDPOINTDIRTYAREANOKPROC) (EGLDisplay dpy,  EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects,  EGLBoolean collapse); 
sl@0
   275
typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTREQUESTNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync);
sl@0
   276
typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTCANCELNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
sl@0
   277
#endif
sl@0
   278
sl@0
   279
#ifndef EGL_SYMBIAN_COMPOSITION
sl@0
   280
#define EGL_SYMBIAN_COMPOSITION 1
sl@0
   281
/* Extension defines a behavioural change which does not introduce functions or tokens. */
sl@0
   282
/* The presence of this extension means that semi-transparent UI content can be displayed above EGL window surfaces. */
sl@0
   283
#endif  /* EGL_SYMBIAN_COMPOSITION */
sl@0
   284
sl@0
   285
#ifndef EGL_NOK_SURFACE_SCALING
sl@0
   286
#define EGL_NOK_SURFACE_SCALING 1
sl@0
   287
#define EGL_SURFACE_SCALING_NOK           0x30DD  /* Surface Scaling attribute for EGLConfig */
sl@0
   288
#define EGL_TARGET_EXTENT_OFFSET_X_NOK    0x3079  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   289
#define EGL_TARGET_EXTENT_OFFSET_Y_NOK    0x307A  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   290
#define EGL_TARGET_EXTENT_WIDTH_NOK       0x307B  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   291
#define EGL_TARGET_EXTENT_HEIGHT_NOK      0x307C  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   292
#define EGL_BORDER_COLOR_RED_NOK          0x307D  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   293
#define EGL_BORDER_COLOR_GREEN_NOK        0x307E  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   294
#define EGL_BORDER_COLOR_BLUE_NOK         0x30D8  /* attribute for eglCreateWindowSurface and eglQuerySurface */
sl@0
   295
#define EGL_FIXED_WIDTH_NOK               0x30DB  /* attribute for eglCreateWindowSurface */
sl@0
   296
#define EGL_FIXED_HEIGHT_NOK              0x30DC  /* attribute for eglCreateWindowSurface */
sl@0
   297
sl@0
   298
/* Tokens returned by eglQuerySurfaceScalingCapabilityNOK */
sl@0
   299
#define EGL_NOT_SUPPORTED_NOK   0
sl@0
   300
#define EGL_SUPPORTED_NOK       1
sl@0
   301
#define EGL_SLOW_NOK            3
sl@0
   302
sl@0
   303
#ifdef EGL_EGLEXT_PROTOTYPES
sl@0
   304
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfaceScalingCapabilityNOK(EGLDisplay dpy, EGLConfig config, EGLint surface_width, EGLint surface_height, EGLint target_width, EGLint target_height, EGLint *value);
sl@0
   305
EGLAPI EGLBoolean EGLAPIENTRY eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, EGLint target_offset_x, EGLint target_offset_y, EGLint target_width, EGLint target_height);
sl@0
   306
#endif
sl@0
   307
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACESCALINGCAPABILITYNOKPROC)(EGLDisplay dpy, EGLConfig config, EGLint surface_width, EGLint surface_height, EGLint target_width, EGLint target_height, EGLint *value);
sl@0
   308
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSURFACESCALINGNOKPROC)(EGLDisplay dpy, EGLSurface surface, EGLint target_offset_x, EGLint target_offset_y, EGLint target_width, EGLint target_height);
sl@0
   309
#endif /* EGL_NOK_SURFACE_SCALING */
sl@0
   310
sl@0
   311
#ifdef __cplusplus
sl@0
   312
}
sl@0
   313
#endif
sl@0
   314
sl@0
   315
#endif