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 __gl2ext_h_
2
#define __gl2ext_h_
3
 
4
/* $Revision: 10969 $ on $Date:: 2010-04-09 02:27:15 -0700 #$ */
5
 
6
#ifdef __cplusplus
7
extern "C" {
8
#endif
9
 
10
/*
11
 * This document is licensed under the SGI Free Software B License Version
12
 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
13
 */
14
 
15
#ifndef GL_APIENTRYP
16
#   define GL_APIENTRYP GL_APIENTRY*
17
#endif
18
 
19
/*------------------------------------------------------------------------*
20
 * OES extension tokens
21
 *------------------------------------------------------------------------*/
22
 
23
/* GL_OES_compressed_ETC1_RGB8_texture */
24
#ifndef GL_OES_compressed_ETC1_RGB8_texture
25
#define GL_ETC1_RGB8_OES                                        0x8D64
26
#endif
27
 
28
/* GL_OES_compressed_paletted_texture */
29
#ifndef GL_OES_compressed_paletted_texture
30
#define GL_PALETTE4_RGB8_OES                                    0x8B90
31
#define GL_PALETTE4_RGBA8_OES                                   0x8B91
32
#define GL_PALETTE4_R5_G6_B5_OES                                0x8B92
33
#define GL_PALETTE4_RGBA4_OES                                   0x8B93
34
#define GL_PALETTE4_RGB5_A1_OES                                 0x8B94
35
#define GL_PALETTE8_RGB8_OES                                    0x8B95
36
#define GL_PALETTE8_RGBA8_OES                                   0x8B96
37
#define GL_PALETTE8_R5_G6_B5_OES                                0x8B97
38
#define GL_PALETTE8_RGBA4_OES                                   0x8B98
39
#define GL_PALETTE8_RGB5_A1_OES                                 0x8B99
40
#endif
41
 
42
/* GL_OES_depth24 */
43
#ifndef GL_OES_depth24
44
#define GL_DEPTH_COMPONENT24_OES                                0x81A6
45
#endif
46
 
47
/* GL_OES_depth32 */
48
#ifndef GL_OES_depth32
49
#define GL_DEPTH_COMPONENT32_OES                                0x81A7
50
#endif
51
 
52
/* GL_OES_depth_texture */
53
/* No new tokens introduced by this extension. */
54
 
55
/* GL_OES_EGL_image */
56
#ifndef GL_OES_EGL_image
57
typedef void* GLeglImageOES;
58
#endif
59
 
60
/* GL_OES_element_index_uint */
61
#ifndef GL_OES_element_index_uint
62
#define GL_UNSIGNED_INT                                         0x1405
63
#endif
64
 
65
/* GL_OES_get_program_binary */
66
#ifndef GL_OES_get_program_binary
67
#define GL_PROGRAM_BINARY_LENGTH_OES                            0x8741
68
#define GL_NUM_PROGRAM_BINARY_FORMATS_OES                       0x87FE
69
#define GL_PROGRAM_BINARY_FORMATS_OES                           0x87FF
70
#endif
71
 
72
/* GL_OES_mapbuffer */
73
#ifndef GL_OES_mapbuffer
74
#define GL_WRITE_ONLY_OES                                       0x88B9
75
#define GL_BUFFER_ACCESS_OES                                    0x88BB
76
#define GL_BUFFER_MAPPED_OES                                    0x88BC
77
#define GL_BUFFER_MAP_POINTER_OES                               0x88BD
78
#endif
79
 
80
/* GL_OES_packed_depth_stencil */
81
#ifndef GL_OES_packed_depth_stencil
82
#define GL_DEPTH_STENCIL_OES                                    0x84F9
83
#define GL_UNSIGNED_INT_24_8_OES                                0x84FA
84
#define GL_DEPTH24_STENCIL8_OES                                 0x88F0
85
#endif
86
 
87
/* GL_OES_rgb8_rgba8 */
88
#ifndef GL_OES_rgb8_rgba8
89
#define GL_RGB8_OES                                             0x8051
90
#define GL_RGBA8_OES                                            0x8058
91
#endif
92
 
93
/* GL_OES_standard_derivatives */
94
#ifndef GL_OES_standard_derivatives
95
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES                  0x8B8B
96
#endif
97
 
98
/* GL_OES_stencil1 */
99
#ifndef GL_OES_stencil1
100
#define GL_STENCIL_INDEX1_OES                                   0x8D46
101
#endif
102
 
103
/* GL_OES_stencil4 */
104
#ifndef GL_OES_stencil4
105
#define GL_STENCIL_INDEX4_OES                                   0x8D47
106
#endif
107
 
108
/* GL_OES_texture_3D */
109
#ifndef GL_OES_texture_3D
110
#define GL_TEXTURE_WRAP_R_OES                                   0x8072
111
#define GL_TEXTURE_3D_OES                                       0x806F
112
#define GL_TEXTURE_BINDING_3D_OES                               0x806A
113
#define GL_MAX_3D_TEXTURE_SIZE_OES                              0x8073
114
#define GL_SAMPLER_3D_OES                                       0x8B5F
115
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES        0x8CD4
116
#endif
117
 
118
/* GL_OES_texture_float */
119
/* No new tokens introduced by this extension. */
120
 
121
/* GL_OES_texture_float_linear */
122
/* No new tokens introduced by this extension. */
123
 
124
/* GL_OES_texture_half_float */
125
#ifndef GL_OES_texture_half_float
126
#define GL_HALF_FLOAT_OES                                       0x8D61
127
#endif
128
 
129
/* GL_OES_texture_half_float_linear */
130
/* No new tokens introduced by this extension. */
131
 
132
/* GL_OES_texture_npot */
133
/* No new tokens introduced by this extension. */
134
 
135
/* GL_OES_vertex_array_object */
136
#ifndef GL_OES_vertex_array_object
137
#define GL_VERTEX_ARRAY_BINDING_OES                             0x85B5
138
#endif
139
 
140
/* GL_OES_vertex_half_float */
141
/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */
142
 
143
/* GL_OES_vertex_type_10_10_10_2 */
144
#ifndef GL_OES_vertex_type_10_10_10_2
145
#define GL_UNSIGNED_INT_10_10_10_2_OES                          0x8DF6
146
#define GL_INT_10_10_10_2_OES                                   0x8DF7
147
#endif
148
 
149
/*------------------------------------------------------------------------*
150
 * AMD extension tokens
151
 *------------------------------------------------------------------------*/
152
 
153
/* GL_AMD_compressed_3DC_texture */
154
#ifndef GL_AMD_compressed_3DC_texture
155
#define GL_3DC_X_AMD                                            0x87F9
156
#define GL_3DC_XY_AMD                                           0x87FA
157
#endif
158
 
159
/* GL_AMD_compressed_ATC_texture */
160
#ifndef GL_AMD_compressed_ATC_texture
161
#define GL_ATC_RGB_AMD                                          0x8C92
162
#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD                          0x8C93
163
#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD                      0x87EE
164
#endif
165
 
166
/* GL_AMD_performance_monitor */
167
#ifndef GL_AMD_performance_monitor
168
#define GL_COUNTER_TYPE_AMD                                     0x8BC0
169
#define GL_COUNTER_RANGE_AMD                                    0x8BC1
170
#define GL_UNSIGNED_INT64_AMD                                   0x8BC2
171
#define GL_PERCENTAGE_AMD                                       0x8BC3
172
#define GL_PERFMON_RESULT_AVAILABLE_AMD                         0x8BC4
173
#define GL_PERFMON_RESULT_SIZE_AMD                              0x8BC5
174
#define GL_PERFMON_RESULT_AMD                                   0x8BC6
175
#endif
176
 
177
/* GL_AMD_program_binary_Z400 */
178
#ifndef GL_AMD_program_binary_Z400
179
#define GL_Z400_BINARY_AMD                                      0x8740
180
#endif
181
 
182
/*------------------------------------------------------------------------*
183
 * EXT extension tokens
184
 *------------------------------------------------------------------------*/
185
 
186
/* GL_EXT_blend_minmax */
187
#ifndef GL_EXT_blend_minmax
188
#define GL_MIN_EXT                                              0x8007
189
#define GL_MAX_EXT                                              0x8008
190
#endif
191
 
192
/* GL_EXT_discard_framebuffer */
193
#ifndef GL_EXT_discard_framebuffer
194
#define GL_COLOR_EXT                                            0x1800
195
#define GL_DEPTH_EXT                                            0x1801
196
#define GL_STENCIL_EXT                                          0x1802
197
#endif
198
 
199
/* GL_EXT_multi_draw_arrays */
200
/* No new tokens introduced by this extension. */
201
 
202
/* GL_EXT_read_format_bgra */
203
#ifndef GL_EXT_read_format_bgra
204
#define GL_BGRA_EXT                                             0x80E1
205
#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT                       0x8365
206
#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT                       0x8366
207
#endif
208
 
209
/* GL_EXT_texture_filter_anisotropic */
210
#ifndef GL_EXT_texture_filter_anisotropic
211
#define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
212
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
213
#endif
214
 
215
/* GL_EXT_texture_format_BGRA8888 */
216
#ifndef GL_EXT_texture_format_BGRA8888
217
#define GL_BGRA_EXT                                             0x80E1
218
#endif
219
 
220
/* GL_EXT_texture_type_2_10_10_10_REV */
221
#ifndef GL_EXT_texture_type_2_10_10_10_REV
222
#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT                      0x8368
223
#endif
224
 
225
/* GL_EXT_texture_compression_dxt1 */
226
#ifndef GL_EXT_texture_compression_dxt1
227
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT                         0x83F0
228
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT                        0x83F1
229
#endif
230
 
231
/*------------------------------------------------------------------------*
232
 * IMG extension tokens
233
 *------------------------------------------------------------------------*/
234
 
235
/* GL_IMG_program_binary */
236
#ifndef GL_IMG_program_binary
237
#define GL_SGX_PROGRAM_BINARY_IMG                               0x9130
238
#endif
239
 
240
/* GL_IMG_read_format */
241
#ifndef GL_IMG_read_format
242
#define GL_BGRA_IMG                                             0x80E1
243
#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG                       0x8365
244
#endif
245
 
246
/* GL_IMG_shader_binary */
247
#ifndef GL_IMG_shader_binary
248
#define GL_SGX_BINARY_IMG                                       0x8C0A
249
#endif
250
 
251
/* GL_IMG_texture_compression_pvrtc */
252
#ifndef GL_IMG_texture_compression_pvrtc
253
#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG                      0x8C00
254
#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG                      0x8C01
255
#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG                     0x8C02
256
#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG                     0x8C03
257
#endif
258
 
259
/* GL_IMG_multisampled_render_to_texture */
260
#ifndef GL_IMG_multisampled_render_to_texture
261
#define GL_RENDERBUFFER_SAMPLES_IMG                             0x9133
262
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG               0x9134
263
#define GL_MAX_SAMPLES_IMG                                      0x9135
264
#define GL_TEXTURE_SAMPLES_IMG                                  0x9136
265
#endif
266
 
267
/*------------------------------------------------------------------------*
268
 * NV extension tokens
269
 *------------------------------------------------------------------------*/
270
 
271
/* GL_NV_fence */
272
#ifndef GL_NV_fence
273
#define GL_ALL_COMPLETED_NV                                     0x84F2
274
#define GL_FENCE_STATUS_NV                                      0x84F3
275
#define GL_FENCE_CONDITION_NV                                   0x84F4
276
#endif
277
 
278
/* GL_NV_coverage_sample */
279
#ifndef GL_NV_coverage_sample
280
#define GL_COVERAGE_COMPONENT_NV                                0x8ED0
281
#define GL_COVERAGE_COMPONENT4_NV                               0x8ED1
282
#define GL_COVERAGE_ATTACHMENT_NV                               0x8ED2
283
#define GL_COVERAGE_BUFFERS_NV                                  0x8ED3
284
#define GL_COVERAGE_SAMPLES_NV                                  0x8ED4
285
#define GL_COVERAGE_ALL_FRAGMENTS_NV                            0x8ED5
286
#define GL_COVERAGE_EDGE_FRAGMENTS_NV                           0x8ED6
287
#define GL_COVERAGE_AUTOMATIC_NV                                0x8ED7
288
#define GL_COVERAGE_BUFFER_BIT_NV                               0x8000
289
#endif
290
 
291
/* GL_NV_depth_nonlinear */
292
#ifndef GL_NV_depth_nonlinear
293
#define GL_DEPTH_COMPONENT16_NONLINEAR_NV                       0x8E2C
294
#endif
295
 
296
/*------------------------------------------------------------------------*
297
 * QCOM extension tokens
298
 *------------------------------------------------------------------------*/
299
 
300
/* GL_QCOM_driver_control */
301
/* No new tokens introduced by this extension. */
302
 
303
/* GL_QCOM_extended_get */
304
#ifndef GL_QCOM_extended_get
305
#define GL_TEXTURE_WIDTH_QCOM                                   0x8BD2
306
#define GL_TEXTURE_HEIGHT_QCOM                                  0x8BD3
307
#define GL_TEXTURE_DEPTH_QCOM                                   0x8BD4
308
#define GL_TEXTURE_INTERNAL_FORMAT_QCOM                         0x8BD5
309
#define GL_TEXTURE_FORMAT_QCOM                                  0x8BD6
310
#define GL_TEXTURE_TYPE_QCOM                                    0x8BD7
311
#define GL_TEXTURE_IMAGE_VALID_QCOM                             0x8BD8
312
#define GL_TEXTURE_NUM_LEVELS_QCOM                              0x8BD9
313
#define GL_TEXTURE_TARGET_QCOM                                  0x8BDA
314
#define GL_TEXTURE_OBJECT_VALID_QCOM                            0x8BDB
315
#define GL_STATE_RESTORE                                        0x8BDC
316
#endif
317
 
318
/* GL_QCOM_extended_get2 */
319
/* No new tokens introduced by this extension. */
320
 
321
/* GL_QCOM_perfmon_global_mode */
322
#ifndef GL_QCOM_perfmon_global_mode
323
#define GL_PERFMON_GLOBAL_MODE_QCOM                             0x8FA0
324
#endif
325
 
326
/* GL_QCOM_writeonly_rendering */
327
#ifndef GL_QCOM_writeonly_rendering
328
#define GL_WRITEONLY_RENDERING_QCOM                             0x8823
329
#endif
330
 
331
/* GL_QCOM_tiled_rendering */
332
#ifndef GL_QCOM_tiled_rendering
333
#define GL_COLOR_BUFFER_BIT0_QCOM                               0x00000001
334
#define GL_COLOR_BUFFER_BIT1_QCOM                               0x00000002
335
#define GL_COLOR_BUFFER_BIT2_QCOM                               0x00000004
336
#define GL_COLOR_BUFFER_BIT3_QCOM                               0x00000008
337
#define GL_COLOR_BUFFER_BIT4_QCOM                               0x00000010
338
#define GL_COLOR_BUFFER_BIT5_QCOM                               0x00000020
339
#define GL_COLOR_BUFFER_BIT6_QCOM                               0x00000040
340
#define GL_COLOR_BUFFER_BIT7_QCOM                               0x00000080
341
#define GL_DEPTH_BUFFER_BIT0_QCOM                               0x00000100
342
#define GL_DEPTH_BUFFER_BIT1_QCOM                               0x00000200
343
#define GL_DEPTH_BUFFER_BIT2_QCOM                               0x00000400
344
#define GL_DEPTH_BUFFER_BIT3_QCOM                               0x00000800
345
#define GL_DEPTH_BUFFER_BIT4_QCOM                               0x00001000
346
#define GL_DEPTH_BUFFER_BIT5_QCOM                               0x00002000
347
#define GL_DEPTH_BUFFER_BIT6_QCOM                               0x00004000
348
#define GL_DEPTH_BUFFER_BIT7_QCOM                               0x00008000
349
#define GL_STENCIL_BUFFER_BIT0_QCOM                             0x00010000
350
#define GL_STENCIL_BUFFER_BIT1_QCOM                             0x00020000
351
#define GL_STENCIL_BUFFER_BIT2_QCOM                             0x00040000
352
#define GL_STENCIL_BUFFER_BIT3_QCOM                             0x00080000
353
#define GL_STENCIL_BUFFER_BIT4_QCOM                             0x00100000
354
#define GL_STENCIL_BUFFER_BIT5_QCOM                             0x00200000
355
#define GL_STENCIL_BUFFER_BIT6_QCOM                             0x00400000
356
#define GL_STENCIL_BUFFER_BIT7_QCOM                             0x00800000
357
#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM                         0x01000000
358
#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM                         0x02000000
359
#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM                         0x04000000
360
#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM                         0x08000000
361
#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM                         0x10000000
362
#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM                         0x20000000
363
#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM                         0x40000000
364
#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM                         0x80000000
365
#endif
366
 
367
/*------------------------------------------------------------------------*
368
 * End of extension tokens, start of corresponding extension functions
369
 *------------------------------------------------------------------------*/
370
 
371
/*------------------------------------------------------------------------*
372
 * OES extension functions
373
 *------------------------------------------------------------------------*/
374
 
375
/* GL_OES_compressed_ETC1_RGB8_texture */
376
#ifndef GL_OES_compressed_ETC1_RGB8_texture
377
#define GL_OES_compressed_ETC1_RGB8_texture 1
378
#endif
379
 
380
/* GL_OES_compressed_paletted_texture */
381
#ifndef GL_OES_compressed_paletted_texture
382
#define GL_OES_compressed_paletted_texture 1
383
#endif
384
 
385
/* GL_OES_depth24 */
386
#ifndef GL_OES_depth24
387
#define GL_OES_depth24 1
388
#endif
389
 
390
/* GL_OES_depth32 */
391
#ifndef GL_OES_depth32
392
#define GL_OES_depth32 1
393
#endif
394
 
395
/* GL_OES_depth_texture */
396
#ifndef GL_OES_depth_texture
397
#define GL_OES_depth_texture 1
398
#endif
399
 
400
/* GL_OES_EGL_image */
401
#ifndef GL_OES_EGL_image
402
#define GL_OES_EGL_image 1
403
#ifdef GL_GLEXT_PROTOTYPES
404
GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
405
GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
406
#endif
407
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
408
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
409
#endif
410
 
411
/* GL_OES_element_index_uint */
412
#ifndef GL_OES_element_index_uint
413
#define GL_OES_element_index_uint 1
414
#endif
415
 
416
/* GL_OES_fbo_render_mipmap */
417
#ifndef GL_OES_fbo_render_mipmap
418
#define GL_OES_fbo_render_mipmap 1
419
#endif
420
 
421
/* GL_OES_fragment_precision_high */
422
#ifndef GL_OES_fragment_precision_high
423
#define GL_OES_fragment_precision_high 1
424
#endif
425
 
426
/* GL_OES_get_program_binary */
427
#ifndef GL_OES_get_program_binary
428
#define GL_OES_get_program_binary 1
429
#ifdef GL_GLEXT_PROTOTYPES
430
GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
431
GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
432
#endif
433
typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
434
typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
435
#endif
436
 
437
/* GL_OES_mapbuffer */
438
#ifndef GL_OES_mapbuffer
439
#define GL_OES_mapbuffer 1
440
#ifdef GL_GLEXT_PROTOTYPES
441
GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
442
GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
443
GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params);
444
#endif
445
typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
446
typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
447
typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params);
448
#endif
449
 
