Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1901 serge 1
#ifndef __eglext_h_
2
#define __eglext_h_
3
 
4
#ifdef __cplusplus
5
extern "C" {
6
#endif
7
 
8
/*
9
** Copyright (c) 2007-2010 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 
32
 
33
/*************************************************************/
34
 
35
/* Header file version number */
36
/* Current version at http://www.khronos.org/registry/egl/ */
37
/* $Revision: 12124 $ on $Date: 2010-07-27 20:12:35 -0700 (Tue, 27 Jul 2010) $ */
38
#define EGL_EGLEXT_VERSION 7
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_MESA_drm_image
124
#define EGL_MESA_drm_image 1
125
#define EGL_DRM_BUFFER_FORMAT_MESA		0x31D0	/* eglCreateImageKHR attribute */
126
#define EGL_DRM_BUFFER_USE_MESA			0x31D1
127
 
128
/* EGL_DRM_BUFFER_FORMAT_MESA tokens */
129
#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA	0x31D2
130
 
131
/* EGL_DRM_BUFFER_USE_MESA bits */
132
#define EGL_DRM_BUFFER_USE_SCANOUT_MESA		0x0001
133
#define EGL_DRM_BUFFER_USE_SHARE_MESA		0x0002
134
 
135
#define EGL_DRM_BUFFER_MESA			0x31D3  /* eglCreateImageKHR target */
136
#define EGL_DRM_BUFFER_STRIDE_MESA		0x31D4	/* eglCreateImageKHR attribute */
137
 
138
#ifdef EGL_EGLEXT_PROTOTYPES
139
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attrib_list);
140
EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA(EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
141
#endif
142
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESA) (EGLDisplay dpy, const EGLint *attrib_list);
143
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESA) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
144
#endif
145
 
146
#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
147
#ifndef EGL_KHR_reusable_sync
148
#define EGL_KHR_reusable_sync 1
149
 
150
typedef void* EGLSyncKHR;
151
typedef khronos_utime_nanoseconds_t EGLTimeKHR;
152
 
153
#define EGL_SYNC_STATUS_KHR			0x30F1
154
#define EGL_SIGNALED_KHR			0x30F2
155
#define EGL_UNSIGNALED_KHR			0x30F3
156
#define EGL_TIMEOUT_EXPIRED_KHR			0x30F5
157
#define EGL_CONDITION_SATISFIED_KHR		0x30F6
158
#define EGL_SYNC_TYPE_KHR			0x30F7
159
#define EGL_SYNC_REUSABLE_KHR			0x30FA
160
#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR		0x0001	/* eglClientWaitSyncKHR  bitfield */
161
#define EGL_FOREVER_KHR				0xFFFFFFFFFFFFFFFFull
162
#define EGL_NO_SYNC_KHR				((EGLSyncKHR)0)
163
#ifdef EGL_EGLEXT_PROTOTYPES
164
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
165
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
166
EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
167
EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
168
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
169
#endif /* EGL_EGLEXT_PROTOTYPES */
170
typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
171
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
172
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
173
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
174
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
175
#endif
176
#endif
177
 
178
/* EGL_MESA_screen extension  >>> PRELIMINARY <<< */
179
#ifndef EGL_MESA_screen_surface
180
#define EGL_MESA_screen_surface 1
181
 
182
#define EGL_BAD_SCREEN_MESA                    0x4000
183
#define EGL_BAD_MODE_MESA                      0x4001
184
#define EGL_SCREEN_COUNT_MESA                  0x4002
185
#define EGL_SCREEN_POSITION_MESA               0x4003
186
#define EGL_SCREEN_POSITION_GRANULARITY_MESA   0x4004
187
#define EGL_MODE_ID_MESA                       0x4005
188
#define EGL_REFRESH_RATE_MESA                  0x4006
189
#define EGL_OPTIMAL_MESA                       0x4007
190
#define EGL_INTERLACED_MESA                    0x4008
191
#define EGL_SCREEN_BIT_MESA                    0x08
192
 
193
typedef khronos_uint32_t EGLScreenMESA;
194
typedef khronos_uint32_t EGLModeMESA;
195
 
