1#ifndef __gl2ext_h_
2#define __gl2ext_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2013 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** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34**   http://www.opengl.org/registry/
35**
36** Khronos $Revision: 24263 $ on $Date: 2013-12-02 03:42:02 -0800 (Mon, 02 Dec 2013) $
37*/
38
39#ifndef GL_APIENTRYP
40#define GL_APIENTRYP GL_APIENTRY*
41#endif
42
43/* Generated on date 20131202 */
44
45/* Generated C header for:
46 * API: gles2
47 * Profile: common
48 * Versions considered: 2\.[0-9]
49 * Versions emitted: _nomatch_^
50 * Default extensions included: gles2
51 * Additional extensions included: _nomatch_^
52 * Extensions removed: _nomatch_^
53 */
54
55#ifndef GL_KHR_debug
56#define GL_KHR_debug 1
57typedef void (GL_APIENTRY  *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
58//#define GL_SAMPLER                        0x82E6
59#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR   0x8242
60#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
61#define GL_DEBUG_CALLBACK_FUNCTION_KHR    0x8244
62#define GL_DEBUG_CALLBACK_USER_PARAM_KHR  0x8245
63#define GL_DEBUG_SOURCE_API_KHR           0x8246
64#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
65#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
66#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR   0x8249
67#define GL_DEBUG_SOURCE_APPLICATION_KHR   0x824A
68#define GL_DEBUG_SOURCE_OTHER_KHR         0x824B
69#define GL_DEBUG_TYPE_ERROR_KHR           0x824C
70#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
71#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
72#define GL_DEBUG_TYPE_PORTABILITY_KHR     0x824F
73#define GL_DEBUG_TYPE_PERFORMANCE_KHR     0x8250
74#define GL_DEBUG_TYPE_OTHER_KHR           0x8251
75#define GL_DEBUG_TYPE_MARKER_KHR          0x8268
76#define GL_DEBUG_TYPE_PUSH_GROUP_KHR      0x8269
77#define GL_DEBUG_TYPE_POP_GROUP_KHR       0x826A
78#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
79#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
80#define GL_DEBUG_GROUP_STACK_DEPTH_KHR    0x826D
81#define GL_BUFFER_KHR                     0x82E0
82#define GL_SHADER_KHR                     0x82E1
83#define GL_PROGRAM_KHR                    0x82E2
84#define GL_VERTEX_ARRAY_KHR               0x8074
85#define GL_QUERY_KHR                      0x82E3
86#define GL_SAMPLER_KHR                    0x82E6
87#define GL_MAX_LABEL_LENGTH_KHR           0x82E8
88#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR   0x9143
89#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR  0x9144
90#define GL_DEBUG_LOGGED_MESSAGES_KHR      0x9145
91#define GL_DEBUG_SEVERITY_HIGH_KHR        0x9146
92#define GL_DEBUG_SEVERITY_MEDIUM_KHR      0x9147
93#define GL_DEBUG_SEVERITY_LOW_KHR         0x9148
94#define GL_DEBUG_OUTPUT_KHR               0x92E0
95#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR     0x00000002
96#define GL_STACK_OVERFLOW_KHR             0x0503
97#define GL_STACK_UNDERFLOW_KHR            0x0504
98typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
99typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
100typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, void *userParam);
101typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
102typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
103typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
104typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
105typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
106typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
107typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
108typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
109#ifdef GL_GLEXT_PROTOTYPES
110GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
111GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
112GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
113GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
114GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
115GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
116GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
117GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
118GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
119GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
120GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
121#endif
122#endif /* GL_KHR_debug */
123
124#ifndef GL_KHR_texture_compression_astc_hdr
125#define GL_KHR_texture_compression_astc_hdr 1
126#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR   0x93B0
127#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR   0x93B1
128#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR   0x93B2
129#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR   0x93B3
130#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR   0x93B4
131#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR   0x93B5
132#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR   0x93B6
133#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR   0x93B7
134#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR  0x93B8
135#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR  0x93B9
136#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR  0x93BA
137#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
138#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
139#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
140#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
141#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
142#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
143#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
144#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
145#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
146#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
147#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
148#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
149#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
150#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
151#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
152#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
153#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
154#endif /* GL_KHR_texture_compression_astc_hdr */
155
156#ifndef GL_KHR_texture_compression_astc_ldr
157#define GL_KHR_texture_compression_astc_ldr 1
158#endif /* GL_KHR_texture_compression_astc_ldr */
159
160#ifndef GL_OES_EGL_image
161#define GL_OES_EGL_image 1
162typedef void *GLeglImageOES;
163typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
164typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
165#ifdef GL_GLEXT_PROTOTYPES
166GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
167GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
168#endif
169#endif /* GL_OES_EGL_image */
170
171#ifndef GL_OES_EGL_image_external
172#define GL_OES_EGL_image_external 1
173#define GL_TEXTURE_EXTERNAL_OES           0x8D65
174#define GL_TEXTURE_BINDING_EXTERNAL_OES   0x8D67
175#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
176#define GL_SAMPLER_EXTERNAL_OES           0x8D66
177#endif /* GL_OES_EGL_image_external */
178
179#ifndef GL_OES_compressed_ETC1_RGB8_texture
180#define GL_OES_compressed_ETC1_RGB8_texture 1
181#define GL_ETC1_RGB8_OES                  0x8D64
182#endif /* GL_OES_compressed_ETC1_RGB8_texture */
183
184#ifndef GL_OES_compressed_paletted_texture
185#define GL_OES_compressed_paletted_texture 1
186#define GL_PALETTE4_RGB8_OES              0x8B90
187#define GL_PALETTE4_RGBA8_OES             0x8B91
188#define GL_PALETTE4_R5_G6_B5_OES          0x8B92
189#define GL_PALETTE4_RGBA4_OES             0x8B93
190#define GL_PALETTE4_RGB5_A1_OES           0x8B94
191#define GL_PALETTE8_RGB8_OES              0x8B95
192#define GL_PALETTE8_RGBA8_OES             0x8B96
193#define GL_PALETTE8_R5_G6_B5_OES          0x8B97
194#define GL_PALETTE8_RGBA4_OES             0x8B98
195#define GL_PALETTE8_RGB5_A1_OES           0x8B99
196#endif /* GL_OES_compressed_paletted_texture */
197
198#ifndef GL_OES_depth24
199#define GL_OES_depth24 1
200#define GL_DEPTH_COMPONENT24_OES          0x81A6
201#endif /* GL_OES_depth24 */
202
203#ifndef GL_OES_depth32
204#define GL_OES_depth32 1
205#define GL_DEPTH_COMPONENT32_OES          0x81A7
206#endif /* GL_OES_depth32 */
207
208#ifndef GL_OES_depth_texture
209#define GL_OES_depth_texture 1
210#endif /* GL_OES_depth_texture */
211
212#ifndef GL_OES_element_index_uint
213#define GL_OES_element_index_uint 1
214#endif /* GL_OES_element_index_uint */
215
216#ifndef GL_OES_fbo_render_mipmap
217#define GL_OES_fbo_render_mipmap 1
218#endif /* GL_OES_fbo_render_mipmap */
219
220#ifndef GL_OES_fragment_precision_high
221#define GL_OES_fragment_precision_high 1
222#endif /* GL_OES_fragment_precision_high */
223
224#ifndef GL_OES_get_program_binary
225#define GL_OES_get_program_binary 1
226#define GL_PROGRAM_BINARY_LENGTH_OES      0x8741
227#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
228#define GL_PROGRAM_BINARY_FORMATS_OES     0x87FF
229typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
230typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
231#ifdef GL_GLEXT_PROTOTYPES
232GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
233GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
234#endif
235#endif /* GL_OES_get_program_binary */
236
237#ifndef GL_OES_mapbuffer
238#define GL_OES_mapbuffer 1
239#define GL_WRITE_ONLY_OES                 0x88B9
240#define GL_BUFFER_ACCESS_OES              0x88BB
241#define GL_BUFFER_MAPPED_OES              0x88BC
242#define GL_BUFFER_MAP_POINTER_OES         0x88BD
243typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
244typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
245typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
246#ifdef GL_GLEXT_PROTOTYPES
247GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
248GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
249GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
250#endif
251#endif /* GL_OES_mapbuffer */
252
253#ifndef GL_OES_packed_depth_stencil
254#define GL_OES_packed_depth_stencil 1
255#define GL_DEPTH_STENCIL_OES              0x84F9
256#define GL_UNSIGNED_INT_24_8_OES          0x84FA
257#define GL_DEPTH24_STENCIL8_OES           0x88F0
258#endif /* GL_OES_packed_depth_stencil */
259
260#ifndef GL_OES_required_internalformat
261#define GL_OES_required_internalformat 1
262#define GL_ALPHA8_OES                     0x803C
263#define GL_DEPTH_COMPONENT16_OES          0x81A5
264#define GL_LUMINANCE4_ALPHA4_OES          0x8043
265#define GL_LUMINANCE8_ALPHA8_OES          0x8045
266#define GL_LUMINANCE8_OES                 0x8040
267#define GL_RGBA4_OES                      0x8056
268#define GL_RGB5_A1_OES                    0x8057
269#define GL_RGB565_OES                     0x8D62
270#define GL_RGB8_OES                       0x8051
271#define GL_RGBA8_OES                      0x8058
272#define GL_RGB10_EXT                      0x8052
273#define GL_RGB10_A2_EXT                   0x8059
274#endif /* GL_OES_required_internalformat */
275
276#ifndef GL_OES_rgb8_rgba8
277#define GL_OES_rgb8_rgba8 1
278#endif /* GL_OES_rgb8_rgba8 */
279
280#ifndef GL_OES_standard_derivatives
281#define GL_OES_standard_derivatives 1
282#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
283#endif /* GL_OES_standard_derivatives */
284
285#ifndef GL_OES_stencil1
286#define GL_OES_stencil1 1
287#define GL_STENCIL_INDEX1_OES             0x8D46
288#endif /* GL_OES_stencil1 */
289
290#ifndef GL_OES_stencil4
291#define GL_OES_stencil4 1
292#define GL_STENCIL_INDEX4_OES             0x8D47
293#endif /* GL_OES_stencil4 */
294
295#ifndef GL_OES_surfaceless_context
296#define GL_OES_surfaceless_context 1
297#define GL_FRAMEBUFFER_UNDEFINED_OES      0x8219
298#endif /* GL_OES_surfaceless_context */
299
300#ifndef GL_OES_texture_3D
301#define GL_OES_texture_3D 1
302#define GL_TEXTURE_WRAP_R_OES             0x8072
303#define GL_TEXTURE_3D_OES                 0x806F
304#define GL_TEXTURE_BINDING_3D_OES         0x806A
305#define GL_MAX_3D_TEXTURE_SIZE_OES        0x8073
306#define GL_SAMPLER_3D_OES                 0x8B5F
307#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
308typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
309typedef 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 void *pixels);
310typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
311typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
312typedef 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 void *data);
313typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
314
315// Chromium-specific define to account for issues in gles2_conform_test
316// TODO (bajones): This symbol should be updated to the correct version in the
317// conformance test upstream and this hack removed. crbug.com/329708
318#define PFNGLFRAMEBUFFERTEXTURE3DOES PFNGLFRAMEBUFFERTEXTURE3DOESPROC
319
320#ifdef GL_GLEXT_PROTOTYPES
321GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
322GL_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 void *pixels);
323GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
324GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
325GL_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 void *data);
326GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
327#endif
328#endif /* GL_OES_texture_3D */
329
330#ifndef GL_OES_texture_compression_astc
331#define GL_OES_texture_compression_astc 1
332#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0
333#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1
334#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2
335#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3
336#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4
337#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5
338#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6
339#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7
340#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8
341#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9
342#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0
343#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1
344#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2
345#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3
346#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4
347#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5
348#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6
349#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7
350#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8
351#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9
352#endif /* GL_OES_texture_compression_astc */
353
354#ifndef GL_OES_texture_float
355#define GL_OES_texture_float 1
356#endif /* GL_OES_texture_float */
357
358#ifndef GL_OES_texture_float_linear
359#define GL_OES_texture_float_linear 1
360#endif /* GL_OES_texture_float_linear */
361
362#ifndef GL_OES_texture_half_float
363#define GL_OES_texture_half_float 1
364#define GL_HALF_FLOAT_OES                 0x8D61
365#endif /* GL_OES_texture_half_float */
366
367#ifndef GL_OES_texture_half_float_linear
368#define GL_OES_texture_half_float_linear 1
369#endif /* GL_OES_texture_half_float_linear */
370
371#ifndef GL_OES_texture_npot
372#define GL_OES_texture_npot 1
373#endif /* GL_OES_texture_npot */
374
375#ifndef GL_OES_vertex_array_object
376#define GL_OES_vertex_array_object 1
377#define GL_VERTEX_ARRAY_BINDING_OES       0x85B5
378typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
379typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
380typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
381typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
382#ifdef GL_GLEXT_PROTOTYPES
383GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
384GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
385GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
386GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
387#endif
388#endif /* GL_OES_vertex_array_object */
389
390#ifndef GL_OES_vertex_half_float
391#define GL_OES_vertex_half_float 1
392#endif /* GL_OES_vertex_half_float */
393
394#ifndef GL_OES_vertex_type_10_10_10_2
395#define GL_OES_vertex_type_10_10_10_2 1
396#define GL_UNSIGNED_INT_10_10_10_2_OES    0x8DF6
397#define GL_INT_10_10_10_2_OES             0x8DF7
398#endif /* GL_OES_vertex_type_10_10_10_2 */
399
400#ifndef GL_AMD_compressed_3DC_texture
401#define GL_AMD_compressed_3DC_texture 1
402#define GL_3DC_X_AMD                      0x87F9
403#define GL_3DC_XY_AMD                     0x87FA
404#endif /* GL_AMD_compressed_3DC_texture */
405
406#ifndef GL_AMD_compressed_ATC_texture
407#define GL_AMD_compressed_ATC_texture 1
408#define GL_ATC_RGB_AMD                    0x8C92
409#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD    0x8C93
410#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
411#endif /* GL_AMD_compressed_ATC_texture */
412
413#ifndef GL_AMD_performance_monitor
414#define GL_AMD_performance_monitor 1
415#define GL_COUNTER_TYPE_AMD               0x8BC0
416#define GL_COUNTER_RANGE_AMD              0x8BC1
417#define GL_UNSIGNED_INT64_AMD             0x8BC2
418#define GL_PERCENTAGE_AMD                 0x8BC3
419#define GL_PERFMON_RESULT_AVAILABLE_AMD   0x8BC4
420#define GL_PERFMON_RESULT_SIZE_AMD        0x8BC5
421#define GL_PERFMON_RESULT_AMD             0x8BC6
422typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
423typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
424typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
425typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
426typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
427typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
428typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
429typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
430typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
431typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
432typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
433#ifdef GL_GLEXT_PROTOTYPES
434GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
435GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
436GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
437GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
438GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
439GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
440GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
441GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
442GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
443GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
444GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
445#endif
446#endif /* GL_AMD_performance_monitor */
447
448#ifndef GL_AMD_program_binary_Z400
449#define GL_AMD_program_binary_Z400 1
450#define GL_Z400_BINARY_AMD                0x8740
451#endif /* GL_AMD_program_binary_Z400 */
452
453#ifndef GL_ANGLE_depth_texture
454#define GL_ANGLE_depth_texture 1
455#endif /* GL_ANGLE_depth_texture */
456
457#ifndef GL_ANGLE_framebuffer_blit
458#define GL_ANGLE_framebuffer_blit 1
459#define GL_READ_FRAMEBUFFER_ANGLE         0x8CA8
460#define GL_DRAW_FRAMEBUFFER_ANGLE         0x8CA9
461#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
462#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
463typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
464#ifdef GL_GLEXT_PROTOTYPES
465GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
466#endif
467#endif /* GL_ANGLE_framebuffer_blit */
468
469#ifndef GL_ANGLE_framebuffer_multisample
470#define GL_ANGLE_framebuffer_multisample 1
471#define GL_RENDERBUFFER_SAMPLES_ANGLE     0x8CAB
472#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
473#define GL_MAX_SAMPLES_ANGLE              0x8D57
474typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
475#ifdef GL_GLEXT_PROTOTYPES
476GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
477#endif
478#endif /* GL_ANGLE_framebuffer_multisample */
479
480#ifndef GL_ANGLE_instanced_arrays
481#define GL_ANGLE_instanced_arrays 1
482#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
483typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
484typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
485typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
486#ifdef GL_GLEXT_PROTOTYPES
487GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
488GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
489GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
490#endif
491#endif /* GL_ANGLE_instanced_arrays */
492
493#ifndef GL_ANGLE_pack_reverse_row_order
494#define GL_ANGLE_pack_reverse_row_order 1
495#define GL_PACK_REVERSE_ROW_ORDER_ANGLE   0x93A4
496#endif /* GL_ANGLE_pack_reverse_row_order */
497
498#ifndef GL_ANGLE_program_binary
499#define GL_ANGLE_program_binary 1
500#define GL_PROGRAM_BINARY_ANGLE           0x93A6
501#endif /* GL_ANGLE_program_binary */
502
503#ifndef GL_ANGLE_texture_compression_dxt3
504#define GL_ANGLE_texture_compression_dxt3 1
505#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
506#endif /* GL_ANGLE_texture_compression_dxt3 */
507
508#ifndef GL_ANGLE_texture_compression_dxt5
509#define GL_ANGLE_texture_compression_dxt5 1
510#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
511#endif /* GL_ANGLE_texture_compression_dxt5 */
512
513#ifndef GL_ANGLE_texture_usage
514#define GL_ANGLE_texture_usage 1
515#define GL_TEXTURE_USAGE_ANGLE            0x93A2
516#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE   0x93A3
517#endif /* GL_ANGLE_texture_usage */
518
519#ifndef GL_ANGLE_translated_shader_source
520#define GL_ANGLE_translated_shader_source 1
521#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
522typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
523#ifdef GL_GLEXT_PROTOTYPES
524GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
525#endif
526#endif /* GL_ANGLE_translated_shader_source */
527
528#ifndef GL_APPLE_copy_texture_levels
529#define GL_APPLE_copy_texture_levels 1
530typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
531#ifdef GL_GLEXT_PROTOTYPES
532GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
533#endif
534#endif /* GL_APPLE_copy_texture_levels */
535
536#ifndef GL_APPLE_framebuffer_multisample
537#define GL_APPLE_framebuffer_multisample 1
538#define GL_RENDERBUFFER_SAMPLES_APPLE     0x8CAB
539#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
540#define GL_MAX_SAMPLES_APPLE              0x8D57
541#define GL_READ_FRAMEBUFFER_APPLE         0x8CA8
542#define GL_DRAW_FRAMEBUFFER_APPLE         0x8CA9
543#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
544#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
545typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
546typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
547#ifdef GL_GLEXT_PROTOTYPES
548GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
549GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
550#endif
551#endif /* GL_APPLE_framebuffer_multisample */
552
553#ifndef GL_APPLE_rgb_422
554#define GL_APPLE_rgb_422 1
555#define GL_RGB_422_APPLE                  0x8A1F
556#define GL_UNSIGNED_SHORT_8_8_APPLE       0x85BA
557#define GL_UNSIGNED_SHORT_8_8_REV_APPLE   0x85BB
558#define GL_RGB_RAW_422_APPLE              0x8A51
559#endif /* GL_APPLE_rgb_422 */
560
561#ifndef GL_APPLE_sync
562#define GL_APPLE_sync 1
563#define GL_SYNC_OBJECT_APPLE              0x8A53
564#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE  0x9111
565#define GL_OBJECT_TYPE_APPLE              0x9112
566#define GL_SYNC_CONDITION_APPLE           0x9113
567#define GL_SYNC_STATUS_APPLE              0x9114
568#define GL_SYNC_FLAGS_APPLE               0x9115
569#define GL_SYNC_FENCE_APPLE               0x9116
570#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
571#define GL_UNSIGNALED_APPLE               0x9118
572#define GL_SIGNALED_APPLE                 0x9119
573#define GL_ALREADY_SIGNALED_APPLE         0x911A
574#define GL_TIMEOUT_EXPIRED_APPLE          0x911B
575#define GL_CONDITION_SATISFIED_APPLE      0x911C
576#define GL_WAIT_FAILED_APPLE              0x911D
577#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE  0x00000001
578#define GL_TIMEOUT_IGNORED_APPLE          0xFFFFFFFFFFFFFFFFull
579typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
580typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
581typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
582typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
583typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
584typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
585typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
586#ifdef GL_GLEXT_PROTOTYPES
587GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
588GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
589GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
590GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
591GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
592GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
593GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
594#endif
595#endif /* GL_APPLE_sync */
596
597#ifndef GL_APPLE_texture_format_BGRA8888
598#define GL_APPLE_texture_format_BGRA8888 1
599#define GL_BGRA_EXT                       0x80E1
600#define GL_BGRA8_EXT                      0x93A1
601#endif /* GL_APPLE_texture_format_BGRA8888 */
602
603#ifndef GL_APPLE_texture_max_level
604#define GL_APPLE_texture_max_level 1
605#define GL_TEXTURE_MAX_LEVEL_APPLE        0x813D
606#endif /* GL_APPLE_texture_max_level */
607
608#ifndef GL_ARM_mali_program_binary
609#define GL_ARM_mali_program_binary 1
610#define GL_MALI_PROGRAM_BINARY_ARM        0x8F61
611#endif /* GL_ARM_mali_program_binary */
612
613#ifndef GL_ARM_mali_shader_binary
614#define GL_ARM_mali_shader_binary 1
615#define GL_MALI_SHADER_BINARY_ARM         0x8F60
616#endif /* GL_ARM_mali_shader_binary */
617
618#ifndef GL_ARM_rgba8
619#define GL_ARM_rgba8 1
620#endif /* GL_ARM_rgba8 */
621
622#ifndef GL_DMP_shader_binary
623#define GL_DMP_shader_binary 1
624#define GL_SHADER_BINARY_DMP              0x9250
625#endif /* GL_DMP_shader_binary */
626
627#ifndef GL_EXT_blend_minmax
628#define GL_EXT_blend_minmax 1
629#define GL_MIN_EXT                        0x8007
630#define GL_MAX_EXT                        0x8008
631#endif /* GL_EXT_blend_minmax */
632
633#ifndef GL_EXT_color_buffer_half_float
634#define GL_EXT_color_buffer_half_float 1
635#define GL_RGBA16F_EXT                    0x881A
636#define GL_RGB16F_EXT                     0x881B
637#define GL_RG16F_EXT                      0x822F
638#define GL_R16F_EXT                       0x822D
639#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
640#define GL_UNSIGNED_NORMALIZED_EXT        0x8C17
641#endif /* GL_EXT_color_buffer_half_float */
642
643#ifndef GL_EXT_debug_label
644#define GL_EXT_debug_label 1
645#define GL_PROGRAM_PIPELINE_OBJECT_EXT    0x8A4F
646#define GL_PROGRAM_OBJECT_EXT             0x8B40
647#define GL_SHADER_OBJECT_EXT              0x8B48
648#define GL_BUFFER_OBJECT_EXT              0x9151
649#define GL_QUERY_OBJECT_EXT               0x9153
650#define GL_VERTEX_ARRAY_OBJECT_EXT        0x9154
651#define GL_TRANSFORM_FEEDBACK             0x8E22
652typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
653typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
654#ifdef GL_GLEXT_PROTOTYPES
655GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
656GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
657#endif
658#endif /* GL_EXT_debug_label */
659
660#ifndef GL_EXT_debug_marker
661#define GL_EXT_debug_marker 1
662typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
663typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
664typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
665#ifdef GL_GLEXT_PROTOTYPES
666GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
667GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
668GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
669#endif
670#endif /* GL_EXT_debug_marker */
671
672#ifndef GL_EXT_discard_framebuffer
673#define GL_EXT_discard_framebuffer 1
674#define GL_COLOR_EXT                      0x1800
675#define GL_DEPTH_EXT                      0x1801
676#define GL_STENCIL_EXT                    0x1802
677typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
678#ifdef GL_GLEXT_PROTOTYPES
679GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
680#endif
681#endif /* GL_EXT_discard_framebuffer */
682
683#ifndef GL_EXT_disjoint_timer_query
684#define GL_EXT_disjoint_timer_query 1
685#define GL_QUERY_COUNTER_BITS_EXT         0x8864
686#define GL_CURRENT_QUERY_EXT              0x8865
687#define GL_QUERY_RESULT_EXT               0x8866
688#define GL_QUERY_RESULT_AVAILABLE_EXT     0x8867
689#define GL_TIME_ELAPSED_EXT               0x88BF
690#define GL_TIMESTAMP_EXT                  0x8E28
691#define GL_GPU_DISJOINT_EXT               0x8FBB
692typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
693typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
694typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
695typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
696typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
697typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
698typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
699typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
700typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
701typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
702typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
703#ifdef GL_GLEXT_PROTOTYPES
704GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
705GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
706GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
707GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
708GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
709GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
710GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
711GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
712GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
713GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
714GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
715#endif
716#endif /* GL_EXT_disjoint_timer_query */
717
718#ifndef GL_EXT_draw_buffers
719#define GL_EXT_draw_buffers 1
720#define GL_MAX_COLOR_ATTACHMENTS_EXT      0x8CDF
721#define GL_MAX_DRAW_BUFFERS_EXT           0x8824
722#define GL_DRAW_BUFFER0_EXT               0x8825
723#define GL_DRAW_BUFFER1_EXT               0x8826
724#define GL_DRAW_BUFFER2_EXT               0x8827
725#define GL_DRAW_BUFFER3_EXT               0x8828
726#define GL_DRAW_BUFFER4_EXT               0x8829
727#define GL_DRAW_BUFFER5_EXT               0x882A
728#define GL_DRAW_BUFFER6_EXT               0x882B
729#define GL_DRAW_BUFFER7_EXT               0x882C
730#define GL_DRAW_BUFFER8_EXT               0x882D
731#define GL_DRAW_BUFFER9_EXT               0x882E
732#define GL_DRAW_BUFFER10_EXT              0x882F
733#define GL_DRAW_BUFFER11_EXT              0x8830
734#define GL_DRAW_BUFFER12_EXT              0x8831
735#define GL_DRAW_BUFFER13_EXT              0x8832
736#define GL_DRAW_BUFFER14_EXT              0x8833
737#define GL_DRAW_BUFFER15_EXT              0x8834
738#define GL_COLOR_ATTACHMENT0_EXT          0x8CE0
739#define GL_COLOR_ATTACHMENT1_EXT          0x8CE1
740#define GL_COLOR_ATTACHMENT2_EXT          0x8CE2
741#define GL_COLOR_ATTACHMENT3_EXT          0x8CE3
742#define GL_COLOR_ATTACHMENT4_EXT          0x8CE4
743#define GL_COLOR_ATTACHMENT5_EXT          0x8CE5
744#define GL_COLOR_ATTACHMENT6_EXT          0x8CE6
745#define GL_COLOR_ATTACHMENT7_EXT          0x8CE7
746#define GL_COLOR_ATTACHMENT8_EXT          0x8CE8
747#define GL_COLOR_ATTACHMENT9_EXT          0x8CE9
748#define GL_COLOR_ATTACHMENT10_EXT         0x8CEA
749#define GL_COLOR_ATTACHMENT11_EXT         0x8CEB
750#define GL_COLOR_ATTACHMENT12_EXT         0x8CEC
751#define GL_COLOR_ATTACHMENT13_EXT         0x8CED
752#define GL_COLOR_ATTACHMENT14_EXT         0x8CEE
753#define GL_COLOR_ATTACHMENT15_EXT         0x8CEF
754typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
755#ifdef GL_GLEXT_PROTOTYPES
756GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
757#endif
758#endif /* GL_EXT_draw_buffers */
759
760#ifndef GL_EXT_draw_instanced
761#define GL_EXT_draw_instanced 1
762typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
763typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
764#ifdef GL_GLEXT_PROTOTYPES
765GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
766GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
767#endif
768#endif /* GL_EXT_draw_instanced */
769
770#ifndef GL_EXT_instanced_arrays
771#define GL_EXT_instanced_arrays 1
772#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE
773typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
774#ifdef GL_GLEXT_PROTOTYPES
775GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor);
776#endif
777#endif /* GL_EXT_instanced_arrays */
778
779#ifndef GL_EXT_map_buffer_range
780#define GL_EXT_map_buffer_range 1
781#define GL_MAP_READ_BIT_EXT               0x0001
782#define GL_MAP_WRITE_BIT_EXT              0x0002
783#define GL_MAP_INVALIDATE_RANGE_BIT_EXT   0x0004
784#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT  0x0008
785#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT     0x0010
786#define GL_MAP_UNSYNCHRONIZED_BIT_EXT     0x0020
787typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
788typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
789#ifdef GL_GLEXT_PROTOTYPES
790GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
791GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
792#endif
793#endif /* GL_EXT_map_buffer_range */
794
795#ifndef GL_EXT_multi_draw_arrays
796#define GL_EXT_multi_draw_arrays 1
797typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
798typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
799#ifdef GL_GLEXT_PROTOTYPES
800GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
801GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
802#endif
803#endif /* GL_EXT_multi_draw_arrays */
804
805#ifndef GL_EXT_multisampled_render_to_texture
806#define GL_EXT_multisampled_render_to_texture 1
807#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
808#define GL_RENDERBUFFER_SAMPLES_EXT       0x8CAB
809#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
810#define GL_MAX_SAMPLES_EXT                0x8D57
811typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
812typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
813#ifdef GL_GLEXT_PROTOTYPES
814GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
815GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
816#endif
817#endif /* GL_EXT_multisampled_render_to_texture */
818
819#ifndef GL_EXT_multiview_draw_buffers
820#define GL_EXT_multiview_draw_buffers 1
821#define GL_COLOR_ATTACHMENT_EXT           0x90F0
822#define GL_MULTIVIEW_EXT                  0x90F1
823#define GL_DRAW_BUFFER_EXT                0x0C01
824#define GL_READ_BUFFER_EXT                0x0C02
825#define GL_MAX_MULTIVIEW_BUFFERS_EXT      0x90F2
826typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
827typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
828typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
829#ifdef GL_GLEXT_PROTOTYPES
830GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
831GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
832GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
833#endif
834#endif /* GL_EXT_multiview_draw_buffers */
835
836#ifndef GL_EXT_occlusion_query_boolean
837#define GL_EXT_occlusion_query_boolean 1
838#define GL_ANY_SAMPLES_PASSED_EXT         0x8C2F
839#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
840#endif /* GL_EXT_occlusion_query_boolean */
841
842#ifndef GL_EXT_pvrtc_sRGB
843#define GL_EXT_pvrtc_sRGB 1
844#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
845#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
846#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
847#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
848#endif /* GL_EXT_pvrtc_sRGB */
849
850#ifndef GL_EXT_read_format_bgra
851#define GL_EXT_read_format_bgra 1
852#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
853#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
854#endif /* GL_EXT_read_format_bgra */
855
856#ifndef GL_EXT_robustness
857#define GL_EXT_robustness 1
858#define GL_GUILTY_CONTEXT_RESET_EXT       0x8253
859#define GL_INNOCENT_CONTEXT_RESET_EXT     0x8254
860#define GL_UNKNOWN_CONTEXT_RESET_EXT      0x8255
861#define GL_CONTEXT_ROBUST_ACCESS_EXT      0x90F3
862#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
863#define GL_LOSE_CONTEXT_ON_RESET_EXT      0x8252
864#define GL_NO_RESET_NOTIFICATION_EXT      0x8261
865typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
866typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
867typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
868typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
869#ifdef GL_GLEXT_PROTOTYPES
870GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
871GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
872GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
873GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
874#endif
875#endif /* GL_EXT_robustness */
876
877#ifndef GL_EXT_sRGB
878#define GL_EXT_sRGB 1
879#define GL_SRGB_EXT                       0x8C40
880#define GL_SRGB_ALPHA_EXT                 0x8C42
881#define GL_SRGB8_ALPHA8_EXT               0x8C43
882#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
883#endif /* GL_EXT_sRGB */
884
885#ifndef GL_EXT_sRGB_write_control
886#define GL_EXT_sRGB_write_control 1
887#define GL_FRAMEBUFFER_SRGB_EXT           0x8DB9
888#endif /* GL_EXT_sRGB_write_control */
889
890#ifndef GL_EXT_separate_shader_objects
891#define GL_EXT_separate_shader_objects 1
892#define GL_ACTIVE_PROGRAM_EXT             0x8259
893#define GL_VERTEX_SHADER_BIT_EXT          0x00000001
894#define GL_FRAGMENT_SHADER_BIT_EXT        0x00000002
895#define GL_ALL_SHADER_BITS_EXT            0xFFFFFFFF
896#define GL_PROGRAM_SEPARABLE_EXT          0x8258
897#define GL_PROGRAM_PIPELINE_BINDING_EXT   0x825A
898typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
899typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
900typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
901typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
902typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
903typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
904typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
905typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
906typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
907typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
908typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
909typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
910typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
911typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
912typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
913typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
914typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
915typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
916typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
917typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
918typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
919typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
920typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
921typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
922typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
923typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
924typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
925typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
926typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
927typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
928typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
929typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
930typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
931typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
932typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
933typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
934typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
935typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
936typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
937typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
938typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
939typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
940typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
941typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
942#ifdef GL_GLEXT_PROTOTYPES
943GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
944GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
945GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
946GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
947GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
948GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
949GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
950GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
951GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
952GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
953GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
954GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
955GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
956GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
957GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
958GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
959GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
960GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
961GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
962GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
963GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
964GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
965GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
966GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
967GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
968GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
969GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
970GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
971GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
972GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
973GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
974GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
975GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
976GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
977GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
978GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
979GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
980GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
981GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
982GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
983GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
984GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
985GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
986GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
987#endif
988#endif /* GL_EXT_separate_shader_objects */
989
990#ifndef GL_EXT_shader_framebuffer_fetch
991#define GL_EXT_shader_framebuffer_fetch 1
992#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
993#endif /* GL_EXT_shader_framebuffer_fetch */
994
995#ifndef GL_EXT_shader_integer_mix
996#define GL_EXT_shader_integer_mix 1
997#endif /* GL_EXT_shader_integer_mix */
998
999#ifndef GL_EXT_shader_texture_lod
1000#define GL_EXT_shader_texture_lod 1
1001#endif /* GL_EXT_shader_texture_lod */
1002
1003#ifndef GL_EXT_shadow_samplers
1004#define GL_EXT_shadow_samplers 1
1005#define GL_TEXTURE_COMPARE_MODE_EXT       0x884C
1006#define GL_TEXTURE_COMPARE_FUNC_EXT       0x884D
1007#define GL_COMPARE_REF_TO_TEXTURE_EXT     0x884E
1008#define GL_SAMPLER_2D_SHADOW_EXT          0x8B62
1009#endif /* GL_EXT_shadow_samplers */
1010
1011#ifndef GL_EXT_texture_compression_dxt1
1012#define GL_EXT_texture_compression_dxt1 1
1013#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0
1014#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
1015#endif /* GL_EXT_texture_compression_dxt1 */
1016
1017#ifndef GL_EXT_texture_compression_s3tc
1018#define GL_EXT_texture_compression_s3tc 1
1019#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
1020#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
1021#endif /* GL_EXT_texture_compression_s3tc */
1022
1023#ifndef GL_EXT_texture_filter_anisotropic
1024#define GL_EXT_texture_filter_anisotropic 1
1025#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
1026#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
1027#endif /* GL_EXT_texture_filter_anisotropic */
1028
1029#ifndef GL_EXT_texture_format_BGRA8888
1030#define GL_EXT_texture_format_BGRA8888 1
1031#endif /* GL_EXT_texture_format_BGRA8888 */
1032
1033#ifndef GL_EXT_texture_rg
1034#define GL_EXT_texture_rg 1
1035#define GL_RED_EXT                        0x1903
1036#define GL_RG_EXT                         0x8227
1037#define GL_R8_EXT                         0x8229
1038#define GL_RG8_EXT                        0x822B
1039#endif /* GL_EXT_texture_rg */
1040
1041#ifndef GL_EXT_texture_sRGB_decode
1042#define GL_EXT_texture_sRGB_decode 1
1043#define GL_TEXTURE_SRGB_DECODE_EXT        0x8A48
1044#define GL_DECODE_EXT                     0x8A49
1045#define GL_SKIP_DECODE_EXT                0x8A4A
1046#endif /* GL_EXT_texture_sRGB_decode */
1047
1048#ifndef GL_EXT_texture_storage
1049#define GL_EXT_texture_storage 1
1050#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT   0x912F
1051#define GL_ALPHA8_EXT                     0x803C
1052#define GL_LUMINANCE8_EXT                 0x8040
1053#define GL_LUMINANCE8_ALPHA8_EXT          0x8045
1054#define GL_RGBA32F_EXT                    0x8814
1055#define GL_RGB32F_EXT                     0x8815
1056#define GL_ALPHA32F_EXT                   0x8816
1057#define GL_LUMINANCE32F_EXT               0x8818
1058#define GL_LUMINANCE_ALPHA32F_EXT         0x8819
1059#define GL_ALPHA16F_EXT                   0x881C
1060#define GL_LUMINANCE16F_EXT               0x881E
1061#define GL_LUMINANCE_ALPHA16F_EXT         0x881F
1062#define GL_R32F_EXT                       0x822E
1063#define GL_RG32F_EXT                      0x8230
1064typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1065typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1066typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1067typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1068typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1069typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1070#ifdef GL_GLEXT_PROTOTYPES
1071GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1072GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1073GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1074GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1075GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1076GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1077#endif
1078#endif /* GL_EXT_texture_storage */
1079
1080#ifndef GL_EXT_texture_type_2_10_10_10_REV
1081#define GL_EXT_texture_type_2_10_10_10_REV 1
1082#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
1083#endif /* GL_EXT_texture_type_2_10_10_10_REV */
1084
1085#ifndef GL_EXT_unpack_subimage
1086#define GL_EXT_unpack_subimage 1
1087#define GL_UNPACK_ROW_LENGTH_EXT          0x0CF2
1088#define GL_UNPACK_SKIP_ROWS_EXT           0x0CF3
1089#define GL_UNPACK_SKIP_PIXELS_EXT         0x0CF4
1090#endif /* GL_EXT_unpack_subimage */
1091
1092#ifndef GL_FJ_shader_binary_GCCSO
1093#define GL_FJ_shader_binary_GCCSO 1
1094#define GL_GCCSO_SHADER_BINARY_FJ         0x9260
1095#endif /* GL_FJ_shader_binary_GCCSO */
1096
1097#ifndef GL_IMG_multisampled_render_to_texture
1098#define GL_IMG_multisampled_render_to_texture 1
1099#define GL_RENDERBUFFER_SAMPLES_IMG       0x9133
1100#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
1101#define GL_MAX_SAMPLES_IMG                0x9135
1102#define GL_TEXTURE_SAMPLES_IMG            0x9136
1103typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1104typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1105#ifdef GL_GLEXT_PROTOTYPES
1106GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1107GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1108#endif
1109#endif /* GL_IMG_multisampled_render_to_texture */
1110
1111#ifndef GL_IMG_program_binary
1112#define GL_IMG_program_binary 1
1113#define GL_SGX_PROGRAM_BINARY_IMG         0x9130
1114#endif /* GL_IMG_program_binary */
1115
1116#ifndef GL_IMG_read_format
1117#define GL_IMG_read_format 1
1118#define GL_BGRA_IMG                       0x80E1
1119#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
1120#endif /* GL_IMG_read_format */
1121
1122#ifndef GL_IMG_shader_binary
1123#define GL_IMG_shader_binary 1
1124#define GL_SGX_BINARY_IMG                 0x8C0A
1125#endif /* GL_IMG_shader_binary */
1126
1127#ifndef GL_IMG_texture_compression_pvrtc
1128#define GL_IMG_texture_compression_pvrtc 1
1129#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
1130#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
1131#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
1132#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
1133#endif /* GL_IMG_texture_compression_pvrtc */
1134
1135#ifndef GL_IMG_texture_compression_pvrtc2
1136#define GL_IMG_texture_compression_pvrtc2 1
1137#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
1138#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
1139#endif /* GL_IMG_texture_compression_pvrtc2 */
1140
1141#ifndef GL_NV_blend_equation_advanced
1142#define GL_NV_blend_equation_advanced 1
1143#define GL_BLEND_OVERLAP_NV               0x9281
1144#define GL_BLEND_PREMULTIPLIED_SRC_NV     0x9280
1145#define GL_BLUE_NV                        0x1905
1146#define GL_COLORBURN_NV                   0x929A
1147#define GL_COLORDODGE_NV                  0x9299
1148#define GL_CONJOINT_NV                    0x9284
1149#define GL_CONTRAST_NV                    0x92A1
1150#define GL_DARKEN_NV                      0x9297
1151#define GL_DIFFERENCE_NV                  0x929E
1152#define GL_DISJOINT_NV                    0x9283
1153#define GL_DST_ATOP_NV                    0x928F
1154#define GL_DST_IN_NV                      0x928B
1155#define GL_DST_NV                         0x9287
1156#define GL_DST_OUT_NV                     0x928D
1157#define GL_DST_OVER_NV                    0x9289
1158#define GL_EXCLUSION_NV                   0x92A0
1159#define GL_GREEN_NV                       0x1904
1160#define GL_HARDLIGHT_NV                   0x929B
1161#define GL_HARDMIX_NV                     0x92A9
1162#define GL_HSL_COLOR_NV                   0x92AF
1163#define GL_HSL_HUE_NV                     0x92AD
1164#define GL_HSL_LUMINOSITY_NV              0x92B0
1165#define GL_HSL_SATURATION_NV              0x92AE
1166#define GL_INVERT_OVG_NV                  0x92B4
1167#define GL_INVERT_RGB_NV                  0x92A3
1168#define GL_LIGHTEN_NV                     0x9298
1169#define GL_LINEARBURN_NV                  0x92A5
1170#define GL_LINEARDODGE_NV                 0x92A4
1171#define GL_LINEARLIGHT_NV                 0x92A7
1172#define GL_MINUS_CLAMPED_NV               0x92B3
1173#define GL_MINUS_NV                       0x929F
1174#define GL_MULTIPLY_NV                    0x9294
1175#define GL_OVERLAY_NV                     0x9296
1176#define GL_PINLIGHT_NV                    0x92A8
1177#define GL_PLUS_CLAMPED_ALPHA_NV          0x92B2
1178#define GL_PLUS_CLAMPED_NV                0x92B1
1179#define GL_PLUS_DARKER_NV                 0x9292
1180#define GL_PLUS_NV                        0x9291
1181#define GL_RED_NV                         0x1903
1182#define GL_SCREEN_NV                      0x9295
1183#define GL_SOFTLIGHT_NV                   0x929C
1184#define GL_SRC_ATOP_NV                    0x928E
1185#define GL_SRC_IN_NV                      0x928A
1186#define GL_SRC_NV                         0x9286
1187#define GL_SRC_OUT_NV                     0x928C
1188#define GL_SRC_OVER_NV                    0x9288
1189#define GL_UNCORRELATED_NV                0x9282
1190#define GL_VIVIDLIGHT_NV                  0x92A6
1191#define GL_XOR_NV                         0x1506
1192typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
1193typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
1194#ifdef GL_GLEXT_PROTOTYPES
1195GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value);
1196GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
1197#endif
1198#endif /* GL_NV_blend_equation_advanced */
1199
1200#ifndef GL_NV_blend_equation_advanced_coherent
1201#define GL_NV_blend_equation_advanced_coherent 1
1202#define GL_BLEND_ADVANCED_COHERENT_NV     0x9285
1203#endif /* GL_NV_blend_equation_advanced_coherent */
1204
1205#ifndef GL_NV_copy_buffer
1206#define GL_NV_copy_buffer 1
1207#define GL_COPY_READ_BUFFER_NV            0x8F36
1208#define GL_COPY_WRITE_BUFFER_NV           0x8F37
1209typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1210#ifdef GL_GLEXT_PROTOTYPES
1211GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1212#endif
1213#endif /* GL_NV_copy_buffer */
1214
1215#ifndef GL_NV_coverage_sample
1216#define GL_NV_coverage_sample 1
1217#define GL_COVERAGE_COMPONENT_NV          0x8ED0
1218#define GL_COVERAGE_COMPONENT4_NV         0x8ED1
1219#define GL_COVERAGE_ATTACHMENT_NV         0x8ED2
1220#define GL_COVERAGE_BUFFERS_NV            0x8ED3
1221#define GL_COVERAGE_SAMPLES_NV            0x8ED4
1222#define GL_COVERAGE_ALL_FRAGMENTS_NV      0x8ED5
1223#define GL_COVERAGE_EDGE_FRAGMENTS_NV     0x8ED6
1224#define GL_COVERAGE_AUTOMATIC_NV          0x8ED7
1225#define GL_COVERAGE_BUFFER_BIT_NV         0x00008000
1226typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1227typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
1228#ifdef GL_GLEXT_PROTOTYPES
1229GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1230GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1231#endif
1232#endif /* GL_NV_coverage_sample */
1233
1234#ifndef GL_NV_depth_nonlinear
1235#define GL_NV_depth_nonlinear 1
1236#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
1237#endif /* GL_NV_depth_nonlinear */
1238
1239#ifndef GL_NV_draw_buffers
1240#define GL_NV_draw_buffers 1
1241#define GL_MAX_DRAW_BUFFERS_NV            0x8824
1242#define GL_DRAW_BUFFER0_NV                0x8825
1243#define GL_DRAW_BUFFER1_NV                0x8826
1244#define GL_DRAW_BUFFER2_NV                0x8827
1245#define GL_DRAW_BUFFER3_NV                0x8828
1246#define GL_DRAW_BUFFER4_NV                0x8829
1247#define GL_DRAW_BUFFER5_NV                0x882A
1248#define GL_DRAW_BUFFER6_NV                0x882B
1249#define GL_DRAW_BUFFER7_NV                0x882C
1250#define GL_DRAW_BUFFER8_NV                0x882D
1251#define GL_DRAW_BUFFER9_NV                0x882E
1252#define GL_DRAW_BUFFER10_NV               0x882F
1253#define GL_DRAW_BUFFER11_NV               0x8830
1254#define GL_DRAW_BUFFER12_NV               0x8831
1255#define GL_DRAW_BUFFER13_NV               0x8832
1256#define GL_DRAW_BUFFER14_NV               0x8833
1257#define GL_DRAW_BUFFER15_NV               0x8834
1258#define GL_COLOR_ATTACHMENT0_NV           0x8CE0
1259#define GL_COLOR_ATTACHMENT1_NV           0x8CE1
1260#define GL_COLOR_ATTACHMENT2_NV           0x8CE2
1261#define GL_COLOR_ATTACHMENT3_NV           0x8CE3
1262#define GL_COLOR_ATTACHMENT4_NV           0x8CE4
1263#define GL_COLOR_ATTACHMENT5_NV           0x8CE5
1264#define GL_COLOR_ATTACHMENT6_NV           0x8CE6
1265#define GL_COLOR_ATTACHMENT7_NV           0x8CE7
1266#define GL_COLOR_ATTACHMENT8_NV           0x8CE8
1267#define GL_COLOR_ATTACHMENT9_NV           0x8CE9
1268#define GL_COLOR_ATTACHMENT10_NV          0x8CEA
1269#define GL_COLOR_ATTACHMENT11_NV          0x8CEB
1270#define GL_COLOR_ATTACHMENT12_NV          0x8CEC
1271#define GL_COLOR_ATTACHMENT13_NV          0x8CED
1272#define GL_COLOR_ATTACHMENT14_NV          0x8CEE
1273#define GL_COLOR_ATTACHMENT15_NV          0x8CEF
1274typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
1275#ifdef GL_GLEXT_PROTOTYPES
1276GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1277#endif
1278#endif /* GL_NV_draw_buffers */
1279
1280#ifndef GL_NV_draw_instanced
1281#define GL_NV_draw_instanced 1
1282typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1283typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1284#ifdef GL_GLEXT_PROTOTYPES
1285GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1286GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1287#endif
1288#endif /* GL_NV_draw_instanced */
1289
1290#ifndef GL_NV_explicit_attrib_location
1291#define GL_NV_explicit_attrib_location 1
1292#endif /* GL_NV_explicit_attrib_location */
1293
1294#ifndef GL_NV_fbo_color_attachments
1295#define GL_NV_fbo_color_attachments 1
1296#define GL_MAX_COLOR_ATTACHMENTS_NV       0x8CDF
1297#endif /* GL_NV_fbo_color_attachments */
1298
1299#ifndef GL_NV_fence
1300#define GL_NV_fence 1
1301#define GL_ALL_COMPLETED_NV               0x84F2
1302#define GL_FENCE_STATUS_NV                0x84F3
1303#define GL_FENCE_CONDITION_NV             0x84F4
1304typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1305typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1306typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1307typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1308typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1309typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1310typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
1311#ifdef GL_GLEXT_PROTOTYPES
1312GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
1313GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
1314GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
1315GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
1316GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
1317GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
1318GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
1319#endif
1320#endif /* GL_NV_fence */
1321
1322#ifndef GL_NV_framebuffer_blit
1323#define GL_NV_framebuffer_blit 1
1324#define GL_READ_FRAMEBUFFER_NV            0x8CA8
1325#define GL_DRAW_FRAMEBUFFER_NV            0x8CA9
1326#define GL_DRAW_FRAMEBUFFER_BINDING_NV    0x8CA6
1327#define GL_READ_FRAMEBUFFER_BINDING_NV    0x8CAA
1328typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1329#ifdef GL_GLEXT_PROTOTYPES
1330GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1331#endif
1332#endif /* GL_NV_framebuffer_blit */
1333
1334#ifndef GL_NV_framebuffer_multisample
1335#define GL_NV_framebuffer_multisample 1
1336#define GL_RENDERBUFFER_SAMPLES_NV        0x8CAB
1337#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
1338#define GL_MAX_SAMPLES_NV                 0x8D57
1339typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1340#ifdef GL_GLEXT_PROTOTYPES
1341GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1342#endif
1343#endif /* GL_NV_framebuffer_multisample */
1344
1345#ifndef GL_NV_generate_mipmap_sRGB
1346#define GL_NV_generate_mipmap_sRGB 1
1347#endif /* GL_NV_generate_mipmap_sRGB */
1348
1349#ifndef GL_NV_instanced_arrays
1350#define GL_NV_instanced_arrays 1
1351#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
1352typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
1353#ifdef GL_GLEXT_PROTOTYPES
1354GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
1355#endif
1356#endif /* GL_NV_instanced_arrays */
1357
1358#ifndef GL_NV_non_square_matrices
1359#define GL_NV_non_square_matrices 1
1360#define GL_FLOAT_MAT2x3_NV                0x8B65
1361#define GL_FLOAT_MAT2x4_NV                0x8B66
1362#define GL_FLOAT_MAT3x2_NV                0x8B67
1363#define GL_FLOAT_MAT3x4_NV                0x8B68
1364#define GL_FLOAT_MAT4x2_NV                0x8B69
1365#define GL_FLOAT_MAT4x3_NV                0x8B6A
1366typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1367typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1368typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1369typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1370typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1371typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1372#ifdef GL_GLEXT_PROTOTYPES
1373GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1374GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1375GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1376GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1377GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1378GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1379#endif
1380#endif /* GL_NV_non_square_matrices */
1381
1382#ifndef GL_NV_read_buffer
1383#define GL_NV_read_buffer 1
1384#define GL_READ_BUFFER_NV                 0x0C02
1385typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1386#ifdef GL_GLEXT_PROTOTYPES
1387GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
1388#endif
1389#endif /* GL_NV_read_buffer */
1390
1391#ifndef GL_NV_read_buffer_front
1392#define GL_NV_read_buffer_front 1
1393#endif /* GL_NV_read_buffer_front */
1394
1395#ifndef GL_NV_read_depth
1396#define GL_NV_read_depth 1
1397#endif /* GL_NV_read_depth */
1398
1399#ifndef GL_NV_read_depth_stencil
1400#define GL_NV_read_depth_stencil 1
1401#endif /* GL_NV_read_depth_stencil */
1402
1403#ifndef GL_NV_read_stencil
1404#define GL_NV_read_stencil 1
1405#endif /* GL_NV_read_stencil */
1406
1407#ifndef GL_NV_sRGB_formats
1408#define GL_NV_sRGB_formats 1
1409#define GL_SLUMINANCE_NV                  0x8C46
1410#define GL_SLUMINANCE_ALPHA_NV            0x8C44
1411#define GL_SRGB8_NV                       0x8C41
1412#define GL_SLUMINANCE8_NV                 0x8C47
1413#define GL_SLUMINANCE8_ALPHA8_NV          0x8C45
1414#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV   0x8C4C
1415#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
1416#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
1417#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
1418#define GL_ETC1_SRGB8_NV                  0x88EE
1419#endif /* GL_NV_sRGB_formats */
1420
1421#ifndef GL_NV_shadow_samplers_array
1422#define GL_NV_shadow_samplers_array 1
1423#define GL_SAMPLER_2D_ARRAY_SHADOW_NV     0x8DC4
1424#endif /* GL_NV_shadow_samplers_array */
1425
1426#ifndef GL_NV_shadow_samplers_cube
1427#define GL_NV_shadow_samplers_cube 1
1428#define GL_SAMPLER_CUBE_SHADOW_NV         0x8DC5
1429#endif /* GL_NV_shadow_samplers_cube */
1430
1431#ifndef GL_NV_texture_border_clamp
1432#define GL_NV_texture_border_clamp 1
1433#define GL_TEXTURE_BORDER_COLOR_NV        0x1004
1434#define GL_CLAMP_TO_BORDER_NV             0x812D
1435#endif /* GL_NV_texture_border_clamp */
1436
1437#ifndef GL_NV_texture_compression_s3tc_update
1438#define GL_NV_texture_compression_s3tc_update 1
1439#endif /* GL_NV_texture_compression_s3tc_update */
1440
1441#ifndef GL_NV_texture_npot_2D_mipmap
1442#define GL_NV_texture_npot_2D_mipmap 1
1443#endif /* GL_NV_texture_npot_2D_mipmap */
1444
1445#ifndef GL_QCOM_alpha_test
1446#define GL_QCOM_alpha_test 1
1447#define GL_ALPHA_TEST_QCOM                0x0BC0
1448#define GL_ALPHA_TEST_FUNC_QCOM           0x0BC1
1449#define GL_ALPHA_TEST_REF_QCOM            0x0BC2
1450typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1451#ifdef GL_GLEXT_PROTOTYPES
1452GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1453#endif
1454#endif /* GL_QCOM_alpha_test */
1455
1456#ifndef GL_QCOM_binning_control
1457#define GL_QCOM_binning_control 1
1458#define GL_BINNING_CONTROL_HINT_QCOM      0x8FB0
1459#define GL_CPU_OPTIMIZED_QCOM             0x8FB1
1460#define GL_GPU_OPTIMIZED_QCOM             0x8FB2
1461#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
1462#endif /* GL_QCOM_binning_control */
1463
1464#ifndef GL_QCOM_driver_control
1465#define GL_QCOM_driver_control 1
1466typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1467typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1468typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1469typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1470#ifdef GL_GLEXT_PROTOTYPES
1471GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1472GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1473GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1474GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1475#endif
1476#endif /* GL_QCOM_driver_control */
1477
1478#ifndef GL_QCOM_extended_get
1479#define GL_QCOM_extended_get 1
1480#define GL_TEXTURE_WIDTH_QCOM             0x8BD2
1481#define GL_TEXTURE_HEIGHT_QCOM            0x8BD3
1482#define GL_TEXTURE_DEPTH_QCOM             0x8BD4
1483#define GL_TEXTURE_INTERNAL_FORMAT_QCOM   0x8BD5
1484#define GL_TEXTURE_FORMAT_QCOM            0x8BD6
1485#define GL_TEXTURE_TYPE_QCOM              0x8BD7
1486#define GL_TEXTURE_IMAGE_VALID_QCOM       0x8BD8
1487#define GL_TEXTURE_NUM_LEVELS_QCOM        0x8BD9
1488#define GL_TEXTURE_TARGET_QCOM            0x8BDA
1489#define GL_TEXTURE_OBJECT_VALID_QCOM      0x8BDB
1490#define GL_STATE_RESTORE                  0x8BDC
1491typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1492typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1493typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1494typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1495typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1496typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1497typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
1498typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
1499#ifdef GL_GLEXT_PROTOTYPES
1500GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1501GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1502GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1503GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1504GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1505GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1506GL_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, void *texels);
1507GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
1508#endif
1509#endif /* GL_QCOM_extended_get */
1510
1511#ifndef GL_QCOM_extended_get2
1512#define GL_QCOM_extended_get2 1
1513typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1514typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1515typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1516typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1517#ifdef GL_GLEXT_PROTOTYPES
1518GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1519GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1520GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1521GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1522#endif
1523#endif /* GL_QCOM_extended_get2 */
1524
1525#ifndef GL_QCOM_perfmon_global_mode
1526#define GL_QCOM_perfmon_global_mode 1
1527#define GL_PERFMON_GLOBAL_MODE_QCOM       0x8FA0
1528#endif /* GL_QCOM_perfmon_global_mode */
1529
1530#ifndef GL_QCOM_tiled_rendering
1531#define GL_QCOM_tiled_rendering 1
1532#define GL_COLOR_BUFFER_BIT0_QCOM         0x00000001
1533#define GL_COLOR_BUFFER_BIT1_QCOM         0x00000002
1534#define GL_COLOR_BUFFER_BIT2_QCOM         0x00000004
1535#define GL_COLOR_BUFFER_BIT3_QCOM         0x00000008
1536#define GL_COLOR_BUFFER_BIT4_QCOM         0x00000010
1537#define GL_COLOR_BUFFER_BIT5_QCOM         0x00000020
1538#define GL_COLOR_BUFFER_BIT6_QCOM         0x00000040
1539#define GL_COLOR_BUFFER_BIT7_QCOM         0x00000080
1540#define GL_DEPTH_BUFFER_BIT0_QCOM         0x00000100
1541#define GL_DEPTH_BUFFER_BIT1_QCOM         0x00000200
1542#define GL_DEPTH_BUFFER_BIT2_QCOM         0x00000400
1543#define GL_DEPTH_BUFFER_BIT3_QCOM         0x00000800
1544#define GL_DEPTH_BUFFER_BIT4_QCOM         0x00001000
1545#define GL_DEPTH_BUFFER_BIT5_QCOM         0x00002000
1546#define GL_DEPTH_BUFFER_BIT6_QCOM         0x00004000
1547#define GL_DEPTH_BUFFER_BIT7_QCOM         0x00008000
1548#define GL_STENCIL_BUFFER_BIT0_QCOM       0x00010000
1549#define GL_STENCIL_BUFFER_BIT1_QCOM       0x00020000
1550#define GL_STENCIL_BUFFER_BIT2_QCOM       0x00040000
1551#define GL_STENCIL_BUFFER_BIT3_QCOM       0x00080000
1552#define GL_STENCIL_BUFFER_BIT4_QCOM       0x00100000
1553#define GL_STENCIL_BUFFER_BIT5_QCOM       0x00200000
1554#define GL_STENCIL_BUFFER_BIT6_QCOM       0x00400000
1555#define GL_STENCIL_BUFFER_BIT7_QCOM       0x00800000
1556#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM   0x01000000
1557#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM   0x02000000
1558#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM   0x04000000
1559#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM   0x08000000
1560#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM   0x10000000
1561#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM   0x20000000
1562#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM   0x40000000
1563#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM   0x80000000
1564typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1565typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1566#ifdef GL_GLEXT_PROTOTYPES
1567GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1568GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1569#endif
1570#endif /* GL_QCOM_tiled_rendering */
1571
1572#ifndef GL_QCOM_writeonly_rendering
1573#define GL_QCOM_writeonly_rendering 1
1574#define GL_WRITEONLY_RENDERING_QCOM       0x8823
1575#endif /* GL_QCOM_writeonly_rendering */
1576
1577#ifndef GL_VIV_shader_binary
1578#define GL_VIV_shader_binary 1
1579#define GL_SHADER_BINARY_VIV              0x8FC4
1580#endif /* GL_VIV_shader_binary */
1581
1582#ifdef __cplusplus
1583}
1584#endif
1585
1586#endif
1587