450
/* GL_OES_packed_depth_stencil */
451
#ifndef GL_OES_packed_depth_stencil
452
#define GL_OES_packed_depth_stencil 1
453
#endif
454
 
455
/* GL_OES_rgb8_rgba8 */
456
#ifndef GL_OES_rgb8_rgba8
457
#define GL_OES_rgb8_rgba8 1
458
#endif
459
 
460
/* GL_OES_standard_derivatives */
461
#ifndef GL_OES_standard_derivatives
462
#define GL_OES_standard_derivatives 1
463
#endif
464
 
465
/* GL_OES_stencil1 */
466
#ifndef GL_OES_stencil1
467
#define GL_OES_stencil1 1
468
#endif
469
 
470
/* GL_OES_stencil4 */
471
#ifndef GL_OES_stencil4
472
#define GL_OES_stencil4 1
473
#endif
474
 
475
/* GL_OES_texture_3D */
476
#ifndef GL_OES_texture_3D
477
#define GL_OES_texture_3D 1
478
#ifdef GL_GLEXT_PROTOTYPES
479
GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
480
GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
481
GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
482
GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
483
GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
484
GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
485
#endif
486
typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
487
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
488
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
489
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
490
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
491
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
492
#endif
493
 
494
/* GL_OES_texture_float */
495
#ifndef GL_OES_texture_float
496
#define GL_OES_texture_float 1
497
#endif
498
 