196
#ifdef EGL_EGLEXT_PROTOTYPES
197
EGLAPI EGLBoolean EGLAPIENTRY eglChooseModeMESA(EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
198
EGLAPI EGLBoolean EGLAPIENTRY eglGetModesMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
199
EGLAPI EGLBoolean EGLAPIENTRY eglGetModeAttribMESA(EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value);
200
EGLAPI EGLBoolean EGLAPIENTRY eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
201
EGLAPI EGLSurface EGLAPIENTRY eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
202
EGLAPI EGLBoolean EGLAPIENTRY eglShowScreenSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode);
203
EGLAPI EGLBoolean EGLAPIENTRY eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y);
204
EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value);
205
EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface);
206
EGLAPI EGLBoolean EGLAPIENTRY eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode);
207
EGLAPI const char * EGLAPIENTRY eglQueryModeStringMESA(EGLDisplay dpy, EGLModeMESA mode);
208
#endif /* EGL_EGLEXT_PROTOTYPES */
209
 
210
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSEMODEMESA) (EGLDisplay dpy, EGLScreenMESA screen, const EGLint *attrib_list, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
211
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMODESMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *modes, EGLint modes_size, EGLint *num_modes);
212
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGetModeATTRIBMESA) (EGLDisplay dpy, EGLModeMESA mode, EGLint attribute, EGLint *value);
213
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSCRREENSMESA) (EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EGLint *num_screens);
214
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESCREENSURFACEMESA) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
215
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSHOWSCREENSURFACEMESA) (EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode);
216
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSCREENPOSIITONMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y);
217
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value);
218
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENSURFACEMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface);
219
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSCREENMODEMESA) (EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode);
220
typedef const char * (EGLAPIENTRYP PFNEGLQUERYMODESTRINGMESA) (EGLDisplay dpy, EGLModeMESA mode);
221
 
222
#endif /* EGL_MESA_screen_surface */
223
 
224
 
225
#ifndef EGL_MESA_copy_context
226
#define EGL_MESA_copy_context 1
227
 
228
#ifdef EGL_EGLEXT_PROTOTYPES
229
EGLAPI EGLBoolean EGLAPIENTRY eglCopyContextMESA(EGLDisplay dpy, EGLContext source, EGLContext dest, EGLint mask);
230
#endif /* EGL_EGLEXT_PROTOTYPES */
231
 
232
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYCONTEXTMESA) (EGLDisplay dpy, EGLContext source, EGLContext dest, EGLint mask);
233
 
234
#endif /* EGL_MESA_copy_context */
235
 
236
#ifndef EGL_MESA_drm_display
237
#define EGL_MESA_drm_display 1
238
 
239
#ifdef EGL_EGLEXT_PROTOTYPES
240
EGLAPI EGLDisplay EGLAPIENTRY eglGetDRMDisplayMESA(int fd);
241
#endif /* EGL_EGLEXT_PROTOTYPES */
242
 
243
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDRMDISPLAYMESA) (int fd);
244
 
245
#endif /* EGL_MESA_drm_display */
246
 
247
#ifndef EGL_KHR_image_base
248
#define EGL_KHR_image_base 1
249
/* Most interfaces defined by EGL_KHR_image_pixmap above */
250
#define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
251
#endif
252
 
253
#ifndef EGL_KHR_image_pixmap
254
#define EGL_KHR_image_pixmap 1
255
/* Interfaces defined by EGL_KHR_image above */
256
#endif
257
 
258
#ifndef EGL_IMG_context_priority
259
#define EGL_IMG_context_priority 1
260
#define EGL_CONTEXT_PRIORITY_LEVEL_IMG		0x3100
261
#define EGL_CONTEXT_PRIORITY_HIGH_IMG		0x3101
262
#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG		0x3102
263
#define EGL_CONTEXT_PRIORITY_LOW_IMG		0x3103
264
#endif
265
 
266
#ifndef EGL_KHR_lock_surface2
267
#define EGL_KHR_lock_surface2 1
268
#define EGL_BITMAP_PIXEL_SIZE_KHR		0x3110
269
#endif
270
 
271
#ifndef EGL_NV_coverage_sample
272
#define EGL_NV_coverage_sample 1
273
#define EGL_COVERAGE_BUFFERS_NV 0x30E0
274
#define EGL_COVERAGE_SAMPLES_NV 0x30E1
275
#endif
276
 
