blob: a5e3f47d656eac150606f79440b03144395b71b4 [file] [log] [blame]
Brian Paul0ebc94d2008-06-04 10:04:31 -06001#ifndef __gl2ext_h_
Matt Turnerd519ebb2014-01-22 14:12:14 -08002#define __gl2ext_h_ 1
Brian Paul0ebc94d2008-06-04 10:04:31 -06003
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
Jordan Justen7c379eb2014-03-25 00:38:20 -07009** Copyright (c) 2013-2014 The Khronos Group Inc.
Matt Turnerd519ebb2014-01-22 14:12:14 -080010**
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**
Jordan Justen7c379eb2014-03-25 00:38:20 -070036** Khronos $Revision: 25922 $ on $Date: 2014-03-17 03:54:32 -0700 (Mon, 17 Mar 2014) $
Matt Turnerd519ebb2014-01-22 14:12:14 -080037*/
Brian Paul0ebc94d2008-06-04 10:04:31 -060038
39#ifndef GL_APIENTRYP
Matt Turnerd519ebb2014-01-22 14:12:14 -080040#define GL_APIENTRYP GL_APIENTRY*
Brian Paul0ebc94d2008-06-04 10:04:31 -060041#endif
42
Jordan Justen7c379eb2014-03-25 00:38:20 -070043/* Generated on date 20140317 */
Matt Turner00a945f2013-07-26 16:33:10 -070044
Matt Turnerd519ebb2014-01-22 14:12:14 -080045/* 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_^
Matt Turner00a945f2013-07-26 16:33:10 -070053 */
Matt Turner5c78ad82012-11-15 11:56:22 -080054
Jordan Justen7c379eb2014-03-25 00:38:20 -070055#ifndef GL_KHR_blend_equation_advanced
56#define GL_KHR_blend_equation_advanced 1
57#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
58#define GL_MULTIPLY_KHR 0x9294
59#define GL_SCREEN_KHR 0x9295
60#define GL_OVERLAY_KHR 0x9296
61#define GL_DARKEN_KHR 0x9297
62#define GL_LIGHTEN_KHR 0x9298
63#define GL_COLORDODGE_KHR 0x9299
64#define GL_COLORBURN_KHR 0x929A
65#define GL_HARDLIGHT_KHR 0x929B
66#define GL_SOFTLIGHT_KHR 0x929C
67#define GL_DIFFERENCE_KHR 0x929E
68#define GL_EXCLUSION_KHR 0x92A0
69#define GL_HSL_HUE_KHR 0x92AD
70#define GL_HSL_SATURATION_KHR 0x92AE
71#define GL_HSL_COLOR_KHR 0x92AF
72#define GL_HSL_LUMINOSITY_KHR 0x92B0
73typedef void (GL_APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void);
74#ifdef GL_GLEXT_PROTOTYPES
75GL_APICALL void GL_APIENTRY glBlendBarrierKHR (void);
76#endif
77#endif /* GL_KHR_blend_equation_advanced */
78
Matt Turner5c78ad82012-11-15 11:56:22 -080079#ifndef GL_KHR_debug
80#define GL_KHR_debug 1
Matt Turnerd519ebb2014-01-22 14:12:14 -080081typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
82#define GL_SAMPLER 0x82E6
83#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
84#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
85#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
86#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
87#define GL_DEBUG_SOURCE_API_KHR 0x8246
88#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
89#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
90#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
91#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
92#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
93#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
94#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
95#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
96#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
97#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
98#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
99#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
100#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
101#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
102#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
103#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
104#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
105#define GL_BUFFER_KHR 0x82E0
106#define GL_SHADER_KHR 0x82E1
107#define GL_PROGRAM_KHR 0x82E2
108#define GL_VERTEX_ARRAY_KHR 0x8074
109#define GL_QUERY_KHR 0x82E3
110#define GL_SAMPLER_KHR 0x82E6
111#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
112#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
113#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
114#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
115#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
116#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
117#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
118#define GL_DEBUG_OUTPUT_KHR 0x92E0
119#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
120#define GL_STACK_OVERFLOW_KHR 0x0503
121#define GL_STACK_UNDERFLOW_KHR 0x0504
122typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
123typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
124typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
125typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
126typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
127typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
128typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
129typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
130typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
131typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
132typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
Matt Turner5c78ad82012-11-15 11:56:22 -0800133#ifdef GL_GLEXT_PROTOTYPES
Matt Turner00a945f2013-07-26 16:33:10 -0700134GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
135GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
136GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800137GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
Matt Turner00a945f2013-07-26 16:33:10 -0700138GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
139GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
140GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
141GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
142GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
143GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
144GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
145#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800146#endif /* GL_KHR_debug */
147
148#ifndef GL_KHR_texture_compression_astc_hdr
149#define GL_KHR_texture_compression_astc_hdr 1
150#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
151#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
152#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
153#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
154#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
155#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
156#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
157#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
158#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
159#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
160#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
161#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
162#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
163#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
164#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
165#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
166#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
167#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
168#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
169#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
170#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
171#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
172#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
173#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
174#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
175#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
176#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
177#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
178#endif /* GL_KHR_texture_compression_astc_hdr */
Matt Turner5c78ad82012-11-15 11:56:22 -0800179
180#ifndef GL_KHR_texture_compression_astc_ldr
181#define GL_KHR_texture_compression_astc_ldr 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800182#endif /* GL_KHR_texture_compression_astc_ldr */
183
184#ifndef GL_OES_EGL_image
185#define GL_OES_EGL_image 1
186typedef void *GLeglImageOES;
187typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
188typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
189#ifdef GL_GLEXT_PROTOTYPES
190GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
191GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
Matt Turner5c78ad82012-11-15 11:56:22 -0800192#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800193#endif /* GL_OES_EGL_image */
Matt Turner5c78ad82012-11-15 11:56:22 -0800194
Matt Turnerd519ebb2014-01-22 14:12:14 -0800195#ifndef GL_OES_EGL_image_external
196#define GL_OES_EGL_image_external 1
197#define GL_TEXTURE_EXTERNAL_OES 0x8D65
198#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
199#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
200#define GL_SAMPLER_EXTERNAL_OES 0x8D66
201#endif /* GL_OES_EGL_image_external */
Matt Turner5c78ad82012-11-15 11:56:22 -0800202
Matt Turnerd519ebb2014-01-22 14:12:14 -0800203#ifndef GL_OES_compressed_ETC1_RGB8_texture
204#define GL_OES_compressed_ETC1_RGB8_texture 1
205#define GL_ETC1_RGB8_OES 0x8D64
206#endif /* GL_OES_compressed_ETC1_RGB8_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600207
Matt Turnerd519ebb2014-01-22 14:12:14 -0800208#ifndef GL_OES_compressed_paletted_texture
209#define GL_OES_compressed_paletted_texture 1
210#define GL_PALETTE4_RGB8_OES 0x8B90
211#define GL_PALETTE4_RGBA8_OES 0x8B91
212#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
213#define GL_PALETTE4_RGBA4_OES 0x8B93
214#define GL_PALETTE4_RGB5_A1_OES 0x8B94
215#define GL_PALETTE8_RGB8_OES 0x8B95
216#define GL_PALETTE8_RGBA8_OES 0x8B96
217#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
218#define GL_PALETTE8_RGBA4_OES 0x8B98
219#define GL_PALETTE8_RGB5_A1_OES 0x8B99
220#endif /* GL_OES_compressed_paletted_texture */
221
222#ifndef GL_OES_depth24
223#define GL_OES_depth24 1
224#define GL_DEPTH_COMPONENT24_OES 0x81A6
225#endif /* GL_OES_depth24 */
226
227#ifndef GL_OES_depth32
228#define GL_OES_depth32 1
229#define GL_DEPTH_COMPONENT32_OES 0x81A7
230#endif /* GL_OES_depth32 */
231
232#ifndef GL_OES_depth_texture
233#define GL_OES_depth_texture 1
234#endif /* GL_OES_depth_texture */
235
236#ifndef GL_OES_element_index_uint
237#define GL_OES_element_index_uint 1
238#endif /* GL_OES_element_index_uint */
239
240#ifndef GL_OES_fbo_render_mipmap
241#define GL_OES_fbo_render_mipmap 1
242#endif /* GL_OES_fbo_render_mipmap */
243
244#ifndef GL_OES_fragment_precision_high
245#define GL_OES_fragment_precision_high 1
246#endif /* GL_OES_fragment_precision_high */
247
248#ifndef GL_OES_get_program_binary
249#define GL_OES_get_program_binary 1
250#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
251#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
252#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
253typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
254typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
255#ifdef GL_GLEXT_PROTOTYPES
256GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
257GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
258#endif
259#endif /* GL_OES_get_program_binary */
260
261#ifndef GL_OES_mapbuffer
262#define GL_OES_mapbuffer 1
263#define GL_WRITE_ONLY_OES 0x88B9
264#define GL_BUFFER_ACCESS_OES 0x88BB
265#define GL_BUFFER_MAPPED_OES 0x88BC
266#define GL_BUFFER_MAP_POINTER_OES 0x88BD
267typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
268typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
269typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
270#ifdef GL_GLEXT_PROTOTYPES
271GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
272GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
273GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
274#endif
275#endif /* GL_OES_mapbuffer */
276
277#ifndef GL_OES_packed_depth_stencil
278#define GL_OES_packed_depth_stencil 1
279#define GL_DEPTH_STENCIL_OES 0x84F9
280#define GL_UNSIGNED_INT_24_8_OES 0x84FA
281#define GL_DEPTH24_STENCIL8_OES 0x88F0
282#endif /* GL_OES_packed_depth_stencil */
283
284#ifndef GL_OES_required_internalformat
285#define GL_OES_required_internalformat 1
286#define GL_ALPHA8_OES 0x803C
287#define GL_DEPTH_COMPONENT16_OES 0x81A5
288#define GL_LUMINANCE4_ALPHA4_OES 0x8043
289#define GL_LUMINANCE8_ALPHA8_OES 0x8045
290#define GL_LUMINANCE8_OES 0x8040
291#define GL_RGBA4_OES 0x8056
292#define GL_RGB5_A1_OES 0x8057
293#define GL_RGB565_OES 0x8D62
294#define GL_RGB8_OES 0x8051
295#define GL_RGBA8_OES 0x8058
296#define GL_RGB10_EXT 0x8052
297#define GL_RGB10_A2_EXT 0x8059
298#endif /* GL_OES_required_internalformat */
299
300#ifndef GL_OES_rgb8_rgba8
301#define GL_OES_rgb8_rgba8 1
302#endif /* GL_OES_rgb8_rgba8 */
303
Jordan Justen7c379eb2014-03-25 00:38:20 -0700304#ifndef GL_OES_sample_shading
305#define GL_OES_sample_shading 1
306#define GL_SAMPLE_SHADING_OES 0x8C36
307#define GL_MIN_SAMPLE_SHADING_VALUE_OES 0x8C37
308typedef void (GL_APIENTRYP PFNGLMINSAMPLESHADINGOESPROC) (GLfloat value);
309#ifdef GL_GLEXT_PROTOTYPES
310GL_APICALL void GL_APIENTRY glMinSampleShadingOES (GLfloat value);
311#endif
312#endif /* GL_OES_sample_shading */
313
314#ifndef GL_OES_sample_variables
315#define GL_OES_sample_variables 1
316#endif /* GL_OES_sample_variables */
317
318#ifndef GL_OES_shader_image_atomic
319#define GL_OES_shader_image_atomic 1
320#endif /* GL_OES_shader_image_atomic */
321
322#ifndef GL_OES_shader_multisample_interpolation
323#define GL_OES_shader_multisample_interpolation 1
324#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5B
325#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5C
326#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES 0x8E5D
327#endif /* GL_OES_shader_multisample_interpolation */
328
Matt Turnerd519ebb2014-01-22 14:12:14 -0800329#ifndef GL_OES_standard_derivatives
330#define GL_OES_standard_derivatives 1
331#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
332#endif /* GL_OES_standard_derivatives */
333
334#ifndef GL_OES_stencil1
335#define GL_OES_stencil1 1
336#define GL_STENCIL_INDEX1_OES 0x8D46
337#endif /* GL_OES_stencil1 */
338
339#ifndef GL_OES_stencil4
340#define GL_OES_stencil4 1
341#define GL_STENCIL_INDEX4_OES 0x8D47
342#endif /* GL_OES_stencil4 */
343
344#ifndef GL_OES_surfaceless_context
345#define GL_OES_surfaceless_context 1
346#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
347#endif /* GL_OES_surfaceless_context */
348
349#ifndef GL_OES_texture_3D
350#define GL_OES_texture_3D 1
351#define GL_TEXTURE_WRAP_R_OES 0x8072
352#define GL_TEXTURE_3D_OES 0x806F
353#define GL_TEXTURE_BINDING_3D_OES 0x806A
354#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
355#define GL_SAMPLER_3D_OES 0x8B5F
356#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
357typedef 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);
358typedef 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);
359typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
360typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
361typedef 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);
362typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
363#ifdef GL_GLEXT_PROTOTYPES
364GL_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);
365GL_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);
366GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
367GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
368GL_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);
369GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
370#endif
371#endif /* GL_OES_texture_3D */
372
373#ifndef GL_OES_texture_compression_astc
374#define GL_OES_texture_compression_astc 1
375#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0
376#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1
377#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2
378#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3
379#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4
380#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5
381#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6
382#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7
383#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8
384#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9
385#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0
386#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1
387#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2
388#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3
389#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4
390#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5
391#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6
392#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7
393#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8
394#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9
395#endif /* GL_OES_texture_compression_astc */
396
397#ifndef GL_OES_texture_float
398#define GL_OES_texture_float 1
399#endif /* GL_OES_texture_float */
400
401#ifndef GL_OES_texture_float_linear
402#define GL_OES_texture_float_linear 1
403#endif /* GL_OES_texture_float_linear */
404
405#ifndef GL_OES_texture_half_float
406#define GL_OES_texture_half_float 1
407#define GL_HALF_FLOAT_OES 0x8D61
408#endif /* GL_OES_texture_half_float */
409
410#ifndef GL_OES_texture_half_float_linear
411#define GL_OES_texture_half_float_linear 1
412#endif /* GL_OES_texture_half_float_linear */
413
414#ifndef GL_OES_texture_npot
415#define GL_OES_texture_npot 1
416#endif /* GL_OES_texture_npot */
417
Jordan Justen7c379eb2014-03-25 00:38:20 -0700418#ifndef GL_OES_texture_stencil8
419#define GL_OES_texture_stencil8 1
420#define GL_STENCIL_INDEX_OES 0x1901
421#define GL_STENCIL_INDEX8_OES 0x8D48
422#endif /* GL_OES_texture_stencil8 */
423
424#ifndef GL_OES_texture_storage_multisample_2d_array
425#define GL_OES_texture_storage_multisample_2d_array 1
426#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES 0x9102
427#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES 0x9105
428#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910B
429#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910C
430#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910D
431typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
432#ifdef GL_GLEXT_PROTOTYPES
433GL_APICALL void GL_APIENTRY glTexStorage3DMultisampleOES (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
434#endif
435#endif /* GL_OES_texture_storage_multisample_2d_array */
436
Matt Turnerd519ebb2014-01-22 14:12:14 -0800437#ifndef GL_OES_vertex_array_object
438#define GL_OES_vertex_array_object 1
439#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
440typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
441typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
442typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
443typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
444#ifdef GL_GLEXT_PROTOTYPES
445GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
446GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
447GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
448GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
449#endif
450#endif /* GL_OES_vertex_array_object */
451
452#ifndef GL_OES_vertex_half_float
453#define GL_OES_vertex_half_float 1
454#endif /* GL_OES_vertex_half_float */
455
456#ifndef GL_OES_vertex_type_10_10_10_2
457#define GL_OES_vertex_type_10_10_10_2 1
458#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
459#define GL_INT_10_10_10_2_OES 0x8DF7
460#endif /* GL_OES_vertex_type_10_10_10_2 */
461
Brian Paul0ebc94d2008-06-04 10:04:31 -0600462#ifndef GL_AMD_compressed_3DC_texture
463#define GL_AMD_compressed_3DC_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800464#define GL_3DC_X_AMD 0x87F9
465#define GL_3DC_XY_AMD 0x87FA
466#endif /* GL_AMD_compressed_3DC_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600467
Brian Paul0ebc94d2008-06-04 10:04:31 -0600468#ifndef GL_AMD_compressed_ATC_texture
469#define GL_AMD_compressed_ATC_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800470#define GL_ATC_RGB_AMD 0x8C92
471#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
472#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
473#endif /* GL_AMD_compressed_ATC_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600474
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800475#ifndef GL_AMD_performance_monitor
476#define GL_AMD_performance_monitor 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800477#define GL_COUNTER_TYPE_AMD 0x8BC0
478#define GL_COUNTER_RANGE_AMD 0x8BC1
479#define GL_UNSIGNED_INT64_AMD 0x8BC2
480#define GL_PERCENTAGE_AMD 0x8BC3
481#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
482#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
483#define GL_PERFMON_RESULT_AMD 0x8BC6
484typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
485typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
486typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
487typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
488typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
489typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
490typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
491typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
492typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
493typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
494typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800495#ifdef GL_GLEXT_PROTOTYPES
496GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
497GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
498GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
499GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800500GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800501GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
502GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800503GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800504GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
505GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
506GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
507#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800508#endif /* GL_AMD_performance_monitor */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800509
Brian Paul0ebc94d2008-06-04 10:04:31 -0600510#ifndef GL_AMD_program_binary_Z400
511#define GL_AMD_program_binary_Z400 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800512#define GL_Z400_BINARY_AMD 0x8740
513#endif /* GL_AMD_program_binary_Z400 */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600514
Matt Turner00a945f2013-07-26 16:33:10 -0700515#ifndef GL_ANGLE_depth_texture
516#define GL_ANGLE_depth_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800517#endif /* GL_ANGLE_depth_texture */
Matt Turner00a945f2013-07-26 16:33:10 -0700518
Ian Romanickb152a232011-09-20 15:54:52 -0700519#ifndef GL_ANGLE_framebuffer_blit
520#define GL_ANGLE_framebuffer_blit 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800521#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
522#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
523#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
524#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
525typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
Ian Romanickb152a232011-09-20 15:54:52 -0700526#ifdef GL_GLEXT_PROTOTYPES
527GL_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);
528#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800529#endif /* GL_ANGLE_framebuffer_blit */
Ian Romanickb152a232011-09-20 15:54:52 -0700530
Ian Romanickb152a232011-09-20 15:54:52 -0700531#ifndef GL_ANGLE_framebuffer_multisample
532#define GL_ANGLE_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800533#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
534#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
535#define GL_MAX_SAMPLES_ANGLE 0x8D57
536typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Ian Romanickb152a232011-09-20 15:54:52 -0700537#ifdef GL_GLEXT_PROTOTYPES
538GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
539#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800540#endif /* GL_ANGLE_framebuffer_multisample */
Ian Romanickb152a232011-09-20 15:54:52 -0700541
Matt Turner00a945f2013-07-26 16:33:10 -0700542#ifndef GL_ANGLE_instanced_arrays
543#define GL_ANGLE_instanced_arrays 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800544#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
545typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
546typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
547typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400548#ifdef GL_GLEXT_PROTOTYPES
549GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
550GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
551GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
552#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800553#endif /* GL_ANGLE_instanced_arrays */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400554
Matt Turner00a945f2013-07-26 16:33:10 -0700555#ifndef GL_ANGLE_pack_reverse_row_order
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400556#define GL_ANGLE_pack_reverse_row_order 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800557#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
558#endif /* GL_ANGLE_pack_reverse_row_order */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400559
Matt Turner00a945f2013-07-26 16:33:10 -0700560#ifndef GL_ANGLE_program_binary
561#define GL_ANGLE_program_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800562#define GL_PROGRAM_BINARY_ANGLE 0x93A6
563#endif /* GL_ANGLE_program_binary */
Matt Turner00a945f2013-07-26 16:33:10 -0700564
Matt Turner00a945f2013-07-26 16:33:10 -0700565#ifndef GL_ANGLE_texture_compression_dxt3
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400566#define GL_ANGLE_texture_compression_dxt3 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800567#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
568#endif /* GL_ANGLE_texture_compression_dxt3 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400569
Matt Turner00a945f2013-07-26 16:33:10 -0700570#ifndef GL_ANGLE_texture_compression_dxt5
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400571#define GL_ANGLE_texture_compression_dxt5 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800572#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
573#endif /* GL_ANGLE_texture_compression_dxt5 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400574
Matt Turner00a945f2013-07-26 16:33:10 -0700575#ifndef GL_ANGLE_texture_usage
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400576#define GL_ANGLE_texture_usage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800577#define GL_TEXTURE_USAGE_ANGLE 0x93A2
578#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
579#endif /* GL_ANGLE_texture_usage */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400580
Matt Turner00a945f2013-07-26 16:33:10 -0700581#ifndef GL_ANGLE_translated_shader_source
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400582#define GL_ANGLE_translated_shader_source 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800583#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
584typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400585#ifdef GL_GLEXT_PROTOTYPES
586GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
587#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800588#endif /* GL_ANGLE_translated_shader_source */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400589
Matt Turner5c78ad82012-11-15 11:56:22 -0800590#ifndef GL_APPLE_copy_texture_levels
591#define GL_APPLE_copy_texture_levels 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800592typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
Matt Turner5c78ad82012-11-15 11:56:22 -0800593#ifdef GL_GLEXT_PROTOTYPES
594GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
595#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800596#endif /* GL_APPLE_copy_texture_levels */
Ian Romanickb152a232011-09-20 15:54:52 -0700597
Ian Romanickb152a232011-09-20 15:54:52 -0700598#ifndef GL_APPLE_framebuffer_multisample
599#define GL_APPLE_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800600#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
601#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
602#define GL_MAX_SAMPLES_APPLE 0x8D57
603#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
604#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
605#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
606#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
Ian Romanickb152a232011-09-20 15:54:52 -0700607typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
608typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800609#ifdef GL_GLEXT_PROTOTYPES
610GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
611GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
Ian Romanickb152a232011-09-20 15:54:52 -0700612#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800613#endif /* GL_APPLE_framebuffer_multisample */
Ian Romanickb152a232011-09-20 15:54:52 -0700614
Matt Turner5c78ad82012-11-15 11:56:22 -0800615#ifndef GL_APPLE_rgb_422
616#define GL_APPLE_rgb_422 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800617#define GL_RGB_422_APPLE 0x8A1F
618#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
619#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
620#define GL_RGB_RAW_422_APPLE 0x8A51
621#endif /* GL_APPLE_rgb_422 */
Matt Turner5c78ad82012-11-15 11:56:22 -0800622
Matt Turner5c78ad82012-11-15 11:56:22 -0800623#ifndef GL_APPLE_sync
624#define GL_APPLE_sync 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800625#define GL_SYNC_OBJECT_APPLE 0x8A53
626#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
627#define GL_OBJECT_TYPE_APPLE 0x9112
628#define GL_SYNC_CONDITION_APPLE 0x9113
629#define GL_SYNC_STATUS_APPLE 0x9114
630#define GL_SYNC_FLAGS_APPLE 0x9115
631#define GL_SYNC_FENCE_APPLE 0x9116
632#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
633#define GL_UNSIGNALED_APPLE 0x9118
634#define GL_SIGNALED_APPLE 0x9119
635#define GL_ALREADY_SIGNALED_APPLE 0x911A
636#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
637#define GL_CONDITION_SATISFIED_APPLE 0x911C
638#define GL_WAIT_FAILED_APPLE 0x911D
639#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
640#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
641typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
642typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
643typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
644typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
645typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
646typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
647typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
Matt Turner5c78ad82012-11-15 11:56:22 -0800648#ifdef GL_GLEXT_PROTOTYPES
649GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
650GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
651GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
652GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
653GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
654GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
655GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
656#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800657#endif /* GL_APPLE_sync */
Matt Turner5c78ad82012-11-15 11:56:22 -0800658
Ian Romanickb152a232011-09-20 15:54:52 -0700659#ifndef GL_APPLE_texture_format_BGRA8888
660#define GL_APPLE_texture_format_BGRA8888 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800661#define GL_BGRA_EXT 0x80E1
662#define GL_BGRA8_EXT 0x93A1
663#endif /* GL_APPLE_texture_format_BGRA8888 */
Ian Romanickb152a232011-09-20 15:54:52 -0700664
Ian Romanickb152a232011-09-20 15:54:52 -0700665#ifndef GL_APPLE_texture_max_level
666#define GL_APPLE_texture_max_level 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800667#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
668#endif /* GL_APPLE_texture_max_level */
Ian Romanickb152a232011-09-20 15:54:52 -0700669
Matt Turner5c78ad82012-11-15 11:56:22 -0800670#ifndef GL_ARM_mali_program_binary
671#define GL_ARM_mali_program_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800672#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
673#endif /* GL_ARM_mali_program_binary */
Matt Turner5c78ad82012-11-15 11:56:22 -0800674
Ian Romanickb152a232011-09-20 15:54:52 -0700675#ifndef GL_ARM_mali_shader_binary
676#define GL_ARM_mali_shader_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800677#define GL_MALI_SHADER_BINARY_ARM 0x8F60
678#endif /* GL_ARM_mali_shader_binary */
Ian Romanickb152a232011-09-20 15:54:52 -0700679
Ian Romanickb152a232011-09-20 15:54:52 -0700680#ifndef GL_ARM_rgba8
681#define GL_ARM_rgba8 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800682#endif /* GL_ARM_rgba8 */
Ian Romanickb152a232011-09-20 15:54:52 -0700683
Jordan Justen7c379eb2014-03-25 00:38:20 -0700684#ifndef GL_ARM_shader_framebuffer_fetch
685#define GL_ARM_shader_framebuffer_fetch 1
686#define GL_FETCH_PER_SAMPLE_ARM 0x8F65
687#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM 0x8F66
688#endif /* GL_ARM_shader_framebuffer_fetch */
689
690#ifndef GL_ARM_shader_framebuffer_fetch_depth_stencil
691#define GL_ARM_shader_framebuffer_fetch_depth_stencil 1
692#endif /* GL_ARM_shader_framebuffer_fetch_depth_stencil */
693
Matt Turnerd519ebb2014-01-22 14:12:14 -0800694#ifndef GL_DMP_shader_binary
695#define GL_DMP_shader_binary 1
696#define GL_SHADER_BINARY_DMP 0x9250
697#endif /* GL_DMP_shader_binary */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600698
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800699#ifndef GL_EXT_blend_minmax
700#define GL_EXT_blend_minmax 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800701#define GL_MIN_EXT 0x8007
702#define GL_MAX_EXT 0x8008
703#endif /* GL_EXT_blend_minmax */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800704
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400705#ifndef GL_EXT_color_buffer_half_float
706#define GL_EXT_color_buffer_half_float 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800707#define GL_RGBA16F_EXT 0x881A
708#define GL_RGB16F_EXT 0x881B
709#define GL_RG16F_EXT 0x822F
710#define GL_R16F_EXT 0x822D
711#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
712#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
713#endif /* GL_EXT_color_buffer_half_float */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400714
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400715#ifndef GL_EXT_debug_label
716#define GL_EXT_debug_label 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800717#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
718#define GL_PROGRAM_OBJECT_EXT 0x8B40
719#define GL_SHADER_OBJECT_EXT 0x8B48
720#define GL_BUFFER_OBJECT_EXT 0x9151
721#define GL_QUERY_OBJECT_EXT 0x9153
722#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
723#define GL_TRANSFORM_FEEDBACK 0x8E22
724typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
725typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400726#ifdef GL_GLEXT_PROTOTYPES
727GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
728GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
729#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800730#endif /* GL_EXT_debug_label */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400731
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400732#ifndef GL_EXT_debug_marker
733#define GL_EXT_debug_marker 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800734typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
735typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
736typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400737#ifdef GL_GLEXT_PROTOTYPES
738GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
739GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
740GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
741#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800742#endif /* GL_EXT_debug_marker */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400743
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800744#ifndef GL_EXT_discard_framebuffer
745#define GL_EXT_discard_framebuffer 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800746#define GL_COLOR_EXT 0x1800
747#define GL_DEPTH_EXT 0x1801
748#define GL_STENCIL_EXT 0x1802
749typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800750#ifdef GL_GLEXT_PROTOTYPES
751GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
752#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800753#endif /* GL_EXT_discard_framebuffer */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800754
Matt Turner00a945f2013-07-26 16:33:10 -0700755#ifndef GL_EXT_disjoint_timer_query
756#define GL_EXT_disjoint_timer_query 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800757#define GL_QUERY_COUNTER_BITS_EXT 0x8864
758#define GL_CURRENT_QUERY_EXT 0x8865
759#define GL_QUERY_RESULT_EXT 0x8866
760#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
761#define GL_TIME_ELAPSED_EXT 0x88BF
762#define GL_TIMESTAMP_EXT 0x8E28
763#define GL_GPU_DISJOINT_EXT 0x8FBB
764typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
765typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
766typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
767typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
768typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
769typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
770typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
771typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
772typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
773typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
774typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
Matt Turner00a945f2013-07-26 16:33:10 -0700775#ifdef GL_GLEXT_PROTOTYPES
776GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
777GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
778GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
779GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
780GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
781GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
782GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
783GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
784GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
785GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
786GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
787#endif
Matt Turner00a945f2013-07-26 16:33:10 -0700788#endif /* GL_EXT_disjoint_timer_query */
789
790#ifndef GL_EXT_draw_buffers
791#define GL_EXT_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800792#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
793#define GL_MAX_DRAW_BUFFERS_EXT 0x8824
794#define GL_DRAW_BUFFER0_EXT 0x8825
795#define GL_DRAW_BUFFER1_EXT 0x8826
796#define GL_DRAW_BUFFER2_EXT 0x8827
797#define GL_DRAW_BUFFER3_EXT 0x8828
798#define GL_DRAW_BUFFER4_EXT 0x8829
799#define GL_DRAW_BUFFER5_EXT 0x882A
800#define GL_DRAW_BUFFER6_EXT 0x882B
801#define GL_DRAW_BUFFER7_EXT 0x882C
802#define GL_DRAW_BUFFER8_EXT 0x882D
803#define GL_DRAW_BUFFER9_EXT 0x882E
804#define GL_DRAW_BUFFER10_EXT 0x882F
805#define GL_DRAW_BUFFER11_EXT 0x8830
806#define GL_DRAW_BUFFER12_EXT 0x8831
807#define GL_DRAW_BUFFER13_EXT 0x8832
808#define GL_DRAW_BUFFER14_EXT 0x8833
809#define GL_DRAW_BUFFER15_EXT 0x8834
810#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
811#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
812#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
813#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
814#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
815#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
816#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
817#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
818#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
819#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
820#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
821#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
822#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
823#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
824#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
825#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
826typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
Matt Turner00a945f2013-07-26 16:33:10 -0700827#ifdef GL_GLEXT_PROTOTYPES
828GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
829#endif
Matt Turner00a945f2013-07-26 16:33:10 -0700830#endif /* GL_EXT_draw_buffers */
831
Matt Turnerd519ebb2014-01-22 14:12:14 -0800832#ifndef GL_EXT_draw_instanced
833#define GL_EXT_draw_instanced 1
834typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
835typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
836#ifdef GL_GLEXT_PROTOTYPES
837GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
838GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
839#endif
840#endif /* GL_EXT_draw_instanced */
841
842#ifndef GL_EXT_instanced_arrays
843#define GL_EXT_instanced_arrays 1
844#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE
845typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
846#ifdef GL_GLEXT_PROTOTYPES
847GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor);
848#endif
849#endif /* GL_EXT_instanced_arrays */
850
Matt Turner5c78ad82012-11-15 11:56:22 -0800851#ifndef GL_EXT_map_buffer_range
852#define GL_EXT_map_buffer_range 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800853#define GL_MAP_READ_BIT_EXT 0x0001
854#define GL_MAP_WRITE_BIT_EXT 0x0002
855#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
856#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
857#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
858#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
859typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
860typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
Matt Turner5c78ad82012-11-15 11:56:22 -0800861#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -0800862GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
Matt Turner5c78ad82012-11-15 11:56:22 -0800863GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
864#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800865#endif /* GL_EXT_map_buffer_range */
Matt Turner5c78ad82012-11-15 11:56:22 -0800866
Matt Turnerd519ebb2014-01-22 14:12:14 -0800867#ifndef GL_EXT_multi_draw_arrays
868#define GL_EXT_multi_draw_arrays 1
869typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
870typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
871#ifdef GL_GLEXT_PROTOTYPES
872GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
873GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
874#endif
875#endif /* GL_EXT_multi_draw_arrays */
876
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400877#ifndef GL_EXT_multisampled_render_to_texture
878#define GL_EXT_multisampled_render_to_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800879#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
880#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
881#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
882#define GL_MAX_SAMPLES_EXT 0x8D57
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400883typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
884typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800885#ifdef GL_GLEXT_PROTOTYPES
886GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
887GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400888#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800889#endif /* GL_EXT_multisampled_render_to_texture */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400890
Matt Turner5c78ad82012-11-15 11:56:22 -0800891#ifndef GL_EXT_multiview_draw_buffers
892#define GL_EXT_multiview_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800893#define GL_COLOR_ATTACHMENT_EXT 0x90F0
894#define GL_MULTIVIEW_EXT 0x90F1
895#define GL_DRAW_BUFFER_EXT 0x0C01
896#define GL_READ_BUFFER_EXT 0x0C02
897#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
898typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
899typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
900typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
Matt Turner5c78ad82012-11-15 11:56:22 -0800901#ifdef GL_GLEXT_PROTOTYPES
902GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
903GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
904GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
905#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800906#endif /* GL_EXT_multiview_draw_buffers */
Matt Turner5c78ad82012-11-15 11:56:22 -0800907
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400908#ifndef GL_EXT_occlusion_query_boolean
909#define GL_EXT_occlusion_query_boolean 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800910#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
911#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
912#endif /* GL_EXT_occlusion_query_boolean */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400913
Matt Turnerd519ebb2014-01-22 14:12:14 -0800914#ifndef GL_EXT_pvrtc_sRGB
915#define GL_EXT_pvrtc_sRGB 1
916#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
917#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
918#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
919#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
920#endif /* GL_EXT_pvrtc_sRGB */
921
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800922#ifndef GL_EXT_read_format_bgra
923#define GL_EXT_read_format_bgra 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800924#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
925#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
926#endif /* GL_EXT_read_format_bgra */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800927
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400928#ifndef GL_EXT_robustness
929#define GL_EXT_robustness 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800930#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
931#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
932#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
933#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
934#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
935#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
936#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
937typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
938typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
939typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
940typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400941#ifdef GL_GLEXT_PROTOTYPES
942GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
943GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800944GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400945GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
946#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800947#endif /* GL_EXT_robustness */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400948
Matt Turnerd519ebb2014-01-22 14:12:14 -0800949#ifndef GL_EXT_sRGB
950#define GL_EXT_sRGB 1
951#define GL_SRGB_EXT 0x8C40
952#define GL_SRGB_ALPHA_EXT 0x8C42
953#define GL_SRGB8_ALPHA8_EXT 0x8C43
954#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
955#endif /* GL_EXT_sRGB */
956
957#ifndef GL_EXT_sRGB_write_control
958#define GL_EXT_sRGB_write_control 1
959#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
960#endif /* GL_EXT_sRGB_write_control */
961
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400962#ifndef GL_EXT_separate_shader_objects
963#define GL_EXT_separate_shader_objects 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800964#define GL_ACTIVE_PROGRAM_EXT 0x8259
965#define GL_VERTEX_SHADER_BIT_EXT 0x00000001
966#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
967#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
968#define GL_PROGRAM_SEPARABLE_EXT 0x8258
969#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400970typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400971typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800972typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400973typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
974typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800975typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
976typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400977typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
978typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800979typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400980typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800981typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
982typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
983typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400984typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800985typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
986typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
987typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400988typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800989typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
990typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
991typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400992typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800993typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
994typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400995typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
996typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
997typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800998typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400999typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001000typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
1001typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
1002typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1003typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1004typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1005typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1006typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1007typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1008typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1009typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1010typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1011typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1012typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1013typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1014#ifdef GL_GLEXT_PROTOTYPES
1015GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
1016GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
1017GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
1018GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1019GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
1020GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1021GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
1022GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1023GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
1024GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
1025GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1026GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
1027GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1028GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1029GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1030GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
1031GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1032GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1033GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1034GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1035GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1036GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1037GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1038GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1039GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1040GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1041GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1042GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1043GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
1044GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
1045GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
1046GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
1047GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1048GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1049GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1050GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1051GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1052GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1053GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1054GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1055GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1056GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1057GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1058GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001059#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001060#endif /* GL_EXT_separate_shader_objects */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001061
Matt Turner5c78ad82012-11-15 11:56:22 -08001062#ifndef GL_EXT_shader_framebuffer_fetch
1063#define GL_EXT_shader_framebuffer_fetch 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001064#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
1065#endif /* GL_EXT_shader_framebuffer_fetch */
Matt Turner5c78ad82012-11-15 11:56:22 -08001066
Matt Turnerd519ebb2014-01-22 14:12:14 -08001067#ifndef GL_EXT_shader_integer_mix
1068#define GL_EXT_shader_integer_mix 1
1069#endif /* GL_EXT_shader_integer_mix */
1070
Jordan Justen7c379eb2014-03-25 00:38:20 -07001071#ifndef GL_EXT_shader_pixel_local_storage
1072#define GL_EXT_shader_pixel_local_storage 1
1073#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT 0x8F63
1074#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT 0x8F67
1075#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT 0x8F64
1076#endif /* GL_EXT_shader_pixel_local_storage */
1077
Ian Romanickb152a232011-09-20 15:54:52 -07001078#ifndef GL_EXT_shader_texture_lod
1079#define GL_EXT_shader_texture_lod 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001080#endif /* GL_EXT_shader_texture_lod */
Ian Romanickb152a232011-09-20 15:54:52 -07001081
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001082#ifndef GL_EXT_shadow_samplers
1083#define GL_EXT_shadow_samplers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001084#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
1085#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
1086#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
1087#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
1088#endif /* GL_EXT_shadow_samplers */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001089
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001090#ifndef GL_EXT_texture_compression_dxt1
1091#define GL_EXT_texture_compression_dxt1 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001092#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
1093#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
1094#endif /* GL_EXT_texture_compression_dxt1 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001095
Matt Turnerd519ebb2014-01-22 14:12:14 -08001096#ifndef GL_EXT_texture_compression_s3tc
1097#define GL_EXT_texture_compression_s3tc 1
1098#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
1099#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
1100#endif /* GL_EXT_texture_compression_s3tc */
1101
Brian Paul0ebc94d2008-06-04 10:04:31 -06001102#ifndef GL_EXT_texture_filter_anisotropic
1103#define GL_EXT_texture_filter_anisotropic 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001104#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
1105#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
1106#endif /* GL_EXT_texture_filter_anisotropic */
Brian Paul0ebc94d2008-06-04 10:04:31 -06001107
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001108#ifndef GL_EXT_texture_format_BGRA8888
1109#define GL_EXT_texture_format_BGRA8888 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001110#endif /* GL_EXT_texture_format_BGRA8888 */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001111
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001112#ifndef GL_EXT_texture_rg
1113#define GL_EXT_texture_rg 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001114#define GL_RED_EXT 0x1903
1115#define GL_RG_EXT 0x8227
1116#define GL_R8_EXT 0x8229
1117#define GL_RG8_EXT 0x822B
1118#endif /* GL_EXT_texture_rg */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001119
Matt Turnerd519ebb2014-01-22 14:12:14 -08001120#ifndef GL_EXT_texture_sRGB_decode
1121#define GL_EXT_texture_sRGB_decode 1
1122#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
1123#define GL_DECODE_EXT 0x8A49
1124#define GL_SKIP_DECODE_EXT 0x8A4A
1125#endif /* GL_EXT_texture_sRGB_decode */
1126
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001127#ifndef GL_EXT_texture_storage
1128#define GL_EXT_texture_storage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001129#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
1130#define GL_ALPHA8_EXT 0x803C
1131#define GL_LUMINANCE8_EXT 0x8040
1132#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
1133#define GL_RGBA32F_EXT 0x8814
1134#define GL_RGB32F_EXT 0x8815
1135#define GL_ALPHA32F_EXT 0x8816
1136#define GL_LUMINANCE32F_EXT 0x8818
1137#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
1138#define GL_ALPHA16F_EXT 0x881C
1139#define GL_LUMINANCE16F_EXT 0x881E
1140#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
1141#define GL_R32F_EXT 0x822E
1142#define GL_RG32F_EXT 0x8230
1143typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1144typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1145typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1146typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1147typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1148typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001149#ifdef GL_GLEXT_PROTOTYPES
1150GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1151GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1152GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1153GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1154GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1155GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1156#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001157#endif /* GL_EXT_texture_storage */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001158
Brian Paul0ebc94d2008-06-04 10:04:31 -06001159#ifndef GL_EXT_texture_type_2_10_10_10_REV
1160#define GL_EXT_texture_type_2_10_10_10_REV 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001161#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
1162#endif /* GL_EXT_texture_type_2_10_10_10_REV */
Brian Paul0ebc94d2008-06-04 10:04:31 -06001163
Ian Romanickb152a232011-09-20 15:54:52 -07001164#ifndef GL_EXT_unpack_subimage
1165#define GL_EXT_unpack_subimage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001166#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
1167#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
1168#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
1169#endif /* GL_EXT_unpack_subimage */
Ian Romanickb152a232011-09-20 15:54:52 -07001170
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001171#ifndef GL_FJ_shader_binary_GCCSO
1172#define GL_FJ_shader_binary_GCCSO 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001173#define GL_GCCSO_SHADER_BINARY_FJ 0x9260
1174#endif /* GL_FJ_shader_binary_GCCSO */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001175
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001176#ifndef GL_IMG_multisampled_render_to_texture
1177#define GL_IMG_multisampled_render_to_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001178#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
1179#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
1180#define GL_MAX_SAMPLES_IMG 0x9135
1181#define GL_TEXTURE_SAMPLES_IMG 0x9136
Matt Turner5c78ad82012-11-15 11:56:22 -08001182typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1183typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001184#ifdef GL_GLEXT_PROTOTYPES
1185GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1186GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001187#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001188#endif /* GL_IMG_multisampled_render_to_texture */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001189
Matt Turnerd519ebb2014-01-22 14:12:14 -08001190#ifndef GL_IMG_program_binary
1191#define GL_IMG_program_binary 1
1192#define GL_SGX_PROGRAM_BINARY_IMG 0x9130
1193#endif /* GL_IMG_program_binary */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001194
Matt Turnerd519ebb2014-01-22 14:12:14 -08001195#ifndef GL_IMG_read_format
1196#define GL_IMG_read_format 1
1197#define GL_BGRA_IMG 0x80E1
1198#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
1199#endif /* GL_IMG_read_format */
1200
1201#ifndef GL_IMG_shader_binary
1202#define GL_IMG_shader_binary 1
1203#define GL_SGX_BINARY_IMG 0x8C0A
1204#endif /* GL_IMG_shader_binary */
1205
1206#ifndef GL_IMG_texture_compression_pvrtc
1207#define GL_IMG_texture_compression_pvrtc 1
1208#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
1209#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
1210#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
1211#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
1212#endif /* GL_IMG_texture_compression_pvrtc */
1213
1214#ifndef GL_IMG_texture_compression_pvrtc2
1215#define GL_IMG_texture_compression_pvrtc2 1
1216#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
1217#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
1218#endif /* GL_IMG_texture_compression_pvrtc2 */
1219
1220#ifndef GL_INTEL_performance_query
1221#define GL_INTEL_performance_query 1
1222#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000
1223#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001
1224#define GL_PERFQUERY_WAIT_INTEL 0x83FB
1225#define GL_PERFQUERY_FLUSH_INTEL 0x83FA
1226#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9
1227#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0
1228#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1
1229#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2
1230#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3
1231#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4
1232#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5
1233#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8
1234#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9
1235#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA
1236#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB
1237#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC
1238#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD
1239#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
1240#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
1241#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
1242typedef void (GL_APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
1243typedef void (GL_APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle);
1244typedef void (GL_APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
1245typedef void (GL_APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
1246typedef void (GL_APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
1247typedef void (GL_APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId);
1248typedef void (GL_APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
1249typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
1250typedef void (GL_APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId);
1251typedef void (GL_APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
1252#ifdef GL_GLEXT_PROTOTYPES
1253GL_APICALL void GL_APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
1254GL_APICALL void GL_APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle);
1255GL_APICALL void GL_APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
1256GL_APICALL void GL_APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
1257GL_APICALL void GL_APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
1258GL_APICALL void GL_APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId);
1259GL_APICALL void GL_APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
1260GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
1261GL_APICALL void GL_APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId);
1262GL_APICALL void GL_APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
1263#endif
1264#endif /* GL_INTEL_performance_query */
1265
1266#ifndef GL_NV_blend_equation_advanced
1267#define GL_NV_blend_equation_advanced 1
1268#define GL_BLEND_OVERLAP_NV 0x9281
1269#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
1270#define GL_BLUE_NV 0x1905
1271#define GL_COLORBURN_NV 0x929A
1272#define GL_COLORDODGE_NV 0x9299
1273#define GL_CONJOINT_NV 0x9284
1274#define GL_CONTRAST_NV 0x92A1
1275#define GL_DARKEN_NV 0x9297
1276#define GL_DIFFERENCE_NV 0x929E
1277#define GL_DISJOINT_NV 0x9283
1278#define GL_DST_ATOP_NV 0x928F
1279#define GL_DST_IN_NV 0x928B
1280#define GL_DST_NV 0x9287
1281#define GL_DST_OUT_NV 0x928D
1282#define GL_DST_OVER_NV 0x9289
1283#define GL_EXCLUSION_NV 0x92A0
1284#define GL_GREEN_NV 0x1904
1285#define GL_HARDLIGHT_NV 0x929B
1286#define GL_HARDMIX_NV 0x92A9
1287#define GL_HSL_COLOR_NV 0x92AF
1288#define GL_HSL_HUE_NV 0x92AD
1289#define GL_HSL_LUMINOSITY_NV 0x92B0
1290#define GL_HSL_SATURATION_NV 0x92AE
1291#define GL_INVERT_OVG_NV 0x92B4
1292#define GL_INVERT_RGB_NV 0x92A3
1293#define GL_LIGHTEN_NV 0x9298
1294#define GL_LINEARBURN_NV 0x92A5
1295#define GL_LINEARDODGE_NV 0x92A4
1296#define GL_LINEARLIGHT_NV 0x92A7
1297#define GL_MINUS_CLAMPED_NV 0x92B3
1298#define GL_MINUS_NV 0x929F
1299#define GL_MULTIPLY_NV 0x9294
1300#define GL_OVERLAY_NV 0x9296
1301#define GL_PINLIGHT_NV 0x92A8
1302#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2
1303#define GL_PLUS_CLAMPED_NV 0x92B1
1304#define GL_PLUS_DARKER_NV 0x9292
1305#define GL_PLUS_NV 0x9291
1306#define GL_RED_NV 0x1903
1307#define GL_SCREEN_NV 0x9295
1308#define GL_SOFTLIGHT_NV 0x929C
1309#define GL_SRC_ATOP_NV 0x928E
1310#define GL_SRC_IN_NV 0x928A
1311#define GL_SRC_NV 0x9286
1312#define GL_SRC_OUT_NV 0x928C
1313#define GL_SRC_OVER_NV 0x9288
1314#define GL_UNCORRELATED_NV 0x9282
1315#define GL_VIVIDLIGHT_NV 0x92A6
1316#define GL_XOR_NV 0x1506
1317typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
1318typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
1319#ifdef GL_GLEXT_PROTOTYPES
1320GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value);
1321GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
1322#endif
1323#endif /* GL_NV_blend_equation_advanced */
1324
1325#ifndef GL_NV_blend_equation_advanced_coherent
1326#define GL_NV_blend_equation_advanced_coherent 1
1327#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285
1328#endif /* GL_NV_blend_equation_advanced_coherent */
1329
1330#ifndef GL_NV_copy_buffer
1331#define GL_NV_copy_buffer 1
1332#define GL_COPY_READ_BUFFER_NV 0x8F36
1333#define GL_COPY_WRITE_BUFFER_NV 0x8F37
1334typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1335#ifdef GL_GLEXT_PROTOTYPES
1336GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1337#endif
1338#endif /* GL_NV_copy_buffer */
1339
Ian Romanickb152a232011-09-20 15:54:52 -07001340#ifndef GL_NV_coverage_sample
1341#define GL_NV_coverage_sample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001342#define GL_COVERAGE_COMPONENT_NV 0x8ED0
1343#define GL_COVERAGE_COMPONENT4_NV 0x8ED1
1344#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
1345#define GL_COVERAGE_BUFFERS_NV 0x8ED3
1346#define GL_COVERAGE_SAMPLES_NV 0x8ED4
1347#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
1348#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
1349#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
1350#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000
1351typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1352typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
Ian Romanickb152a232011-09-20 15:54:52 -07001353#ifdef GL_GLEXT_PROTOTYPES
1354GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1355GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1356#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001357#endif /* GL_NV_coverage_sample */
Ian Romanickb152a232011-09-20 15:54:52 -07001358
Ian Romanickb152a232011-09-20 15:54:52 -07001359#ifndef GL_NV_depth_nonlinear
1360#define GL_NV_depth_nonlinear 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001361#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
1362#endif /* GL_NV_depth_nonlinear */
Ian Romanickb152a232011-09-20 15:54:52 -07001363
Ian Romanickb152a232011-09-20 15:54:52 -07001364#ifndef GL_NV_draw_buffers
1365#define GL_NV_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001366#define GL_MAX_DRAW_BUFFERS_NV 0x8824
1367#define GL_DRAW_BUFFER0_NV 0x8825
1368#define GL_DRAW_BUFFER1_NV 0x8826
1369#define GL_DRAW_BUFFER2_NV 0x8827
1370#define GL_DRAW_BUFFER3_NV 0x8828
1371#define GL_DRAW_BUFFER4_NV 0x8829
1372#define GL_DRAW_BUFFER5_NV 0x882A
1373#define GL_DRAW_BUFFER6_NV 0x882B
1374#define GL_DRAW_BUFFER7_NV 0x882C
1375#define GL_DRAW_BUFFER8_NV 0x882D
1376#define GL_DRAW_BUFFER9_NV 0x882E
1377#define GL_DRAW_BUFFER10_NV 0x882F
1378#define GL_DRAW_BUFFER11_NV 0x8830
1379#define GL_DRAW_BUFFER12_NV 0x8831
1380#define GL_DRAW_BUFFER13_NV 0x8832
1381#define GL_DRAW_BUFFER14_NV 0x8833
1382#define GL_DRAW_BUFFER15_NV 0x8834
1383#define GL_COLOR_ATTACHMENT0_NV 0x8CE0
1384#define GL_COLOR_ATTACHMENT1_NV 0x8CE1
1385#define GL_COLOR_ATTACHMENT2_NV 0x8CE2
1386#define GL_COLOR_ATTACHMENT3_NV 0x8CE3
1387#define GL_COLOR_ATTACHMENT4_NV 0x8CE4
1388#define GL_COLOR_ATTACHMENT5_NV 0x8CE5
1389#define GL_COLOR_ATTACHMENT6_NV 0x8CE6
1390#define GL_COLOR_ATTACHMENT7_NV 0x8CE7
1391#define GL_COLOR_ATTACHMENT8_NV 0x8CE8
1392#define GL_COLOR_ATTACHMENT9_NV 0x8CE9
1393#define GL_COLOR_ATTACHMENT10_NV 0x8CEA
1394#define GL_COLOR_ATTACHMENT11_NV 0x8CEB
1395#define GL_COLOR_ATTACHMENT12_NV 0x8CEC
1396#define GL_COLOR_ATTACHMENT13_NV 0x8CED
1397#define GL_COLOR_ATTACHMENT14_NV 0x8CEE
1398#define GL_COLOR_ATTACHMENT15_NV 0x8CEF
1399typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
Ian Romanickb152a232011-09-20 15:54:52 -07001400#ifdef GL_GLEXT_PROTOTYPES
1401GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1402#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001403#endif /* GL_NV_draw_buffers */
Ian Romanickb152a232011-09-20 15:54:52 -07001404
Matt Turner00a945f2013-07-26 16:33:10 -07001405#ifndef GL_NV_draw_instanced
1406#define GL_NV_draw_instanced 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001407typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1408typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
Matt Turner00a945f2013-07-26 16:33:10 -07001409#ifdef GL_GLEXT_PROTOTYPES
1410GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001411GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
Matt Turner00a945f2013-07-26 16:33:10 -07001412#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001413#endif /* GL_NV_draw_instanced */
Matt Turner00a945f2013-07-26 16:33:10 -07001414
Matt Turnerd519ebb2014-01-22 14:12:14 -08001415#ifndef GL_NV_explicit_attrib_location
1416#define GL_NV_explicit_attrib_location 1
1417#endif /* GL_NV_explicit_attrib_location */
1418
Ian Romanickb152a232011-09-20 15:54:52 -07001419#ifndef GL_NV_fbo_color_attachments
1420#define GL_NV_fbo_color_attachments 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001421#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
1422#endif /* GL_NV_fbo_color_attachments */
Ian Romanickb152a232011-09-20 15:54:52 -07001423
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001424#ifndef GL_NV_fence
1425#define GL_NV_fence 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001426#define GL_ALL_COMPLETED_NV 0x84F2
1427#define GL_FENCE_STATUS_NV 0x84F3
1428#define GL_FENCE_CONDITION_NV 0x84F4
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001429typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1430typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1431typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1432typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1433typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1434typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1435typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001436#ifdef GL_GLEXT_PROTOTYPES
1437GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
1438GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
1439GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
1440GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
1441GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
1442GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
1443GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001444#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001445#endif /* GL_NV_fence */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001446
Matt Turner00a945f2013-07-26 16:33:10 -07001447#ifndef GL_NV_framebuffer_blit
1448#define GL_NV_framebuffer_blit 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001449#define GL_READ_FRAMEBUFFER_NV 0x8CA8
1450#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
1451#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
1452#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
1453typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
Matt Turner00a945f2013-07-26 16:33:10 -07001454#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08001455GL_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);
Matt Turner00a945f2013-07-26 16:33:10 -07001456#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001457#endif /* GL_NV_framebuffer_blit */
Matt Turner00a945f2013-07-26 16:33:10 -07001458
Matt Turner00a945f2013-07-26 16:33:10 -07001459#ifndef GL_NV_framebuffer_multisample
1460#define GL_NV_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001461#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
1462#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
1463#define GL_MAX_SAMPLES_NV 0x8D57
1464typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Matt Turner00a945f2013-07-26 16:33:10 -07001465#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08001466GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Matt Turner00a945f2013-07-26 16:33:10 -07001467#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001468#endif /* GL_NV_framebuffer_multisample */
Matt Turner00a945f2013-07-26 16:33:10 -07001469
Matt Turner00a945f2013-07-26 16:33:10 -07001470#ifndef GL_NV_generate_mipmap_sRGB
1471#define GL_NV_generate_mipmap_sRGB 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001472#endif /* GL_NV_generate_mipmap_sRGB */
Matt Turner00a945f2013-07-26 16:33:10 -07001473
Matt Turner00a945f2013-07-26 16:33:10 -07001474#ifndef GL_NV_instanced_arrays
1475#define GL_NV_instanced_arrays 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001476#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
1477typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
Matt Turner00a945f2013-07-26 16:33:10 -07001478#ifdef GL_GLEXT_PROTOTYPES
1479GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
1480#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001481#endif /* GL_NV_instanced_arrays */
Matt Turner00a945f2013-07-26 16:33:10 -07001482
Matt Turnerd519ebb2014-01-22 14:12:14 -08001483#ifndef GL_NV_non_square_matrices
1484#define GL_NV_non_square_matrices 1
1485#define GL_FLOAT_MAT2x3_NV 0x8B65
1486#define GL_FLOAT_MAT2x4_NV 0x8B66
1487#define GL_FLOAT_MAT3x2_NV 0x8B67
1488#define GL_FLOAT_MAT3x4_NV 0x8B68
1489#define GL_FLOAT_MAT4x2_NV 0x8B69
1490#define GL_FLOAT_MAT4x3_NV 0x8B6A
1491typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1492typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1493typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1494typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1495typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1496typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1497#ifdef GL_GLEXT_PROTOTYPES
1498GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1499GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1500GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1501GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1502GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1503GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1504#endif
1505#endif /* GL_NV_non_square_matrices */
1506
Ian Romanickb152a232011-09-20 15:54:52 -07001507#ifndef GL_NV_read_buffer
1508#define GL_NV_read_buffer 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001509#define GL_READ_BUFFER_NV 0x0C02
1510typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001511#ifdef GL_GLEXT_PROTOTYPES
Ian Romanickb152a232011-09-20 15:54:52 -07001512GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001513#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001514#endif /* GL_NV_read_buffer */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001515
Ian Romanickb152a232011-09-20 15:54:52 -07001516#ifndef GL_NV_read_buffer_front
1517#define GL_NV_read_buffer_front 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001518#endif /* GL_NV_read_buffer_front */
Ian Romanickb152a232011-09-20 15:54:52 -07001519
Ian Romanickb152a232011-09-20 15:54:52 -07001520#ifndef GL_NV_read_depth
1521#define GL_NV_read_depth 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001522#endif /* GL_NV_read_depth */
Ian Romanickb152a232011-09-20 15:54:52 -07001523
Ian Romanickb152a232011-09-20 15:54:52 -07001524#ifndef GL_NV_read_depth_stencil
1525#define GL_NV_read_depth_stencil 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001526#endif /* GL_NV_read_depth_stencil */
Ian Romanickb152a232011-09-20 15:54:52 -07001527
Ian Romanickb152a232011-09-20 15:54:52 -07001528#ifndef GL_NV_read_stencil
1529#define GL_NV_read_stencil 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001530#endif /* GL_NV_read_stencil */
Ian Romanickb152a232011-09-20 15:54:52 -07001531
Matt Turner00a945f2013-07-26 16:33:10 -07001532#ifndef GL_NV_sRGB_formats
1533#define GL_NV_sRGB_formats 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001534#define GL_SLUMINANCE_NV 0x8C46
1535#define GL_SLUMINANCE_ALPHA_NV 0x8C44
1536#define GL_SRGB8_NV 0x8C41
1537#define GL_SLUMINANCE8_NV 0x8C47
1538#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
1539#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
1540#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
1541#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
1542#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
1543#define GL_ETC1_SRGB8_NV 0x88EE
1544#endif /* GL_NV_sRGB_formats */
Matt Turner00a945f2013-07-26 16:33:10 -07001545
Matt Turnerd519ebb2014-01-22 14:12:14 -08001546#ifndef GL_NV_shadow_samplers_array
1547#define GL_NV_shadow_samplers_array 1
1548#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
1549#endif /* GL_NV_shadow_samplers_array */
1550
1551#ifndef GL_NV_shadow_samplers_cube
1552#define GL_NV_shadow_samplers_cube 1
1553#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
1554#endif /* GL_NV_shadow_samplers_cube */
1555
Matt Turner00a945f2013-07-26 16:33:10 -07001556#ifndef GL_NV_texture_border_clamp
1557#define GL_NV_texture_border_clamp 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001558#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
1559#define GL_CLAMP_TO_BORDER_NV 0x812D
1560#endif /* GL_NV_texture_border_clamp */
Matt Turner00a945f2013-07-26 16:33:10 -07001561
Ian Romanickb152a232011-09-20 15:54:52 -07001562#ifndef GL_NV_texture_compression_s3tc_update
1563#define GL_NV_texture_compression_s3tc_update 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001564#endif /* GL_NV_texture_compression_s3tc_update */
Ian Romanickb152a232011-09-20 15:54:52 -07001565
Ian Romanickb152a232011-09-20 15:54:52 -07001566#ifndef GL_NV_texture_npot_2D_mipmap
1567#define GL_NV_texture_npot_2D_mipmap 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001568#endif /* GL_NV_texture_npot_2D_mipmap */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001569
Ian Romanickb152a232011-09-20 15:54:52 -07001570#ifndef GL_QCOM_alpha_test
1571#define GL_QCOM_alpha_test 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001572#define GL_ALPHA_TEST_QCOM 0x0BC0
1573#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
1574#define GL_ALPHA_TEST_REF_QCOM 0x0BC2
1575typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
Ian Romanickb152a232011-09-20 15:54:52 -07001576#ifdef GL_GLEXT_PROTOTYPES
1577GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1578#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001579#endif /* GL_QCOM_alpha_test */
Ian Romanickb152a232011-09-20 15:54:52 -07001580
Matt Turner5c78ad82012-11-15 11:56:22 -08001581#ifndef GL_QCOM_binning_control
1582#define GL_QCOM_binning_control 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001583#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
1584#define GL_CPU_OPTIMIZED_QCOM 0x8FB1
1585#define GL_GPU_OPTIMIZED_QCOM 0x8FB2
1586#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
1587#endif /* GL_QCOM_binning_control */
Matt Turner5c78ad82012-11-15 11:56:22 -08001588
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001589#ifndef GL_QCOM_driver_control
1590#define GL_QCOM_driver_control 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001591typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1592typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1593typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1594typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001595#ifdef GL_GLEXT_PROTOTYPES
1596GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1597GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1598GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1599GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1600#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001601#endif /* GL_QCOM_driver_control */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001602
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001603#ifndef GL_QCOM_extended_get
1604#define GL_QCOM_extended_get 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001605#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
1606#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
1607#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
1608#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
1609#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
1610#define GL_TEXTURE_TYPE_QCOM 0x8BD7
1611#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
1612#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
1613#define GL_TEXTURE_TARGET_QCOM 0x8BDA
1614#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
1615#define GL_STATE_RESTORE 0x8BDC
1616typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1617typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1618typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1619typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1620typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1621typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1622typedef 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);
1623typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001624#ifdef GL_GLEXT_PROTOTYPES
1625GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1626GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1627GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1628GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1629GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1630GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001631GL_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);
1632GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001633#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001634#endif /* GL_QCOM_extended_get */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001635
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001636#ifndef GL_QCOM_extended_get2
1637#define GL_QCOM_extended_get2 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001638typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1639typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1640typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1641typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001642#ifdef GL_GLEXT_PROTOTYPES
1643GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1644GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1645GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1646GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1647#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001648#endif /* GL_QCOM_extended_get2 */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001649
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001650#ifndef GL_QCOM_perfmon_global_mode
1651#define GL_QCOM_perfmon_global_mode 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001652#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
1653#endif /* GL_QCOM_perfmon_global_mode */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001654
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001655#ifndef GL_QCOM_tiled_rendering
1656#define GL_QCOM_tiled_rendering 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001657#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
1658#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
1659#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
1660#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
1661#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
1662#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
1663#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
1664#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
1665#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
1666#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
1667#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
1668#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
1669#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
1670#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
1671#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
1672#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
1673#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
1674#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
1675#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
1676#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
1677#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
1678#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
1679#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
1680#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
1681#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
1682#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
1683#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
1684#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
1685#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
1686#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
1687#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
1688#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
1689typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1690typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001691#ifdef GL_GLEXT_PROTOTYPES
1692GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1693GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1694#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001695#endif /* GL_QCOM_tiled_rendering */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001696
Matt Turnerd519ebb2014-01-22 14:12:14 -08001697#ifndef GL_QCOM_writeonly_rendering
1698#define GL_QCOM_writeonly_rendering 1
1699#define GL_WRITEONLY_RENDERING_QCOM 0x8823
1700#endif /* GL_QCOM_writeonly_rendering */
Ian Romanickb152a232011-09-20 15:54:52 -07001701
Ian Romanickb152a232011-09-20 15:54:52 -07001702#ifndef GL_VIV_shader_binary
1703#define GL_VIV_shader_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001704#define GL_SHADER_BINARY_VIV 0x8FC4
1705#endif /* GL_VIV_shader_binary */
Ian Romanickb152a232011-09-20 15:54:52 -07001706
Brian Paul0ebc94d2008-06-04 10:04:31 -06001707#ifdef __cplusplus
1708}
1709#endif
1710
Matt Turnerd519ebb2014-01-22 14:12:14 -08001711#endif