499
/* GL_OES_texture_float_linear */
500
#ifndef GL_OES_texture_float_linear
501
#define GL_OES_texture_float_linear 1
502
#endif
503
 
504
/* GL_OES_texture_half_float */
505
#ifndef GL_OES_texture_half_float
506
#define GL_OES_texture_half_float 1
507
#endif
508
 
509
/* GL_OES_texture_half_float_linear */
510
#ifndef GL_OES_texture_half_float_linear
511
#define GL_OES_texture_half_float_linear 1
512
#endif
513
 
514
/* GL_OES_texture_npot */
515
#ifndef GL_OES_texture_npot
516
#define GL_OES_texture_npot 1
517
#endif
518
 
519
/* GL_OES_vertex_array_object */
520
#ifndef GL_OES_vertex_array_object
521
#define GL_OES_vertex_array_object 1
522
#ifdef GL_GLEXT_PROTOTYPES
523
GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
524
GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
525
GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
526
GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
527
#endif
528
typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
529
typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
530
typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
531
typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
532
#endif
533
 
534
/* GL_OES_vertex_half_float */
535
#ifndef GL_OES_vertex_half_float
536
#define GL_OES_vertex_half_float 1
537
#endif
538
 
539
/* GL_OES_vertex_type_10_10_10_2 */
540
#ifndef GL_OES_vertex_type_10_10_10_2
541
#define GL_OES_vertex_type_10_10_10_2 1
542
#endif
543
 
