blob: 2a84c4d812b4634f65b3ace5555508e8685a9b43 [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/*
Matt Turnerd519ebb2014-01-22 14:12:14 -08009** Copyright (c) 2013 The Khronos Group Inc.
10**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34** http://www.opengl.org/registry/
35**
36** Khronos $Revision: 24614 $ on $Date: 2013-12-30 04:44:46 -0800 (Mon, 30 Dec 2013) $
37*/
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
Matt Turnerd519ebb2014-01-22 14:12:14 -080043/* Generated on date 20131230 */
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
55#ifndef GL_KHR_debug
56#define GL_KHR_debug 1
Matt Turnerd519ebb2014-01-22 14:12:14 -080057typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
58#define GL_SAMPLER 0x82E6
59#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
60#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
61#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
62#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
63#define GL_DEBUG_SOURCE_API_KHR 0x8246
64#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
65#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
66#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
67#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
68#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
69#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
70#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
71#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
72#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
73#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
74#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
75#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
76#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
77#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
78#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
79#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
80#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
81#define GL_BUFFER_KHR 0x82E0
82#define GL_SHADER_KHR 0x82E1
83#define GL_PROGRAM_KHR 0x82E2
84#define GL_VERTEX_ARRAY_KHR 0x8074
85#define GL_QUERY_KHR 0x82E3
86#define GL_SAMPLER_KHR 0x82E6
87#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
88#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
89#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
90#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
91#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
92#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
93#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
94#define GL_DEBUG_OUTPUT_KHR 0x92E0
95#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
96#define GL_STACK_OVERFLOW_KHR 0x0503
97#define GL_STACK_UNDERFLOW_KHR 0x0504
98typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
99typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
100typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
101typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
102typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
103typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
104typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
105typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
106typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
107typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
108typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
Matt Turner5c78ad82012-11-15 11:56:22 -0800109#ifdef GL_GLEXT_PROTOTYPES
Matt Turner00a945f2013-07-26 16:33:10 -0700110GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
111GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
112GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800113GL_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 -0700114GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
115GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
116GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
117GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
118GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
119GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
120GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
121#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800122#endif /* GL_KHR_debug */
123
124#ifndef GL_KHR_texture_compression_astc_hdr
125#define GL_KHR_texture_compression_astc_hdr 1
126#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
127#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
128#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
129#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
130#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
131#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
132#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
133#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
134#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
135#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
136#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
137#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
138#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
139#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
140#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
141#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
142#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
143#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
144#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
145#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
146#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
147#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
148#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
149#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
150#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
151#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
152#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
153#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
154#endif /* GL_KHR_texture_compression_astc_hdr */
Matt Turner5c78ad82012-11-15 11:56:22 -0800155
156#ifndef GL_KHR_texture_compression_astc_ldr
157#define GL_KHR_texture_compression_astc_ldr 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800158#endif /* GL_KHR_texture_compression_astc_ldr */
159
160#ifndef GL_OES_EGL_image
161#define GL_OES_EGL_image 1
162typedef void *GLeglImageOES;
163typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
164typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
165#ifdef GL_GLEXT_PROTOTYPES
166GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
167GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
Matt Turner5c78ad82012-11-15 11:56:22 -0800168#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800169#endif /* GL_OES_EGL_image */
Matt Turner5c78ad82012-11-15 11:56:22 -0800170
Matt Turnerd519ebb2014-01-22 14:12:14 -0800171#ifndef GL_OES_EGL_image_external
172#define GL_OES_EGL_image_external 1
173#define GL_TEXTURE_EXTERNAL_OES 0x8D65
174#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
175#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
176#define GL_SAMPLER_EXTERNAL_OES 0x8D66
177#endif /* GL_OES_EGL_image_external */
Matt Turner5c78ad82012-11-15 11:56:22 -0800178
Matt Turnerd519ebb2014-01-22 14:12:14 -0800179#ifndef GL_OES_compressed_ETC1_RGB8_texture
180#define GL_OES_compressed_ETC1_RGB8_texture 1
181#define GL_ETC1_RGB8_OES 0x8D64
182#endif /* GL_OES_compressed_ETC1_RGB8_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600183
Matt Turnerd519ebb2014-01-22 14:12:14 -0800184#ifndef GL_OES_compressed_paletted_texture
185#define GL_OES_compressed_paletted_texture 1
186#define GL_PALETTE4_RGB8_OES 0x8B90
187#define GL_PALETTE4_RGBA8_OES 0x8B91
188#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
189#define GL_PALETTE4_RGBA4_OES 0x8B93
190#define GL_PALETTE4_RGB5_A1_OES 0x8B94
191#define GL_PALETTE8_RGB8_OES 0x8B95
192#define GL_PALETTE8_RGBA8_OES 0x8B96
193#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
194#define GL_PALETTE8_RGBA4_OES 0x8B98
195#define GL_PALETTE8_RGB5_A1_OES 0x8B99
196#endif /* GL_OES_compressed_paletted_texture */
197
198#ifndef GL_OES_depth24
199#define GL_OES_depth24 1
200#define GL_DEPTH_COMPONENT24_OES 0x81A6
201#endif /* GL_OES_depth24 */
202
203#ifndef GL_OES_depth32
204#define GL_OES_depth32 1
205#define GL_DEPTH_COMPONENT32_OES 0x81A7
206#endif /* GL_OES_depth32 */
207
208#ifndef GL_OES_depth_texture
209#define GL_OES_depth_texture 1
210#endif /* GL_OES_depth_texture */
211
212#ifndef GL_OES_element_index_uint
213#define GL_OES_element_index_uint 1
214#endif /* GL_OES_element_index_uint */
215
216#ifndef GL_OES_fbo_render_mipmap
217#define GL_OES_fbo_render_mipmap 1
218#endif /* GL_OES_fbo_render_mipmap */
219
220#ifndef GL_OES_fragment_precision_high
221#define GL_OES_fragment_precision_high 1
222#endif /* GL_OES_fragment_precision_high */
223
224#ifndef GL_OES_get_program_binary
225#define GL_OES_get_program_binary 1
226#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
227#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
228#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
229typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
230typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
231#ifdef GL_GLEXT_PROTOTYPES
232GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
233GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
234#endif
235#endif /* GL_OES_get_program_binary */
236
237#ifndef GL_OES_mapbuffer
238#define GL_OES_mapbuffer 1
239#define GL_WRITE_ONLY_OES 0x88B9
240#define GL_BUFFER_ACCESS_OES 0x88BB
241#define GL_BUFFER_MAPPED_OES 0x88BC
242#define GL_BUFFER_MAP_POINTER_OES 0x88BD
243typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
244typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
245typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
246#ifdef GL_GLEXT_PROTOTYPES
247GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
248GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
249GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
250#endif
251#endif /* GL_OES_mapbuffer */
252
253#ifndef GL_OES_packed_depth_stencil
254#define GL_OES_packed_depth_stencil 1
255#define GL_DEPTH_STENCIL_OES 0x84F9
256#define GL_UNSIGNED_INT_24_8_OES 0x84FA
257#define GL_DEPTH24_STENCIL8_OES 0x88F0
258#endif /* GL_OES_packed_depth_stencil */
259
260#ifndef GL_OES_required_internalformat
261#define GL_OES_required_internalformat 1
262#define GL_ALPHA8_OES 0x803C
263#define GL_DEPTH_COMPONENT16_OES 0x81A5
264#define GL_LUMINANCE4_ALPHA4_OES 0x8043
265#define GL_LUMINANCE8_ALPHA8_OES 0x8045
266#define GL_LUMINANCE8_OES 0x8040
267#define GL_RGBA4_OES 0x8056
268#define GL_RGB5_A1_OES 0x8057
269#define GL_RGB565_OES 0x8D62
270#define GL_RGB8_OES 0x8051
271#define GL_RGBA8_OES 0x8058
272#define GL_RGB10_EXT 0x8052
273#define GL_RGB10_A2_EXT 0x8059
274#endif /* GL_OES_required_internalformat */
275
276#ifndef GL_OES_rgb8_rgba8
277#define GL_OES_rgb8_rgba8 1
278#endif /* GL_OES_rgb8_rgba8 */
279
280#ifndef GL_OES_standard_derivatives
281#define GL_OES_standard_derivatives 1
282#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
283#endif /* GL_OES_standard_derivatives */
284
285#ifndef GL_OES_stencil1
286#define GL_OES_stencil1 1
287#define GL_STENCIL_INDEX1_OES 0x8D46
288#endif /* GL_OES_stencil1 */
289
290#ifndef GL_OES_stencil4
291#define GL_OES_stencil4 1
292#define GL_STENCIL_INDEX4_OES 0x8D47
293#endif /* GL_OES_stencil4 */
294
295#ifndef GL_OES_surfaceless_context
296#define GL_OES_surfaceless_context 1
297#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
298#endif /* GL_OES_surfaceless_context */
299
300#ifndef GL_OES_texture_3D
301#define GL_OES_texture_3D 1
302#define GL_TEXTURE_WRAP_R_OES 0x8072
303#define GL_TEXTURE_3D_OES 0x806F
304#define GL_TEXTURE_BINDING_3D_OES 0x806A
305#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
306#define GL_SAMPLER_3D_OES 0x8B5F
307#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
308typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
309typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
310typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
311typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
312typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
313typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
314#ifdef GL_GLEXT_PROTOTYPES
315GL_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);
316GL_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);
317GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
318GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
319GL_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);
320GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
321#endif
322#endif /* GL_OES_texture_3D */
323
324#ifndef GL_OES_texture_compression_astc
325#define GL_OES_texture_compression_astc 1
326#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0
327#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1
328#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2
329#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3
330#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4
331#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5
332#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6
333#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7
334#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8
335#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9
336#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0
337#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1
338#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2
339#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3
340#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4
341#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5
342#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6
343#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7
344#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8
345#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9
346#endif /* GL_OES_texture_compression_astc */
347
348#ifndef GL_OES_texture_float
349#define GL_OES_texture_float 1
350#endif /* GL_OES_texture_float */
351
352#ifndef GL_OES_texture_float_linear
353#define GL_OES_texture_float_linear 1
354#endif /* GL_OES_texture_float_linear */
355
356#ifndef GL_OES_texture_half_float
357#define GL_OES_texture_half_float 1
358#define GL_HALF_FLOAT_OES 0x8D61
359#endif /* GL_OES_texture_half_float */
360
361#ifndef GL_OES_texture_half_float_linear
362#define GL_OES_texture_half_float_linear 1
363#endif /* GL_OES_texture_half_float_linear */
364
365#ifndef GL_OES_texture_npot
366#define GL_OES_texture_npot 1
367#endif /* GL_OES_texture_npot */
368
369#ifndef GL_OES_vertex_array_object
370#define GL_OES_vertex_array_object 1
371#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
372typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
373typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
374typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
375typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
376#ifdef GL_GLEXT_PROTOTYPES
377GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
378GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
379GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
380GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
381#endif
382#endif /* GL_OES_vertex_array_object */
383
384#ifndef GL_OES_vertex_half_float
385#define GL_OES_vertex_half_float 1
386#endif /* GL_OES_vertex_half_float */
387
388#ifndef GL_OES_vertex_type_10_10_10_2
389#define GL_OES_vertex_type_10_10_10_2 1
390#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
391#define GL_INT_10_10_10_2_OES 0x8DF7
392#endif /* GL_OES_vertex_type_10_10_10_2 */
393
Brian Paul0ebc94d2008-06-04 10:04:31 -0600394#ifndef GL_AMD_compressed_3DC_texture
395#define GL_AMD_compressed_3DC_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800396#define GL_3DC_X_AMD 0x87F9
397#define GL_3DC_XY_AMD 0x87FA
398#endif /* GL_AMD_compressed_3DC_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600399
Brian Paul0ebc94d2008-06-04 10:04:31 -0600400#ifndef GL_AMD_compressed_ATC_texture
401#define GL_AMD_compressed_ATC_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800402#define GL_ATC_RGB_AMD 0x8C92
403#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
404#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
405#endif /* GL_AMD_compressed_ATC_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600406
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800407#ifndef GL_AMD_performance_monitor
408#define GL_AMD_performance_monitor 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800409#define GL_COUNTER_TYPE_AMD 0x8BC0
410#define GL_COUNTER_RANGE_AMD 0x8BC1
411#define GL_UNSIGNED_INT64_AMD 0x8BC2
412#define GL_PERCENTAGE_AMD 0x8BC3
413#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
414#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
415#define GL_PERFMON_RESULT_AMD 0x8BC6
416typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
417typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
418typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
419typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
420typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
421typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
422typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
423typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
424typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
425typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
426typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800427#ifdef GL_GLEXT_PROTOTYPES
428GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
429GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
430GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
431GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800432GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800433GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
434GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800435GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800436GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
437GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
438GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
439#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800440#endif /* GL_AMD_performance_monitor */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800441
Brian Paul0ebc94d2008-06-04 10:04:31 -0600442#ifndef GL_AMD_program_binary_Z400
443#define GL_AMD_program_binary_Z400 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800444#define GL_Z400_BINARY_AMD 0x8740
445#endif /* GL_AMD_program_binary_Z400 */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600446
Matt Turner00a945f2013-07-26 16:33:10 -0700447#ifndef GL_ANGLE_depth_texture
448#define GL_ANGLE_depth_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800449#endif /* GL_ANGLE_depth_texture */
Matt Turner00a945f2013-07-26 16:33:10 -0700450
Ian Romanickb152a232011-09-20 15:54:52 -0700451#ifndef GL_ANGLE_framebuffer_blit
452#define GL_ANGLE_framebuffer_blit 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800453#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
454#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
455#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
456#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
457typedef 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 -0700458#ifdef GL_GLEXT_PROTOTYPES
459GL_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);
460#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800461#endif /* GL_ANGLE_framebuffer_blit */
Ian Romanickb152a232011-09-20 15:54:52 -0700462
Ian Romanickb152a232011-09-20 15:54:52 -0700463#ifndef GL_ANGLE_framebuffer_multisample
464#define GL_ANGLE_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800465#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
466#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
467#define GL_MAX_SAMPLES_ANGLE 0x8D57
468typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Ian Romanickb152a232011-09-20 15:54:52 -0700469#ifdef GL_GLEXT_PROTOTYPES
470GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
471#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800472#endif /* GL_ANGLE_framebuffer_multisample */
Ian Romanickb152a232011-09-20 15:54:52 -0700473
Matt Turner00a945f2013-07-26 16:33:10 -0700474#ifndef GL_ANGLE_instanced_arrays
475#define GL_ANGLE_instanced_arrays 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800476#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
477typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
478typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
479typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400480#ifdef GL_GLEXT_PROTOTYPES
481GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
482GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
483GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
484#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800485#endif /* GL_ANGLE_instanced_arrays */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400486
Matt Turner00a945f2013-07-26 16:33:10 -0700487#ifndef GL_ANGLE_pack_reverse_row_order
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400488#define GL_ANGLE_pack_reverse_row_order 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800489#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
490#endif /* GL_ANGLE_pack_reverse_row_order */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400491
Matt Turner00a945f2013-07-26 16:33:10 -0700492#ifndef GL_ANGLE_program_binary
493#define GL_ANGLE_program_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800494#define GL_PROGRAM_BINARY_ANGLE 0x93A6
495#endif /* GL_ANGLE_program_binary */
Matt Turner00a945f2013-07-26 16:33:10 -0700496
Matt Turner00a945f2013-07-26 16:33:10 -0700497#ifndef GL_ANGLE_texture_compression_dxt3
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400498#define GL_ANGLE_texture_compression_dxt3 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800499#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
500#endif /* GL_ANGLE_texture_compression_dxt3 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400501
Matt Turner00a945f2013-07-26 16:33:10 -0700502#ifndef GL_ANGLE_texture_compression_dxt5
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400503#define GL_ANGLE_texture_compression_dxt5 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800504#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
505#endif /* GL_ANGLE_texture_compression_dxt5 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400506
Matt Turner00a945f2013-07-26 16:33:10 -0700507#ifndef GL_ANGLE_texture_usage
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400508#define GL_ANGLE_texture_usage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800509#define GL_TEXTURE_USAGE_ANGLE 0x93A2
510#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
511#endif /* GL_ANGLE_texture_usage */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400512
Matt Turner00a945f2013-07-26 16:33:10 -0700513#ifndef GL_ANGLE_translated_shader_source
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400514#define GL_ANGLE_translated_shader_source 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800515#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
516typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400517#ifdef GL_GLEXT_PROTOTYPES
518GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
519#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800520#endif /* GL_ANGLE_translated_shader_source */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400521
Matt Turner5c78ad82012-11-15 11:56:22 -0800522#ifndef GL_APPLE_copy_texture_levels
523#define GL_APPLE_copy_texture_levels 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800524typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
Matt Turner5c78ad82012-11-15 11:56:22 -0800525#ifdef GL_GLEXT_PROTOTYPES
526GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
527#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800528#endif /* GL_APPLE_copy_texture_levels */
Ian Romanickb152a232011-09-20 15:54:52 -0700529
Ian Romanickb152a232011-09-20 15:54:52 -0700530#ifndef GL_APPLE_framebuffer_multisample
531#define GL_APPLE_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800532#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
533#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
534#define GL_MAX_SAMPLES_APPLE 0x8D57
535#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
536#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
537#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
538#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
Ian Romanickb152a232011-09-20 15:54:52 -0700539typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
540typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800541#ifdef GL_GLEXT_PROTOTYPES
542GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
543GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
Ian Romanickb152a232011-09-20 15:54:52 -0700544#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800545#endif /* GL_APPLE_framebuffer_multisample */
Ian Romanickb152a232011-09-20 15:54:52 -0700546
Matt Turner5c78ad82012-11-15 11:56:22 -0800547#ifndef GL_APPLE_rgb_422
548#define GL_APPLE_rgb_422 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800549#define GL_RGB_422_APPLE 0x8A1F
550#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
551#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
552#define GL_RGB_RAW_422_APPLE 0x8A51
553#endif /* GL_APPLE_rgb_422 */
Matt Turner5c78ad82012-11-15 11:56:22 -0800554
Matt Turner5c78ad82012-11-15 11:56:22 -0800555#ifndef GL_APPLE_sync
556#define GL_APPLE_sync 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800557#define GL_SYNC_OBJECT_APPLE 0x8A53
558#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
559#define GL_OBJECT_TYPE_APPLE 0x9112
560#define GL_SYNC_CONDITION_APPLE 0x9113
561#define GL_SYNC_STATUS_APPLE 0x9114
562#define GL_SYNC_FLAGS_APPLE 0x9115
563#define GL_SYNC_FENCE_APPLE 0x9116
564#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
565#define GL_UNSIGNALED_APPLE 0x9118
566#define GL_SIGNALED_APPLE 0x9119
567#define GL_ALREADY_SIGNALED_APPLE 0x911A
568#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
569#define GL_CONDITION_SATISFIED_APPLE 0x911C
570#define GL_WAIT_FAILED_APPLE 0x911D
571#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
572#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
573typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
574typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
575typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
576typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
577typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
578typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
579typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
Matt Turner5c78ad82012-11-15 11:56:22 -0800580#ifdef GL_GLEXT_PROTOTYPES
581GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
582GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
583GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
584GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
585GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
586GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
587GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
588#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800589#endif /* GL_APPLE_sync */
Matt Turner5c78ad82012-11-15 11:56:22 -0800590
Ian Romanickb152a232011-09-20 15:54:52 -0700591#ifndef GL_APPLE_texture_format_BGRA8888
592#define GL_APPLE_texture_format_BGRA8888 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800593#define GL_BGRA_EXT 0x80E1
594#define GL_BGRA8_EXT 0x93A1
595#endif /* GL_APPLE_texture_format_BGRA8888 */
Ian Romanickb152a232011-09-20 15:54:52 -0700596
Ian Romanickb152a232011-09-20 15:54:52 -0700597#ifndef GL_APPLE_texture_max_level
598#define GL_APPLE_texture_max_level 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800599#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
600#endif /* GL_APPLE_texture_max_level */
Ian Romanickb152a232011-09-20 15:54:52 -0700601
Matt Turner5c78ad82012-11-15 11:56:22 -0800602#ifndef GL_ARM_mali_program_binary
603#define GL_ARM_mali_program_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800604#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
605#endif /* GL_ARM_mali_program_binary */
Matt Turner5c78ad82012-11-15 11:56:22 -0800606
Ian Romanickb152a232011-09-20 15:54:52 -0700607#ifndef GL_ARM_mali_shader_binary
608#define GL_ARM_mali_shader_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800609#define GL_MALI_SHADER_BINARY_ARM 0x8F60
610#endif /* GL_ARM_mali_shader_binary */
Ian Romanickb152a232011-09-20 15:54:52 -0700611
Ian Romanickb152a232011-09-20 15:54:52 -0700612#ifndef GL_ARM_rgba8
613#define GL_ARM_rgba8 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800614#endif /* GL_ARM_rgba8 */
Ian Romanickb152a232011-09-20 15:54:52 -0700615
Matt Turnerd519ebb2014-01-22 14:12:14 -0800616#ifndef GL_DMP_shader_binary
617#define GL_DMP_shader_binary 1
618#define GL_SHADER_BINARY_DMP 0x9250
619#endif /* GL_DMP_shader_binary */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600620
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800621#ifndef GL_EXT_blend_minmax
622#define GL_EXT_blend_minmax 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800623#define GL_MIN_EXT 0x8007
624#define GL_MAX_EXT 0x8008
625#endif /* GL_EXT_blend_minmax */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800626
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400627#ifndef GL_EXT_color_buffer_half_float
628#define GL_EXT_color_buffer_half_float 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800629#define GL_RGBA16F_EXT 0x881A
630#define GL_RGB16F_EXT 0x881B
631#define GL_RG16F_EXT 0x822F
632#define GL_R16F_EXT 0x822D
633#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
634#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
635#endif /* GL_EXT_color_buffer_half_float */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400636
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400637#ifndef GL_EXT_debug_label
638#define GL_EXT_debug_label 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800639#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
640#define GL_PROGRAM_OBJECT_EXT 0x8B40
641#define GL_SHADER_OBJECT_EXT 0x8B48
642#define GL_BUFFER_OBJECT_EXT 0x9151
643#define GL_QUERY_OBJECT_EXT 0x9153
644#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
645#define GL_TRANSFORM_FEEDBACK 0x8E22
646typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
647typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400648#ifdef GL_GLEXT_PROTOTYPES
649GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
650GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
651#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800652#endif /* GL_EXT_debug_label */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400653
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400654#ifndef GL_EXT_debug_marker
655#define GL_EXT_debug_marker 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800656typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
657typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
658typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400659#ifdef GL_GLEXT_PROTOTYPES
660GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
661GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
662GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
663#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800664#endif /* GL_EXT_debug_marker */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400665
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800666#ifndef GL_EXT_discard_framebuffer
667#define GL_EXT_discard_framebuffer 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800668#define GL_COLOR_EXT 0x1800
669#define GL_DEPTH_EXT 0x1801
670#define GL_STENCIL_EXT 0x1802
671typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800672#ifdef GL_GLEXT_PROTOTYPES
673GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
674#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800675#endif /* GL_EXT_discard_framebuffer */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800676
Matt Turner00a945f2013-07-26 16:33:10 -0700677#ifndef GL_EXT_disjoint_timer_query
678#define GL_EXT_disjoint_timer_query 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800679#define GL_QUERY_COUNTER_BITS_EXT 0x8864
680#define GL_CURRENT_QUERY_EXT 0x8865
681#define GL_QUERY_RESULT_EXT 0x8866
682#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
683#define GL_TIME_ELAPSED_EXT 0x88BF
684#define GL_TIMESTAMP_EXT 0x8E28
685#define GL_GPU_DISJOINT_EXT 0x8FBB
686typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
687typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
688typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
689typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
690typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
691typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
692typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
693typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
694typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
695typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
696typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
Matt Turner00a945f2013-07-26 16:33:10 -0700697#ifdef GL_GLEXT_PROTOTYPES
698GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
699GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
700GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
701GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
702GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
703GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
704GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
705GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
706GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
707GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
708GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
709#endif
Matt Turner00a945f2013-07-26 16:33:10 -0700710#endif /* GL_EXT_disjoint_timer_query */
711
712#ifndef GL_EXT_draw_buffers
713#define GL_EXT_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800714#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
715#define GL_MAX_DRAW_BUFFERS_EXT 0x8824
716#define GL_DRAW_BUFFER0_EXT 0x8825
717#define GL_DRAW_BUFFER1_EXT 0x8826
718#define GL_DRAW_BUFFER2_EXT 0x8827
719#define GL_DRAW_BUFFER3_EXT 0x8828
720#define GL_DRAW_BUFFER4_EXT 0x8829
721#define GL_DRAW_BUFFER5_EXT 0x882A
722#define GL_DRAW_BUFFER6_EXT 0x882B
723#define GL_DRAW_BUFFER7_EXT 0x882C
724#define GL_DRAW_BUFFER8_EXT 0x882D
725#define GL_DRAW_BUFFER9_EXT 0x882E
726#define GL_DRAW_BUFFER10_EXT 0x882F
727#define GL_DRAW_BUFFER11_EXT 0x8830
728#define GL_DRAW_BUFFER12_EXT 0x8831
729#define GL_DRAW_BUFFER13_EXT 0x8832
730#define GL_DRAW_BUFFER14_EXT 0x8833
731#define GL_DRAW_BUFFER15_EXT 0x8834
732#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
733#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
734#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
735#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
736#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
737#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
738#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
739#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
740#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
741#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
742#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
743#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
744#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
745#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
746#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
747#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
748typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
Matt Turner00a945f2013-07-26 16:33:10 -0700749#ifdef GL_GLEXT_PROTOTYPES
750GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
751#endif
Matt Turner00a945f2013-07-26 16:33:10 -0700752#endif /* GL_EXT_draw_buffers */
753
Matt Turnerd519ebb2014-01-22 14:12:14 -0800754#ifndef GL_EXT_draw_instanced
755#define GL_EXT_draw_instanced 1
756typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
757typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
758#ifdef GL_GLEXT_PROTOTYPES
759GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
760GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
761#endif
762#endif /* GL_EXT_draw_instanced */
763
764#ifndef GL_EXT_instanced_arrays
765#define GL_EXT_instanced_arrays 1
766#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE
767typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
768#ifdef GL_GLEXT_PROTOTYPES
769GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor);
770#endif
771#endif /* GL_EXT_instanced_arrays */
772
Matt Turner5c78ad82012-11-15 11:56:22 -0800773#ifndef GL_EXT_map_buffer_range
774#define GL_EXT_map_buffer_range 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800775#define GL_MAP_READ_BIT_EXT 0x0001
776#define GL_MAP_WRITE_BIT_EXT 0x0002
777#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
778#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
779#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
780#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
781typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
782typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
Matt Turner5c78ad82012-11-15 11:56:22 -0800783#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -0800784GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
Matt Turner5c78ad82012-11-15 11:56:22 -0800785GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
786#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800787#endif /* GL_EXT_map_buffer_range */
Matt Turner5c78ad82012-11-15 11:56:22 -0800788
Matt Turnerd519ebb2014-01-22 14:12:14 -0800789#ifndef GL_EXT_multi_draw_arrays
790#define GL_EXT_multi_draw_arrays 1
791typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
792typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
793#ifdef GL_GLEXT_PROTOTYPES
794GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
795GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
796#endif
797#endif /* GL_EXT_multi_draw_arrays */
798
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400799#ifndef GL_EXT_multisampled_render_to_texture
800#define GL_EXT_multisampled_render_to_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800801#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
802#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
803#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
804#define GL_MAX_SAMPLES_EXT 0x8D57
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400805typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
806typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800807#ifdef GL_GLEXT_PROTOTYPES
808GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
809GL_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 -0400810#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800811#endif /* GL_EXT_multisampled_render_to_texture */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400812
Matt Turner5c78ad82012-11-15 11:56:22 -0800813#ifndef GL_EXT_multiview_draw_buffers
814#define GL_EXT_multiview_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800815#define GL_COLOR_ATTACHMENT_EXT 0x90F0
816#define GL_MULTIVIEW_EXT 0x90F1
817#define GL_DRAW_BUFFER_EXT 0x0C01
818#define GL_READ_BUFFER_EXT 0x0C02
819#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
820typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
821typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
822typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
Matt Turner5c78ad82012-11-15 11:56:22 -0800823#ifdef GL_GLEXT_PROTOTYPES
824GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
825GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
826GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
827#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800828#endif /* GL_EXT_multiview_draw_buffers */
Matt Turner5c78ad82012-11-15 11:56:22 -0800829
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400830#ifndef GL_EXT_occlusion_query_boolean
831#define GL_EXT_occlusion_query_boolean 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800832#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
833#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
834#endif /* GL_EXT_occlusion_query_boolean */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400835
Matt Turnerd519ebb2014-01-22 14:12:14 -0800836#ifndef GL_EXT_pvrtc_sRGB
837#define GL_EXT_pvrtc_sRGB 1
838#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
839#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
840#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
841#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
842#endif /* GL_EXT_pvrtc_sRGB */
843
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800844#ifndef GL_EXT_read_format_bgra
845#define GL_EXT_read_format_bgra 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800846#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
847#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
848#endif /* GL_EXT_read_format_bgra */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800849
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400850#ifndef GL_EXT_robustness
851#define GL_EXT_robustness 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800852#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
853#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
854#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
855#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
856#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
857#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
858#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
859typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
860typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
861typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
862typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400863#ifdef GL_GLEXT_PROTOTYPES
864GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
865GL_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 -0800866GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400867GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
868#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800869#endif /* GL_EXT_robustness */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400870
Matt Turnerd519ebb2014-01-22 14:12:14 -0800871#ifndef GL_EXT_sRGB
872#define GL_EXT_sRGB 1
873#define GL_SRGB_EXT 0x8C40
874#define GL_SRGB_ALPHA_EXT 0x8C42
875#define GL_SRGB8_ALPHA8_EXT 0x8C43
876#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
877#endif /* GL_EXT_sRGB */
878
879#ifndef GL_EXT_sRGB_write_control
880#define GL_EXT_sRGB_write_control 1
881#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
882#endif /* GL_EXT_sRGB_write_control */
883
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400884#ifndef GL_EXT_separate_shader_objects
885#define GL_EXT_separate_shader_objects 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800886#define GL_ACTIVE_PROGRAM_EXT 0x8259
887#define GL_VERTEX_SHADER_BIT_EXT 0x00000001
888#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
889#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
890#define GL_PROGRAM_SEPARABLE_EXT 0x8258
891#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400892typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400893typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800894typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400895typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
896typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800897typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
898typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400899typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
900typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800901typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400902typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800903typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
904typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
905typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400906typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800907typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
908typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
909typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400910typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800911typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
912typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
913typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400914typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800915typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
916typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400917typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
918typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
919typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800920typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400921typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800922typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
923typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
924typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
925typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
926typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
927typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
928typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
929typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
930typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
931typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
932typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
933typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
934typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
935typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
936#ifdef GL_GLEXT_PROTOTYPES
937GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
938GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
939GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
940GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
941GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
942GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
943GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
944GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
945GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
946GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
947GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
948GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
949GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
950GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
951GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
952GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
953GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
954GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
955GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
956GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
957GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
958GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
959GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
960GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
961GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
962GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
963GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
964GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
965GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
966GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
967GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
968GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
969GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
970GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
971GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
972GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
973GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
974GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
975GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
976GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
977GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
978GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
979GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
980GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400981#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800982#endif /* GL_EXT_separate_shader_objects */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400983
Matt Turner5c78ad82012-11-15 11:56:22 -0800984#ifndef GL_EXT_shader_framebuffer_fetch
985#define GL_EXT_shader_framebuffer_fetch 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800986#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
987#endif /* GL_EXT_shader_framebuffer_fetch */
Matt Turner5c78ad82012-11-15 11:56:22 -0800988
Matt Turnerd519ebb2014-01-22 14:12:14 -0800989#ifndef GL_EXT_shader_integer_mix
990#define GL_EXT_shader_integer_mix 1
991#endif /* GL_EXT_shader_integer_mix */
992
Ian Romanickb152a232011-09-20 15:54:52 -0700993#ifndef GL_EXT_shader_texture_lod
994#define GL_EXT_shader_texture_lod 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800995#endif /* GL_EXT_shader_texture_lod */
Ian Romanickb152a232011-09-20 15:54:52 -0700996
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400997#ifndef GL_EXT_shadow_samplers
998#define GL_EXT_shadow_samplers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800999#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
1000#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
1001#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
1002#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
1003#endif /* GL_EXT_shadow_samplers */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001004
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001005#ifndef GL_EXT_texture_compression_dxt1
1006#define GL_EXT_texture_compression_dxt1 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001007#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
1008#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
1009#endif /* GL_EXT_texture_compression_dxt1 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001010
Matt Turnerd519ebb2014-01-22 14:12:14 -08001011#ifndef GL_EXT_texture_compression_s3tc
1012#define GL_EXT_texture_compression_s3tc 1
1013#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
1014#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
1015#endif /* GL_EXT_texture_compression_s3tc */
1016
Brian Paul0ebc94d2008-06-04 10:04:31 -06001017#ifndef GL_EXT_texture_filter_anisotropic
1018#define GL_EXT_texture_filter_anisotropic 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001019#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
1020#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
1021#endif /* GL_EXT_texture_filter_anisotropic */
Brian Paul0ebc94d2008-06-04 10:04:31 -06001022
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001023#ifndef GL_EXT_texture_format_BGRA8888
1024#define GL_EXT_texture_format_BGRA8888 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001025#endif /* GL_EXT_texture_format_BGRA8888 */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001026
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001027#ifndef GL_EXT_texture_rg
1028#define GL_EXT_texture_rg 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001029#define GL_RED_EXT 0x1903
1030#define GL_RG_EXT 0x8227
1031#define GL_R8_EXT 0x8229
1032#define GL_RG8_EXT 0x822B
1033#endif /* GL_EXT_texture_rg */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001034
Matt Turnerd519ebb2014-01-22 14:12:14 -08001035#ifndef GL_EXT_texture_sRGB_decode
1036#define GL_EXT_texture_sRGB_decode 1
1037#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
1038#define GL_DECODE_EXT 0x8A49
1039#define GL_SKIP_DECODE_EXT 0x8A4A
1040#endif /* GL_EXT_texture_sRGB_decode */
1041
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001042#ifndef GL_EXT_texture_storage
1043#define GL_EXT_texture_storage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001044#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
1045#define GL_ALPHA8_EXT 0x803C
1046#define GL_LUMINANCE8_EXT 0x8040
1047#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
1048#define GL_RGBA32F_EXT 0x8814
1049#define GL_RGB32F_EXT 0x8815
1050#define GL_ALPHA32F_EXT 0x8816
1051#define GL_LUMINANCE32F_EXT 0x8818
1052#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
1053#define GL_ALPHA16F_EXT 0x881C
1054#define GL_LUMINANCE16F_EXT 0x881E
1055#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
1056#define GL_R32F_EXT 0x822E
1057#define GL_RG32F_EXT 0x8230
1058typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1059typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1060typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1061typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1062typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1063typedef 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 -04001064#ifdef GL_GLEXT_PROTOTYPES
1065GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1066GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1067GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1068GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1069GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1070GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1071#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001072#endif /* GL_EXT_texture_storage */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001073
Brian Paul0ebc94d2008-06-04 10:04:31 -06001074#ifndef GL_EXT_texture_type_2_10_10_10_REV
1075#define GL_EXT_texture_type_2_10_10_10_REV 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001076#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
1077#endif /* GL_EXT_texture_type_2_10_10_10_REV */
Brian Paul0ebc94d2008-06-04 10:04:31 -06001078
Ian Romanickb152a232011-09-20 15:54:52 -07001079#ifndef GL_EXT_unpack_subimage
1080#define GL_EXT_unpack_subimage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001081#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
1082#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
1083#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
1084#endif /* GL_EXT_unpack_subimage */
Ian Romanickb152a232011-09-20 15:54:52 -07001085
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001086#ifndef GL_FJ_shader_binary_GCCSO
1087#define GL_FJ_shader_binary_GCCSO 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001088#define GL_GCCSO_SHADER_BINARY_FJ 0x9260
1089#endif /* GL_FJ_shader_binary_GCCSO */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001090
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001091#ifndef GL_IMG_multisampled_render_to_texture
1092#define GL_IMG_multisampled_render_to_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001093#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
1094#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
1095#define GL_MAX_SAMPLES_IMG 0x9135
1096#define GL_TEXTURE_SAMPLES_IMG 0x9136
Matt Turner5c78ad82012-11-15 11:56:22 -08001097typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1098typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001099#ifdef GL_GLEXT_PROTOTYPES
1100GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1101GL_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 +08001102#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001103#endif /* GL_IMG_multisampled_render_to_texture */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001104
Matt Turnerd519ebb2014-01-22 14:12:14 -08001105#ifndef GL_IMG_program_binary
1106#define GL_IMG_program_binary 1
1107#define GL_SGX_PROGRAM_BINARY_IMG 0x9130
1108#endif /* GL_IMG_program_binary */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001109
Matt Turnerd519ebb2014-01-22 14:12:14 -08001110#ifndef GL_IMG_read_format
1111#define GL_IMG_read_format 1
1112#define GL_BGRA_IMG 0x80E1
1113#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
1114#endif /* GL_IMG_read_format */
1115
1116#ifndef GL_IMG_shader_binary
1117#define GL_IMG_shader_binary 1
1118#define GL_SGX_BINARY_IMG 0x8C0A
1119#endif /* GL_IMG_shader_binary */
1120
1121#ifndef GL_IMG_texture_compression_pvrtc
1122#define GL_IMG_texture_compression_pvrtc 1
1123#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
1124#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
1125#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
1126#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
1127#endif /* GL_IMG_texture_compression_pvrtc */
1128
1129#ifndef GL_IMG_texture_compression_pvrtc2
1130#define GL_IMG_texture_compression_pvrtc2 1
1131#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
1132#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
1133#endif /* GL_IMG_texture_compression_pvrtc2 */
1134
1135#ifndef GL_INTEL_performance_query
1136#define GL_INTEL_performance_query 1
1137#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000
1138#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001
1139#define GL_PERFQUERY_WAIT_INTEL 0x83FB
1140#define GL_PERFQUERY_FLUSH_INTEL 0x83FA
1141#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9
1142#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0
1143#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1
1144#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2
1145#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3
1146#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4
1147#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5
1148#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8
1149#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9
1150#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA
1151#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB
1152#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC
1153#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD
1154#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
1155#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
1156#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
1157typedef void (GL_APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
1158typedef void (GL_APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle);
1159typedef void (GL_APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
1160typedef void (GL_APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
1161typedef void (GL_APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
1162typedef void (GL_APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId);
1163typedef 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);
1164typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
1165typedef void (GL_APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId);
1166typedef void (GL_APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
1167#ifdef GL_GLEXT_PROTOTYPES
1168GL_APICALL void GL_APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
1169GL_APICALL void GL_APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle);
1170GL_APICALL void GL_APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
1171GL_APICALL void GL_APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
1172GL_APICALL void GL_APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
1173GL_APICALL void GL_APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId);
1174GL_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);
1175GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
1176GL_APICALL void GL_APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId);
1177GL_APICALL void GL_APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
1178#endif
1179#endif /* GL_INTEL_performance_query */
1180
1181#ifndef GL_NV_blend_equation_advanced
1182#define GL_NV_blend_equation_advanced 1
1183#define GL_BLEND_OVERLAP_NV 0x9281
1184#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
1185#define GL_BLUE_NV 0x1905
1186#define GL_COLORBURN_NV 0x929A
1187#define GL_COLORDODGE_NV 0x9299
1188#define GL_CONJOINT_NV 0x9284
1189#define GL_CONTRAST_NV 0x92A1
1190#define GL_DARKEN_NV 0x9297
1191#define GL_DIFFERENCE_NV 0x929E
1192#define GL_DISJOINT_NV 0x9283
1193#define GL_DST_ATOP_NV 0x928F
1194#define GL_DST_IN_NV 0x928B
1195#define GL_DST_NV 0x9287
1196#define GL_DST_OUT_NV 0x928D
1197#define GL_DST_OVER_NV 0x9289
1198#define GL_EXCLUSION_NV 0x92A0
1199#define GL_GREEN_NV 0x1904
1200#define GL_HARDLIGHT_NV 0x929B
1201#define GL_HARDMIX_NV 0x92A9
1202#define GL_HSL_COLOR_NV 0x92AF
1203#define GL_HSL_HUE_NV 0x92AD
1204#define GL_HSL_LUMINOSITY_NV 0x92B0
1205#define GL_HSL_SATURATION_NV 0x92AE
1206#define GL_INVERT_OVG_NV 0x92B4
1207#define GL_INVERT_RGB_NV 0x92A3
1208#define GL_LIGHTEN_NV 0x9298
1209#define GL_LINEARBURN_NV 0x92A5
1210#define GL_LINEARDODGE_NV 0x92A4
1211#define GL_LINEARLIGHT_NV 0x92A7
1212#define GL_MINUS_CLAMPED_NV 0x92B3
1213#define GL_MINUS_NV 0x929F
1214#define GL_MULTIPLY_NV 0x9294
1215#define GL_OVERLAY_NV 0x9296
1216#define GL_PINLIGHT_NV 0x92A8
1217#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2
1218#define GL_PLUS_CLAMPED_NV 0x92B1
1219#define GL_PLUS_DARKER_NV 0x9292
1220#define GL_PLUS_NV 0x9291
1221#define GL_RED_NV 0x1903
1222#define GL_SCREEN_NV 0x9295
1223#define GL_SOFTLIGHT_NV 0x929C
1224#define GL_SRC_ATOP_NV 0x928E
1225#define GL_SRC_IN_NV 0x928A
1226#define GL_SRC_NV 0x9286
1227#define GL_SRC_OUT_NV 0x928C
1228#define GL_SRC_OVER_NV 0x9288
1229#define GL_UNCORRELATED_NV 0x9282
1230#define GL_VIVIDLIGHT_NV 0x92A6
1231#define GL_XOR_NV 0x1506
1232typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
1233typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
1234#ifdef GL_GLEXT_PROTOTYPES
1235GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value);
1236GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
1237#endif
1238#endif /* GL_NV_blend_equation_advanced */
1239
1240#ifndef GL_NV_blend_equation_advanced_coherent
1241#define GL_NV_blend_equation_advanced_coherent 1
1242#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285
1243#endif /* GL_NV_blend_equation_advanced_coherent */
1244
1245#ifndef GL_NV_copy_buffer
1246#define GL_NV_copy_buffer 1
1247#define GL_COPY_READ_BUFFER_NV 0x8F36
1248#define GL_COPY_WRITE_BUFFER_NV 0x8F37
1249typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1250#ifdef GL_GLEXT_PROTOTYPES
1251GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1252#endif
1253#endif /* GL_NV_copy_buffer */
1254
Ian Romanickb152a232011-09-20 15:54:52 -07001255#ifndef GL_NV_coverage_sample
1256#define GL_NV_coverage_sample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001257#define GL_COVERAGE_COMPONENT_NV 0x8ED0
1258#define GL_COVERAGE_COMPONENT4_NV 0x8ED1
1259#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
1260#define GL_COVERAGE_BUFFERS_NV 0x8ED3
1261#define GL_COVERAGE_SAMPLES_NV 0x8ED4
1262#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
1263#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
1264#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
1265#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000
1266typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1267typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
Ian Romanickb152a232011-09-20 15:54:52 -07001268#ifdef GL_GLEXT_PROTOTYPES
1269GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1270GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1271#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001272#endif /* GL_NV_coverage_sample */
Ian Romanickb152a232011-09-20 15:54:52 -07001273
Ian Romanickb152a232011-09-20 15:54:52 -07001274#ifndef GL_NV_depth_nonlinear
1275#define GL_NV_depth_nonlinear 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001276#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
1277#endif /* GL_NV_depth_nonlinear */
Ian Romanickb152a232011-09-20 15:54:52 -07001278
Ian Romanickb152a232011-09-20 15:54:52 -07001279#ifndef GL_NV_draw_buffers
1280#define GL_NV_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001281#define GL_MAX_DRAW_BUFFERS_NV 0x8824
1282#define GL_DRAW_BUFFER0_NV 0x8825
1283#define GL_DRAW_BUFFER1_NV 0x8826
1284#define GL_DRAW_BUFFER2_NV 0x8827
1285#define GL_DRAW_BUFFER3_NV 0x8828
1286#define GL_DRAW_BUFFER4_NV 0x8829
1287#define GL_DRAW_BUFFER5_NV 0x882A
1288#define GL_DRAW_BUFFER6_NV 0x882B
1289#define GL_DRAW_BUFFER7_NV 0x882C
1290#define GL_DRAW_BUFFER8_NV 0x882D
1291#define GL_DRAW_BUFFER9_NV 0x882E
1292#define GL_DRAW_BUFFER10_NV 0x882F
1293#define GL_DRAW_BUFFER11_NV 0x8830
1294#define GL_DRAW_BUFFER12_NV 0x8831
1295#define GL_DRAW_BUFFER13_NV 0x8832
1296#define GL_DRAW_BUFFER14_NV 0x8833
1297#define GL_DRAW_BUFFER15_NV 0x8834
1298#define GL_COLOR_ATTACHMENT0_NV 0x8CE0
1299#define GL_COLOR_ATTACHMENT1_NV 0x8CE1
1300#define GL_COLOR_ATTACHMENT2_NV 0x8CE2
1301#define GL_COLOR_ATTACHMENT3_NV 0x8CE3
1302#define GL_COLOR_ATTACHMENT4_NV 0x8CE4
1303#define GL_COLOR_ATTACHMENT5_NV 0x8CE5
1304#define GL_COLOR_ATTACHMENT6_NV 0x8CE6
1305#define GL_COLOR_ATTACHMENT7_NV 0x8CE7
1306#define GL_COLOR_ATTACHMENT8_NV 0x8CE8
1307#define GL_COLOR_ATTACHMENT9_NV 0x8CE9
1308#define GL_COLOR_ATTACHMENT10_NV 0x8CEA
1309#define GL_COLOR_ATTACHMENT11_NV 0x8CEB
1310#define GL_COLOR_ATTACHMENT12_NV 0x8CEC
1311#define GL_COLOR_ATTACHMENT13_NV 0x8CED
1312#define GL_COLOR_ATTACHMENT14_NV 0x8CEE
1313#define GL_COLOR_ATTACHMENT15_NV 0x8CEF
1314typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
Ian Romanickb152a232011-09-20 15:54:52 -07001315#ifdef GL_GLEXT_PROTOTYPES
1316GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1317#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001318#endif /* GL_NV_draw_buffers */
Ian Romanickb152a232011-09-20 15:54:52 -07001319
Matt Turner00a945f2013-07-26 16:33:10 -07001320#ifndef GL_NV_draw_instanced
1321#define GL_NV_draw_instanced 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001322typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1323typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
Matt Turner00a945f2013-07-26 16:33:10 -07001324#ifdef GL_GLEXT_PROTOTYPES
1325GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001326GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
Matt Turner00a945f2013-07-26 16:33:10 -07001327#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001328#endif /* GL_NV_draw_instanced */
Matt Turner00a945f2013-07-26 16:33:10 -07001329
Matt Turnerd519ebb2014-01-22 14:12:14 -08001330#ifndef GL_NV_explicit_attrib_location
1331#define GL_NV_explicit_attrib_location 1
1332#endif /* GL_NV_explicit_attrib_location */
1333
Ian Romanickb152a232011-09-20 15:54:52 -07001334#ifndef GL_NV_fbo_color_attachments
1335#define GL_NV_fbo_color_attachments 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001336#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
1337#endif /* GL_NV_fbo_color_attachments */
Ian Romanickb152a232011-09-20 15:54:52 -07001338
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001339#ifndef GL_NV_fence
1340#define GL_NV_fence 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001341#define GL_ALL_COMPLETED_NV 0x84F2
1342#define GL_FENCE_STATUS_NV 0x84F3
1343#define GL_FENCE_CONDITION_NV 0x84F4
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001344typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1345typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1346typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1347typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1348typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1349typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1350typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001351#ifdef GL_GLEXT_PROTOTYPES
1352GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
1353GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
1354GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
1355GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
1356GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
1357GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
1358GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001359#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001360#endif /* GL_NV_fence */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001361
Matt Turner00a945f2013-07-26 16:33:10 -07001362#ifndef GL_NV_framebuffer_blit
1363#define GL_NV_framebuffer_blit 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001364#define GL_READ_FRAMEBUFFER_NV 0x8CA8
1365#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
1366#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
1367#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
1368typedef 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 -07001369#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08001370GL_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 -07001371#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001372#endif /* GL_NV_framebuffer_blit */
Matt Turner00a945f2013-07-26 16:33:10 -07001373
Matt Turner00a945f2013-07-26 16:33:10 -07001374#ifndef GL_NV_framebuffer_multisample
1375#define GL_NV_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001376#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
1377#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
1378#define GL_MAX_SAMPLES_NV 0x8D57
1379typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Matt Turner00a945f2013-07-26 16:33:10 -07001380#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08001381GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Matt Turner00a945f2013-07-26 16:33:10 -07001382#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001383#endif /* GL_NV_framebuffer_multisample */
Matt Turner00a945f2013-07-26 16:33:10 -07001384
Matt Turner00a945f2013-07-26 16:33:10 -07001385#ifndef GL_NV_generate_mipmap_sRGB
1386#define GL_NV_generate_mipmap_sRGB 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001387#endif /* GL_NV_generate_mipmap_sRGB */
Matt Turner00a945f2013-07-26 16:33:10 -07001388
Matt Turner00a945f2013-07-26 16:33:10 -07001389#ifndef GL_NV_instanced_arrays
1390#define GL_NV_instanced_arrays 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001391#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
1392typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
Matt Turner00a945f2013-07-26 16:33:10 -07001393#ifdef GL_GLEXT_PROTOTYPES
1394GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
1395#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001396#endif /* GL_NV_instanced_arrays */
Matt Turner00a945f2013-07-26 16:33:10 -07001397
Matt Turnerd519ebb2014-01-22 14:12:14 -08001398#ifndef GL_NV_non_square_matrices
1399#define GL_NV_non_square_matrices 1
1400#define GL_FLOAT_MAT2x3_NV 0x8B65
1401#define GL_FLOAT_MAT2x4_NV 0x8B66
1402#define GL_FLOAT_MAT3x2_NV 0x8B67
1403#define GL_FLOAT_MAT3x4_NV 0x8B68
1404#define GL_FLOAT_MAT4x2_NV 0x8B69
1405#define GL_FLOAT_MAT4x3_NV 0x8B6A
1406typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1407typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1408typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1409typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1410typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1411typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1412#ifdef GL_GLEXT_PROTOTYPES
1413GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1414GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1415GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1416GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1417GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1418GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1419#endif
1420#endif /* GL_NV_non_square_matrices */
1421
Ian Romanickb152a232011-09-20 15:54:52 -07001422#ifndef GL_NV_read_buffer
1423#define GL_NV_read_buffer 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001424#define GL_READ_BUFFER_NV 0x0C02
1425typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001426#ifdef GL_GLEXT_PROTOTYPES
Ian Romanickb152a232011-09-20 15:54:52 -07001427GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001428#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001429#endif /* GL_NV_read_buffer */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001430
Ian Romanickb152a232011-09-20 15:54:52 -07001431#ifndef GL_NV_read_buffer_front
1432#define GL_NV_read_buffer_front 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001433#endif /* GL_NV_read_buffer_front */
Ian Romanickb152a232011-09-20 15:54:52 -07001434
Ian Romanickb152a232011-09-20 15:54:52 -07001435#ifndef GL_NV_read_depth
1436#define GL_NV_read_depth 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001437#endif /* GL_NV_read_depth */
Ian Romanickb152a232011-09-20 15:54:52 -07001438
Ian Romanickb152a232011-09-20 15:54:52 -07001439#ifndef GL_NV_read_depth_stencil
1440#define GL_NV_read_depth_stencil 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001441#endif /* GL_NV_read_depth_stencil */
Ian Romanickb152a232011-09-20 15:54:52 -07001442
Ian Romanickb152a232011-09-20 15:54:52 -07001443#ifndef GL_NV_read_stencil
1444#define GL_NV_read_stencil 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001445#endif /* GL_NV_read_stencil */
Ian Romanickb152a232011-09-20 15:54:52 -07001446
Matt Turner00a945f2013-07-26 16:33:10 -07001447#ifndef GL_NV_sRGB_formats
1448#define GL_NV_sRGB_formats 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001449#define GL_SLUMINANCE_NV 0x8C46
1450#define GL_SLUMINANCE_ALPHA_NV 0x8C44
1451#define GL_SRGB8_NV 0x8C41
1452#define GL_SLUMINANCE8_NV 0x8C47
1453#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
1454#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
1455#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
1456#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
1457#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
1458#define GL_ETC1_SRGB8_NV 0x88EE
1459#endif /* GL_NV_sRGB_formats */
Matt Turner00a945f2013-07-26 16:33:10 -07001460
Matt Turnerd519ebb2014-01-22 14:12:14 -08001461#ifndef GL_NV_shadow_samplers_array
1462#define GL_NV_shadow_samplers_array 1
1463#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
1464#endif /* GL_NV_shadow_samplers_array */
1465
1466#ifndef GL_NV_shadow_samplers_cube
1467#define GL_NV_shadow_samplers_cube 1
1468#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
1469#endif /* GL_NV_shadow_samplers_cube */
1470
Matt Turner00a945f2013-07-26 16:33:10 -07001471#ifndef GL_NV_texture_border_clamp
1472#define GL_NV_texture_border_clamp 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001473#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
1474#define GL_CLAMP_TO_BORDER_NV 0x812D
1475#endif /* GL_NV_texture_border_clamp */
Matt Turner00a945f2013-07-26 16:33:10 -07001476
Ian Romanickb152a232011-09-20 15:54:52 -07001477#ifndef GL_NV_texture_compression_s3tc_update
1478#define GL_NV_texture_compression_s3tc_update 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001479#endif /* GL_NV_texture_compression_s3tc_update */
Ian Romanickb152a232011-09-20 15:54:52 -07001480
Ian Romanickb152a232011-09-20 15:54:52 -07001481#ifndef GL_NV_texture_npot_2D_mipmap
1482#define GL_NV_texture_npot_2D_mipmap 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001483#endif /* GL_NV_texture_npot_2D_mipmap */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001484
Ian Romanickb152a232011-09-20 15:54:52 -07001485#ifndef GL_QCOM_alpha_test
1486#define GL_QCOM_alpha_test 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001487#define GL_ALPHA_TEST_QCOM 0x0BC0
1488#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
1489#define GL_ALPHA_TEST_REF_QCOM 0x0BC2
1490typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
Ian Romanickb152a232011-09-20 15:54:52 -07001491#ifdef GL_GLEXT_PROTOTYPES
1492GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1493#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001494#endif /* GL_QCOM_alpha_test */
Ian Romanickb152a232011-09-20 15:54:52 -07001495
Matt Turner5c78ad82012-11-15 11:56:22 -08001496#ifndef GL_QCOM_binning_control
1497#define GL_QCOM_binning_control 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001498#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
1499#define GL_CPU_OPTIMIZED_QCOM 0x8FB1
1500#define GL_GPU_OPTIMIZED_QCOM 0x8FB2
1501#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
1502#endif /* GL_QCOM_binning_control */
Matt Turner5c78ad82012-11-15 11:56:22 -08001503
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001504#ifndef GL_QCOM_driver_control
1505#define GL_QCOM_driver_control 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001506typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1507typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1508typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1509typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001510#ifdef GL_GLEXT_PROTOTYPES
1511GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1512GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1513GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1514GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1515#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001516#endif /* GL_QCOM_driver_control */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001517
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001518#ifndef GL_QCOM_extended_get
1519#define GL_QCOM_extended_get 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001520#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
1521#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
1522#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
1523#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
1524#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
1525#define GL_TEXTURE_TYPE_QCOM 0x8BD7
1526#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
1527#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
1528#define GL_TEXTURE_TARGET_QCOM 0x8BDA
1529#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
1530#define GL_STATE_RESTORE 0x8BDC
1531typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1532typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1533typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1534typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1535typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1536typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1537typedef 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);
1538typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001539#ifdef GL_GLEXT_PROTOTYPES
1540GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1541GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1542GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1543GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1544GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1545GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001546GL_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);
1547GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001548#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001549#endif /* GL_QCOM_extended_get */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001550
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001551#ifndef GL_QCOM_extended_get2
1552#define GL_QCOM_extended_get2 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001553typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1554typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1555typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1556typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001557#ifdef GL_GLEXT_PROTOTYPES
1558GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1559GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1560GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1561GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1562#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001563#endif /* GL_QCOM_extended_get2 */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001564
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001565#ifndef GL_QCOM_perfmon_global_mode
1566#define GL_QCOM_perfmon_global_mode 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001567#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
1568#endif /* GL_QCOM_perfmon_global_mode */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001569
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001570#ifndef GL_QCOM_tiled_rendering
1571#define GL_QCOM_tiled_rendering 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001572#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
1573#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
1574#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
1575#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
1576#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
1577#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
1578#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
1579#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
1580#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
1581#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
1582#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
1583#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
1584#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
1585#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
1586#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
1587#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
1588#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
1589#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
1590#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
1591#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
1592#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
1593#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
1594#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
1595#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
1596#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
1597#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
1598#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
1599#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
1600#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
1601#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
1602#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
1603#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
1604typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1605typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001606#ifdef GL_GLEXT_PROTOTYPES
1607GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1608GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1609#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001610#endif /* GL_QCOM_tiled_rendering */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001611
Matt Turnerd519ebb2014-01-22 14:12:14 -08001612#ifndef GL_QCOM_writeonly_rendering
1613#define GL_QCOM_writeonly_rendering 1
1614#define GL_WRITEONLY_RENDERING_QCOM 0x8823
1615#endif /* GL_QCOM_writeonly_rendering */
Ian Romanickb152a232011-09-20 15:54:52 -07001616
Ian Romanickb152a232011-09-20 15:54:52 -07001617#ifndef GL_VIV_shader_binary
1618#define GL_VIV_shader_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001619#define GL_SHADER_BINARY_VIV 0x8FC4
1620#endif /* GL_VIV_shader_binary */
Ian Romanickb152a232011-09-20 15:54:52 -07001621
Brian Paul0ebc94d2008-06-04 10:04:31 -06001622#ifdef __cplusplus
1623}
1624#endif
1625
Matt Turnerd519ebb2014-01-22 14:12:14 -08001626#endif