277
#ifndef EGL_NV_depth_nonlinear
278
#define EGL_NV_depth_nonlinear 1
279
#define EGL_DEPTH_ENCODING_NV 0x30E2
280
#define EGL_DEPTH_ENCODING_NONE_NV 0
281
#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
282
#endif
283
 
284
#if KHRONOS_SUPPORT_INT64   /* EGLTimeNV requires 64-bit uint support */
285
#ifndef EGL_NV_sync
286
#define EGL_NV_sync 1
287
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV	0x30E6
288
#define EGL_SYNC_STATUS_NV			0x30E7
289
#define EGL_SIGNALED_NV				0x30E8
290
#define EGL_UNSIGNALED_NV			0x30E9
291
#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV		0x0001
292
#define EGL_FOREVER_NV				0xFFFFFFFFFFFFFFFFull
293
#define EGL_ALREADY_SIGNALED_NV			0x30EA
294
#define EGL_TIMEOUT_EXPIRED_NV			0x30EB
295
#define EGL_CONDITION_SATISFIED_NV		0x30EC
296
#define EGL_SYNC_TYPE_NV			0x30ED
297
#define EGL_SYNC_CONDITION_NV			0x30EE
298
#define EGL_SYNC_FENCE_NV			0x30EF
299
#define EGL_NO_SYNC_NV				((EGLSyncNV)0)
300
typedef void* EGLSyncNV;
301
typedef khronos_utime_nanoseconds_t EGLTimeNV;
302
#ifdef EGL_EGLEXT_PROTOTYPES
303
EGLSyncNV eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
304
EGLBoolean eglDestroySyncNV (EGLSyncNV sync);
305
EGLBoolean eglFenceNV (EGLSyncNV sync);
306
EGLint eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
307
EGLBoolean eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
308
EGLBoolean eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
309
#endif /* EGL_EGLEXT_PROTOTYPES */
310
typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
311
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
312
typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
313
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
314
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
315
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
316
#endif
317
#endif
318
 
319
#if KHRONOS_SUPPORT_INT64   /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */
320
#ifndef EGL_KHR_fence_sync
321
#define EGL_KHR_fence_sync 1
322
/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */
323
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR	0x30F0
324
#define EGL_SYNC_CONDITION_KHR			0x30F8
325
#define EGL_SYNC_FENCE_KHR			0x30F9
326
#endif
327
#endif
328
 
329
#ifndef EGL_HI_clientpixmap
330
#define EGL_HI_clientpixmap 1
331
 
332
/* Surface Attribute */
333
#define EGL_CLIENT_PIXMAP_POINTER_HI		0x8F74
334
/*
335
 * Structure representing a client pixmap
336
 * (pixmap's data is in client-space memory).
337
 */
338
struct EGLClientPixmapHI
339
{
340
	void*		pData;
341
	EGLint		iWidth;
342
	EGLint		iHeight;
343
	EGLint		iStride;
344
};
345
 
346
#ifdef EGL_EGLEXT_PROTOTYPES
347
EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
348
#endif /* EGL_EGLEXT_PROTOTYPES */
349
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
350
#endif	/* EGL_HI_clientpixmap */
351
 
352
#ifndef EGL_HI_colorformats
353
#define EGL_HI_colorformats 1
354
/* Config Attribute */
355
#define EGL_COLOR_FORMAT_HI			0x8F70
356
/* Color Formats */
357
#define EGL_COLOR_RGB_HI			0x8F71
358
#define EGL_COLOR_RGBA_HI			0x8F72
359
#define EGL_COLOR_ARGB_HI			0x8F73
360
#endif /* EGL_HI_colorformats */
361
 
362
#ifndef EGL_NOK_swap_region
363
#define EGL_NOK_swap_region 1
364
 
365
#ifdef EGL_EGLEXT_PROTOTYPES
366
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint* rects);
367
#endif
368
 
369
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOK) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint* rects);
370
#endif
371
 
372
 
373
#ifndef EGL_NOK_texture_from_pixmap
374
#define EGL_NOK_texture_from_pixmap 1
375
 
376
#define EGL_Y_INVERTED_NOK			0x307F
377
#endif /* EGL_NOK_texture_from_pixmap */
378
 
379
 
380
#ifdef __cplusplus
381
}
382
#endif
383
 
384
#endif