544
/*------------------------------------------------------------------------*
545
 * AMD extension functions
546
 *------------------------------------------------------------------------*/
547
 
548
/* GL_AMD_compressed_3DC_texture */
549
#ifndef GL_AMD_compressed_3DC_texture
550
#define GL_AMD_compressed_3DC_texture 1
551
#endif
552
 
553
/* GL_AMD_compressed_ATC_texture */
554
#ifndef GL_AMD_compressed_ATC_texture
555
#define GL_AMD_compressed_ATC_texture 1
556
#endif
557
 
558
/* AMD_performance_monitor */
559
#ifndef GL_AMD_performance_monitor
560
#define GL_AMD_performance_monitor 1
561
#ifdef GL_GLEXT_PROTOTYPES
562
GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
563
GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
564
GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
565
GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
566
GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
567
GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
568
GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
569
GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
570
GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
571
GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
572
GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
573
#endif
574
typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
575
typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
576
typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
577
typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
578
typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
579
typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
580
typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
581
typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
582
typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
583
typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
584
typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
585
#endif
586
 
587
/* GL_AMD_program_binary_Z400 */
588
#ifndef GL_AMD_program_binary_Z400
589
#define GL_AMD_program_binary_Z400 1
590
#endif
591
 
592
/*------------------------------------------------------------------------*
593
 * EXT extension functions
594
 *------------------------------------------------------------------------*/
595
 
596
/* GL_EXT_blend_minmax */
597
#ifndef GL_EXT_blend_minmax
598
#define GL_EXT_blend_minmax 1
599
#endif
600
 
601
/* GL_EXT_discard_framebuffer */
602
#ifndef GL_EXT_discard_framebuffer
603
#define GL_EXT_discard_framebuffer 1
604
#ifdef GL_GLEXT_PROTOTYPES
605
GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
606
#endif
607
typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
608
#endif
609
 
610
#ifndef GL_EXT_multi_draw_arrays
611
#define GL_EXT_multi_draw_arrays 1
612
#ifdef GL_GLEXT_PROTOTYPES
613
GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
614
GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
615
#endif /* GL_GLEXT_PROTOTYPES */
616
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
617
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
618
#endif
619
 
620
/* GL_EXT_read_format_bgra */
621
#ifndef GL_EXT_read_format_bgra
622
#define GL_EXT_read_format_bgra 1
623
#endif
624
 
625
/* GL_EXT_texture_filter_anisotropic */
626
#ifndef GL_EXT_texture_filter_anisotropic
627
#define GL_EXT_texture_filter_anisotropic 1
628
#endif
629
 
630
/* GL_EXT_texture_format_BGRA8888 */
631
#ifndef GL_EXT_texture_format_BGRA8888
632
#define GL_EXT_texture_format_BGRA8888 1
633
#endif
634
 
635
/* GL_EXT_texture_type_2_10_10_10_REV */
636
#ifndef GL_EXT_texture_type_2_10_10_10_REV
637
#define GL_EXT_texture_type_2_10_10_10_REV 1
638
#endif
639
 
640
/* GL_EXT_texture_compression_dxt1 */
641
#ifndef GL_EXT_texture_compression_dxt1
642
#define GL_EXT_texture_compression_dxt1 1
643
#endif
644
 
645
/*------------------------------------------------------------------------*
646
 * IMG extension functions
647
 *------------------------------------------------------------------------*/
648
 
649
/* GL_IMG_program_binary */
650
#ifndef GL_IMG_program_binary
651
#define GL_IMG_program_binary 1
652
#endif
653
 
654
/* GL_IMG_read_format */
655
#ifndef GL_IMG_read_format
656
#define GL_IMG_read_format 1
657
#endif
658
 
659
/* GL_IMG_shader_binary */
660
#ifndef GL_IMG_shader_binary
661
#define GL_IMG_shader_binary 1
662
#endif
663
 
664
/* GL_IMG_texture_compression_pvrtc */
665
#ifndef GL_IMG_texture_compression_pvrtc
666
#define GL_IMG_texture_compression_pvrtc 1
667
#endif
668
 
669
/* GL_IMG_multisampled_render_to_texture */
670
#ifndef GL_IMG_multisampled_render_to_texture
671
#define GL_IMG_multisampled_render_to_texture 1
672
#ifdef GL_GLEXT_PROTOTYPES
673
GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
674
GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
675
#endif
676
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
677
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
678
#endif
679
 
680
/*------------------------------------------------------------------------*
681
 * NV extension functions
682
 *------------------------------------------------------------------------*/
683
 
684
/* GL_NV_fence */
685
#ifndef GL_NV_fence
686
#define GL_NV_fence 1
687
#ifdef GL_GLEXT_PROTOTYPES
688
GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
689
GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *);
690
GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint);
691
GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint);
692
GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
693
GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint);
694
GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum);
695
#endif
696
typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
697
typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
698
typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
699
typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
700
typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
701
typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
702
typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
703
#endif
704
 
705
/* GL_NV_coverage_sample */
706
#ifndef GL_NV_coverage_sample
707
#define GL_NV_coverage_sample 1
708
#ifdef GL_GLEXT_PROTOTYPES
709
GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
710
GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
711
#endif
712
typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
713
typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
714
#endif
715
 
716
/* GL_NV_depth_nonlinear */
717
#ifndef GL_NV_depth_nonlinear
718
#define GL_NV_depth_nonlinear 1
719
#endif
720
 
721
/*------------------------------------------------------------------------*
722
 * QCOM extension functions
723
 *------------------------------------------------------------------------*/
724
 
725
/* GL_QCOM_driver_control */
726
#ifndef GL_QCOM_driver_control
727
#define GL_QCOM_driver_control 1
728
#ifdef GL_GLEXT_PROTOTYPES
729
GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
730
GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
731
GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
732
GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
733
#endif
734
typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
735
typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
736
typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
737
typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
738
#endif
739
 
740
/* GL_QCOM_extended_get */
741
#ifndef GL_QCOM_extended_get
742
#define GL_QCOM_extended_get 1
743
#ifdef GL_GLEXT_PROTOTYPES
744
GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
745
GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
746
GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
747
GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
748
GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
749
GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
750
GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
751
GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params);
752
#endif
753
typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
754
typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
755
typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
756
typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
757
typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
758
typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
759
typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
760
typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params);
761
#endif
762
 
763
/* GL_QCOM_extended_get2 */
764
#ifndef GL_QCOM_extended_get2
765
#define GL_QCOM_extended_get2 1
766
#ifdef GL_GLEXT_PROTOTYPES
767
GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
768
GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
769
GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
770
GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
771
#endif
772
typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
773
typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
774
typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
775
typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
776
#endif
777
 
778
/* GL_QCOM_perfmon_global_mode */
779
#ifndef GL_QCOM_perfmon_global_mode
780
#define GL_QCOM_perfmon_global_mode 1
781
#endif
782
 
783
/* GL_QCOM_writeonly_rendering */
784
#ifndef GL_QCOM_writeonly_rendering
785
#define GL_QCOM_writeonly_rendering 1
786
#endif
787
 
788
/* GL_QCOM_tiled_rendering */
789
#ifndef GL_QCOM_tiled_rendering
790
#define GL_QCOM_tiled_rendering 1
791
#ifdef GL_GLEXT_PROTOTYPES
792
GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
793
GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
794
#endif
795
typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
796
typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
797
#endif
798
 
799
#ifdef __cplusplus
800
}
801
#endif
802
 
803
#endif /* __gl2ext_h_ */