blob: a7d19a1fc83c34c02290470131daee898776af8a [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/*
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02009** Copyright (c) 2013-2017 The Khronos Group Inc.
Matt Turnerd519ebb2014-01-22 14:12:14 -080010**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
Nicolai Hähnle7fd08172017-06-10 20:46:27 +020034** https://github.com/KhronosGroup/OpenGL-Registry
Matt Turnerd519ebb2014-01-22 14:12:14 -080035*/
Brian Paul0ebc94d2008-06-04 10:04:31 -060036
37#ifndef GL_APIENTRYP
Matt Turnerd519ebb2014-01-22 14:12:14 -080038#define GL_APIENTRYP GL_APIENTRY*
Brian Paul0ebc94d2008-06-04 10:04:31 -060039#endif
40
Ilia Mirkin76ce7f02017-08-06 10:33:30 -040041/* Generated on date 20170804 */
Matt Turner00a945f2013-07-26 16:33:10 -070042
Matt Turnerd519ebb2014-01-22 14:12:14 -080043/* Generated C header for:
44 * API: gles2
45 * Profile: common
46 * Versions considered: 2\.[0-9]
47 * Versions emitted: _nomatch_^
48 * Default extensions included: gles2
49 * Additional extensions included: _nomatch_^
50 * Extensions removed: _nomatch_^
Matt Turner00a945f2013-07-26 16:33:10 -070051 */
Matt Turner5c78ad82012-11-15 11:56:22 -080052
Jordan Justen7c379eb2014-03-25 00:38:20 -070053#ifndef GL_KHR_blend_equation_advanced
54#define GL_KHR_blend_equation_advanced 1
Jordan Justen7c379eb2014-03-25 00:38:20 -070055#define GL_MULTIPLY_KHR 0x9294
56#define GL_SCREEN_KHR 0x9295
57#define GL_OVERLAY_KHR 0x9296
58#define GL_DARKEN_KHR 0x9297
59#define GL_LIGHTEN_KHR 0x9298
60#define GL_COLORDODGE_KHR 0x9299
61#define GL_COLORBURN_KHR 0x929A
62#define GL_HARDLIGHT_KHR 0x929B
63#define GL_SOFTLIGHT_KHR 0x929C
64#define GL_DIFFERENCE_KHR 0x929E
65#define GL_EXCLUSION_KHR 0x92A0
66#define GL_HSL_HUE_KHR 0x92AD
67#define GL_HSL_SATURATION_KHR 0x92AE
68#define GL_HSL_COLOR_KHR 0x92AF
69#define GL_HSL_LUMINOSITY_KHR 0x92B0
70typedef void (GL_APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void);
71#ifdef GL_GLEXT_PROTOTYPES
72GL_APICALL void GL_APIENTRY glBlendBarrierKHR (void);
73#endif
74#endif /* GL_KHR_blend_equation_advanced */
75
Neil Roberts1ecf6e12014-10-01 17:24:10 +010076#ifndef GL_KHR_blend_equation_advanced_coherent
77#define GL_KHR_blend_equation_advanced_coherent 1
78#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
79#endif /* GL_KHR_blend_equation_advanced_coherent */
80
81#ifndef GL_KHR_context_flush_control
82#define GL_KHR_context_flush_control 1
83#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x82FB
84#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC
85#endif /* GL_KHR_context_flush_control */
86
Matt Turner5c78ad82012-11-15 11:56:22 -080087#ifndef GL_KHR_debug
88#define GL_KHR_debug 1
Matt Turnerd519ebb2014-01-22 14:12:14 -080089typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
90#define GL_SAMPLER 0x82E6
91#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
92#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
93#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
94#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
95#define GL_DEBUG_SOURCE_API_KHR 0x8246
96#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
97#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
98#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
99#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
100#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
101#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
102#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
103#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
104#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
105#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
106#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
107#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
108#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
109#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
110#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
111#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
112#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
113#define GL_BUFFER_KHR 0x82E0
114#define GL_SHADER_KHR 0x82E1
115#define GL_PROGRAM_KHR 0x82E2
116#define GL_VERTEX_ARRAY_KHR 0x8074
117#define GL_QUERY_KHR 0x82E3
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100118#define GL_PROGRAM_PIPELINE_KHR 0x82E4
Matt Turnerd519ebb2014-01-22 14:12:14 -0800119#define GL_SAMPLER_KHR 0x82E6
120#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
121#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
122#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
123#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
124#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
125#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
126#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
127#define GL_DEBUG_OUTPUT_KHR 0x92E0
128#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
129#define GL_STACK_OVERFLOW_KHR 0x0503
130#define GL_STACK_UNDERFLOW_KHR 0x0504
131typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
132typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
133typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
134typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
135typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
136typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
137typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
138typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
139typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
140typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
141typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
Matt Turner5c78ad82012-11-15 11:56:22 -0800142#ifdef GL_GLEXT_PROTOTYPES
Matt Turner00a945f2013-07-26 16:33:10 -0700143GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
144GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
145GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800146GL_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 -0700147GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
148GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
149GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
150GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
151GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
152GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
153GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
154#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800155#endif /* GL_KHR_debug */
156
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100157#ifndef GL_KHR_no_error
158#define GL_KHR_no_error 1
159#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
160#endif /* GL_KHR_no_error */
161
Neil Roberts1ecf6e12014-10-01 17:24:10 +0100162#ifndef GL_KHR_robust_buffer_access_behavior
163#define GL_KHR_robust_buffer_access_behavior 1
164#endif /* GL_KHR_robust_buffer_access_behavior */
165
166#ifndef GL_KHR_robustness
167#define GL_KHR_robustness 1
168#define GL_CONTEXT_ROBUST_ACCESS_KHR 0x90F3
169#define GL_LOSE_CONTEXT_ON_RESET_KHR 0x8252
170#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253
171#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254
172#define GL_UNKNOWN_CONTEXT_RESET_KHR 0x8255
173#define GL_RESET_NOTIFICATION_STRATEGY_KHR 0x8256
174#define GL_NO_RESET_NOTIFICATION_KHR 0x8261
175#define GL_CONTEXT_LOST_KHR 0x0507
176typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC) (void);
177typedef void (GL_APIENTRYP PFNGLREADNPIXELSKHRPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
178typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
179typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
180typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
181#ifdef GL_GLEXT_PROTOTYPES
182GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusKHR (void);
183GL_APICALL void GL_APIENTRY glReadnPixelsKHR (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
184GL_APICALL void GL_APIENTRY glGetnUniformfvKHR (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
185GL_APICALL void GL_APIENTRY glGetnUniformivKHR (GLuint program, GLint location, GLsizei bufSize, GLint *params);
186GL_APICALL void GL_APIENTRY glGetnUniformuivKHR (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
187#endif
188#endif /* GL_KHR_robustness */
189
Matt Turnerd519ebb2014-01-22 14:12:14 -0800190#ifndef GL_KHR_texture_compression_astc_hdr
191#define GL_KHR_texture_compression_astc_hdr 1
192#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
193#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
194#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
195#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
196#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
197#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
198#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
199#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
200#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
201#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
202#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
203#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
204#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
205#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
206#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
207#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
208#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
209#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
210#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
211#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
212#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
213#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
214#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
215#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
216#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
217#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
218#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
219#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
220#endif /* GL_KHR_texture_compression_astc_hdr */
Matt Turner5c78ad82012-11-15 11:56:22 -0800221
222#ifndef GL_KHR_texture_compression_astc_ldr
223#define GL_KHR_texture_compression_astc_ldr 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800224#endif /* GL_KHR_texture_compression_astc_ldr */
225
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100226#ifndef GL_KHR_texture_compression_astc_sliced_3d
227#define GL_KHR_texture_compression_astc_sliced_3d 1
228#endif /* GL_KHR_texture_compression_astc_sliced_3d */
229
Matt Turnerd519ebb2014-01-22 14:12:14 -0800230#ifndef GL_OES_EGL_image
231#define GL_OES_EGL_image 1
232typedef void *GLeglImageOES;
233typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
234typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
235#ifdef GL_GLEXT_PROTOTYPES
236GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
237GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
Matt Turner5c78ad82012-11-15 11:56:22 -0800238#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800239#endif /* GL_OES_EGL_image */
Matt Turner5c78ad82012-11-15 11:56:22 -0800240
Matt Turnerd519ebb2014-01-22 14:12:14 -0800241#ifndef GL_OES_EGL_image_external
242#define GL_OES_EGL_image_external 1
243#define GL_TEXTURE_EXTERNAL_OES 0x8D65
244#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
245#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
246#define GL_SAMPLER_EXTERNAL_OES 0x8D66
247#endif /* GL_OES_EGL_image_external */
Matt Turner5c78ad82012-11-15 11:56:22 -0800248
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100249#ifndef GL_OES_EGL_image_external_essl3
250#define GL_OES_EGL_image_external_essl3 1
251#endif /* GL_OES_EGL_image_external_essl3 */
252
Neil Roberts1ecf6e12014-10-01 17:24:10 +0100253#ifndef GL_OES_compressed_ETC1_RGB8_sub_texture
254#define GL_OES_compressed_ETC1_RGB8_sub_texture 1
255#endif /* GL_OES_compressed_ETC1_RGB8_sub_texture */
256
Matt Turnerd519ebb2014-01-22 14:12:14 -0800257#ifndef GL_OES_compressed_ETC1_RGB8_texture
258#define GL_OES_compressed_ETC1_RGB8_texture 1
259#define GL_ETC1_RGB8_OES 0x8D64
260#endif /* GL_OES_compressed_ETC1_RGB8_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600261
Matt Turnerd519ebb2014-01-22 14:12:14 -0800262#ifndef GL_OES_compressed_paletted_texture
263#define GL_OES_compressed_paletted_texture 1
264#define GL_PALETTE4_RGB8_OES 0x8B90
265#define GL_PALETTE4_RGBA8_OES 0x8B91
266#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
267#define GL_PALETTE4_RGBA4_OES 0x8B93
268#define GL_PALETTE4_RGB5_A1_OES 0x8B94
269#define GL_PALETTE8_RGB8_OES 0x8B95
270#define GL_PALETTE8_RGBA8_OES 0x8B96
271#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
272#define GL_PALETTE8_RGBA4_OES 0x8B98
273#define GL_PALETTE8_RGB5_A1_OES 0x8B99
274#endif /* GL_OES_compressed_paletted_texture */
275
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100276#ifndef GL_OES_copy_image
277#define GL_OES_copy_image 1
278typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAOESPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
279#ifdef GL_GLEXT_PROTOTYPES
280GL_APICALL void GL_APIENTRY glCopyImageSubDataOES (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
281#endif
282#endif /* GL_OES_copy_image */
283
Matt Turnerd519ebb2014-01-22 14:12:14 -0800284#ifndef GL_OES_depth24
285#define GL_OES_depth24 1
286#define GL_DEPTH_COMPONENT24_OES 0x81A6
287#endif /* GL_OES_depth24 */
288
289#ifndef GL_OES_depth32
290#define GL_OES_depth32 1
291#define GL_DEPTH_COMPONENT32_OES 0x81A7
292#endif /* GL_OES_depth32 */
293
294#ifndef GL_OES_depth_texture
295#define GL_OES_depth_texture 1
296#endif /* GL_OES_depth_texture */
297
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100298#ifndef GL_OES_draw_buffers_indexed
299#define GL_OES_draw_buffers_indexed 1
300#define GL_MIN 0x8007
301#define GL_MAX 0x8008
302typedef void (GL_APIENTRYP PFNGLENABLEIOESPROC) (GLenum target, GLuint index);
303typedef void (GL_APIENTRYP PFNGLDISABLEIOESPROC) (GLenum target, GLuint index);
304typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIOESPROC) (GLuint buf, GLenum mode);
305typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIOESPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
306typedef void (GL_APIENTRYP PFNGLBLENDFUNCIOESPROC) (GLuint buf, GLenum src, GLenum dst);
307typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIOESPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
308typedef void (GL_APIENTRYP PFNGLCOLORMASKIOESPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
309typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIOESPROC) (GLenum target, GLuint index);
310#ifdef GL_GLEXT_PROTOTYPES
311GL_APICALL void GL_APIENTRY glEnableiOES (GLenum target, GLuint index);
312GL_APICALL void GL_APIENTRY glDisableiOES (GLenum target, GLuint index);
313GL_APICALL void GL_APIENTRY glBlendEquationiOES (GLuint buf, GLenum mode);
314GL_APICALL void GL_APIENTRY glBlendEquationSeparateiOES (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
315GL_APICALL void GL_APIENTRY glBlendFunciOES (GLuint buf, GLenum src, GLenum dst);
316GL_APICALL void GL_APIENTRY glBlendFuncSeparateiOES (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
317GL_APICALL void GL_APIENTRY glColorMaskiOES (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
318GL_APICALL GLboolean GL_APIENTRY glIsEnablediOES (GLenum target, GLuint index);
319#endif
320#endif /* GL_OES_draw_buffers_indexed */
321
322#ifndef GL_OES_draw_elements_base_vertex
323#define GL_OES_draw_elements_base_vertex 1
324typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
325typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
326typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
Ilia Mirkin76ce7f02017-08-06 10:33:30 -0400327typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, const GLint *basevertex);
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100328#ifdef GL_GLEXT_PROTOTYPES
329GL_APICALL void GL_APIENTRY glDrawElementsBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
330GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertexOES (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
331GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
Ilia Mirkin76ce7f02017-08-06 10:33:30 -0400332GL_APICALL void GL_APIENTRY glMultiDrawElementsBaseVertexEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, const GLint *basevertex);
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100333#endif
334#endif /* GL_OES_draw_elements_base_vertex */
335
Matt Turnerd519ebb2014-01-22 14:12:14 -0800336#ifndef GL_OES_element_index_uint
337#define GL_OES_element_index_uint 1
338#endif /* GL_OES_element_index_uint */
339
340#ifndef GL_OES_fbo_render_mipmap
341#define GL_OES_fbo_render_mipmap 1
342#endif /* GL_OES_fbo_render_mipmap */
343
344#ifndef GL_OES_fragment_precision_high
345#define GL_OES_fragment_precision_high 1
346#endif /* GL_OES_fragment_precision_high */
347
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100348#ifndef GL_OES_geometry_point_size
349#define GL_OES_geometry_point_size 1
350#endif /* GL_OES_geometry_point_size */
351
352#ifndef GL_OES_geometry_shader
353#define GL_OES_geometry_shader 1
354#define GL_GEOMETRY_SHADER_OES 0x8DD9
355#define GL_GEOMETRY_SHADER_BIT_OES 0x00000004
356#define GL_GEOMETRY_LINKED_VERTICES_OUT_OES 0x8916
357#define GL_GEOMETRY_LINKED_INPUT_TYPE_OES 0x8917
358#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES 0x8918
359#define GL_GEOMETRY_SHADER_INVOCATIONS_OES 0x887F
360#define GL_LAYER_PROVOKING_VERTEX_OES 0x825E
361#define GL_LINES_ADJACENCY_OES 0x000A
362#define GL_LINE_STRIP_ADJACENCY_OES 0x000B
363#define GL_TRIANGLES_ADJACENCY_OES 0x000C
364#define GL_TRIANGLE_STRIP_ADJACENCY_OES 0x000D
365#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES 0x8DDF
366#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES 0x8A2C
367#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES 0x8A32
368#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES 0x9123
369#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES 0x9124
370#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES 0x8DE0
371#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES 0x8DE1
372#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES 0x8E5A
373#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES 0x8C29
374#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES 0x92CF
375#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES 0x92D5
376#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES 0x90CD
377#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES 0x90D7
378#define GL_FIRST_VERTEX_CONVENTION_OES 0x8E4D
379#define GL_LAST_VERTEX_CONVENTION_OES 0x8E4E
380#define GL_UNDEFINED_VERTEX_OES 0x8260
381#define GL_PRIMITIVES_GENERATED_OES 0x8C87
382#define GL_FRAMEBUFFER_DEFAULT_LAYERS_OES 0x9312
383#define GL_MAX_FRAMEBUFFER_LAYERS_OES 0x9317
384#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES 0x8DA8
385#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES 0x8DA7
386#define GL_REFERENCED_BY_GEOMETRY_SHADER_OES 0x9309
387typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREOESPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
388#ifdef GL_GLEXT_PROTOTYPES
389GL_APICALL void GL_APIENTRY glFramebufferTextureOES (GLenum target, GLenum attachment, GLuint texture, GLint level);
390#endif
391#endif /* GL_OES_geometry_shader */
392
Matt Turnerd519ebb2014-01-22 14:12:14 -0800393#ifndef GL_OES_get_program_binary
394#define GL_OES_get_program_binary 1
395#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
396#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
397#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
398typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
399typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
400#ifdef GL_GLEXT_PROTOTYPES
401GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
402GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
403#endif
404#endif /* GL_OES_get_program_binary */
405
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100406#ifndef GL_OES_gpu_shader5
407#define GL_OES_gpu_shader5 1
408#endif /* GL_OES_gpu_shader5 */
409
Matt Turnerd519ebb2014-01-22 14:12:14 -0800410#ifndef GL_OES_mapbuffer
411#define GL_OES_mapbuffer 1
412#define GL_WRITE_ONLY_OES 0x88B9
413#define GL_BUFFER_ACCESS_OES 0x88BB
414#define GL_BUFFER_MAPPED_OES 0x88BC
415#define GL_BUFFER_MAP_POINTER_OES 0x88BD
416typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
417typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
418typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
419#ifdef GL_GLEXT_PROTOTYPES
420GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
421GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
422GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
423#endif
424#endif /* GL_OES_mapbuffer */
425
426#ifndef GL_OES_packed_depth_stencil
427#define GL_OES_packed_depth_stencil 1
428#define GL_DEPTH_STENCIL_OES 0x84F9
429#define GL_UNSIGNED_INT_24_8_OES 0x84FA
430#define GL_DEPTH24_STENCIL8_OES 0x88F0
431#endif /* GL_OES_packed_depth_stencil */
432
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100433#ifndef GL_OES_primitive_bounding_box
434#define GL_OES_primitive_bounding_box 1
435#define GL_PRIMITIVE_BOUNDING_BOX_OES 0x92BE
436typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXOESPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
437#ifdef GL_GLEXT_PROTOTYPES
438GL_APICALL void GL_APIENTRY glPrimitiveBoundingBoxOES (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
439#endif
440#endif /* GL_OES_primitive_bounding_box */
441
Matt Turnerd519ebb2014-01-22 14:12:14 -0800442#ifndef GL_OES_required_internalformat
443#define GL_OES_required_internalformat 1
444#define GL_ALPHA8_OES 0x803C
445#define GL_DEPTH_COMPONENT16_OES 0x81A5
446#define GL_LUMINANCE4_ALPHA4_OES 0x8043
447#define GL_LUMINANCE8_ALPHA8_OES 0x8045
448#define GL_LUMINANCE8_OES 0x8040
449#define GL_RGBA4_OES 0x8056
450#define GL_RGB5_A1_OES 0x8057
451#define GL_RGB565_OES 0x8D62
452#define GL_RGB8_OES 0x8051
453#define GL_RGBA8_OES 0x8058
454#define GL_RGB10_EXT 0x8052
455#define GL_RGB10_A2_EXT 0x8059
456#endif /* GL_OES_required_internalformat */
457
458#ifndef GL_OES_rgb8_rgba8
459#define GL_OES_rgb8_rgba8 1
460#endif /* GL_OES_rgb8_rgba8 */
461
Jordan Justen7c379eb2014-03-25 00:38:20 -0700462#ifndef GL_OES_sample_shading
463#define GL_OES_sample_shading 1
464#define GL_SAMPLE_SHADING_OES 0x8C36
465#define GL_MIN_SAMPLE_SHADING_VALUE_OES 0x8C37
466typedef void (GL_APIENTRYP PFNGLMINSAMPLESHADINGOESPROC) (GLfloat value);
467#ifdef GL_GLEXT_PROTOTYPES
468GL_APICALL void GL_APIENTRY glMinSampleShadingOES (GLfloat value);
469#endif
470#endif /* GL_OES_sample_shading */
471
472#ifndef GL_OES_sample_variables
473#define GL_OES_sample_variables 1
474#endif /* GL_OES_sample_variables */
475
476#ifndef GL_OES_shader_image_atomic
477#define GL_OES_shader_image_atomic 1
478#endif /* GL_OES_shader_image_atomic */
479
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100480#ifndef GL_OES_shader_io_blocks
481#define GL_OES_shader_io_blocks 1
482#endif /* GL_OES_shader_io_blocks */
483
Jordan Justen7c379eb2014-03-25 00:38:20 -0700484#ifndef GL_OES_shader_multisample_interpolation
485#define GL_OES_shader_multisample_interpolation 1
486#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5B
487#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5C
488#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES 0x8E5D
489#endif /* GL_OES_shader_multisample_interpolation */
490
Matt Turnerd519ebb2014-01-22 14:12:14 -0800491#ifndef GL_OES_standard_derivatives
492#define GL_OES_standard_derivatives 1
493#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
494#endif /* GL_OES_standard_derivatives */
495
496#ifndef GL_OES_stencil1
497#define GL_OES_stencil1 1
498#define GL_STENCIL_INDEX1_OES 0x8D46
499#endif /* GL_OES_stencil1 */
500
501#ifndef GL_OES_stencil4
502#define GL_OES_stencil4 1
503#define GL_STENCIL_INDEX4_OES 0x8D47
504#endif /* GL_OES_stencil4 */
505
506#ifndef GL_OES_surfaceless_context
507#define GL_OES_surfaceless_context 1
508#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
509#endif /* GL_OES_surfaceless_context */
510
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100511#ifndef GL_OES_tessellation_point_size
512#define GL_OES_tessellation_point_size 1
513#endif /* GL_OES_tessellation_point_size */
514
515#ifndef GL_OES_tessellation_shader
516#define GL_OES_tessellation_shader 1
517#define GL_PATCHES_OES 0x000E
518#define GL_PATCH_VERTICES_OES 0x8E72
519#define GL_TESS_CONTROL_OUTPUT_VERTICES_OES 0x8E75
520#define GL_TESS_GEN_MODE_OES 0x8E76
521#define GL_TESS_GEN_SPACING_OES 0x8E77
522#define GL_TESS_GEN_VERTEX_ORDER_OES 0x8E78
523#define GL_TESS_GEN_POINT_MODE_OES 0x8E79
524#define GL_ISOLINES_OES 0x8E7A
525#define GL_QUADS_OES 0x0007
526#define GL_FRACTIONAL_ODD_OES 0x8E7B
527#define GL_FRACTIONAL_EVEN_OES 0x8E7C
528#define GL_MAX_PATCH_VERTICES_OES 0x8E7D
529#define GL_MAX_TESS_GEN_LEVEL_OES 0x8E7E
530#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES 0x8E7F
531#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES 0x8E80
532#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES 0x8E81
533#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES 0x8E82
534#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES 0x8E83
535#define GL_MAX_TESS_PATCH_COMPONENTS_OES 0x8E84
536#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES 0x8E85
537#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES 0x8E86
538#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES 0x8E89
539#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES 0x8E8A
540#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES 0x886C
541#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES 0x886D
542#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES 0x8E1E
543#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES 0x8E1F
544#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES 0x92CD
545#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES 0x92CE
546#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES 0x92D3
547#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES 0x92D4
548#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES 0x90CB
549#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES 0x90CC
550#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES 0x90D8
551#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES 0x90D9
552#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES 0x8221
553#define GL_IS_PER_PATCH_OES 0x92E7
554#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES 0x9307
555#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES 0x9308
556#define GL_TESS_CONTROL_SHADER_OES 0x8E88
557#define GL_TESS_EVALUATION_SHADER_OES 0x8E87
558#define GL_TESS_CONTROL_SHADER_BIT_OES 0x00000008
559#define GL_TESS_EVALUATION_SHADER_BIT_OES 0x00000010
560typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIOESPROC) (GLenum pname, GLint value);
561#ifdef GL_GLEXT_PROTOTYPES
562GL_APICALL void GL_APIENTRY glPatchParameteriOES (GLenum pname, GLint value);
563#endif
564#endif /* GL_OES_tessellation_shader */
565
Matt Turnerd519ebb2014-01-22 14:12:14 -0800566#ifndef GL_OES_texture_3D
567#define GL_OES_texture_3D 1
568#define GL_TEXTURE_WRAP_R_OES 0x8072
569#define GL_TEXTURE_3D_OES 0x806F
570#define GL_TEXTURE_BINDING_3D_OES 0x806A
571#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
572#define GL_SAMPLER_3D_OES 0x8B5F
573#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
574typedef 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);
575typedef 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);
576typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
577typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
578typedef 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);
579typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
580#ifdef GL_GLEXT_PROTOTYPES
581GL_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);
582GL_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);
583GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
584GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
585GL_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);
586GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
587#endif
588#endif /* GL_OES_texture_3D */
589
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100590#ifndef GL_OES_texture_border_clamp
591#define GL_OES_texture_border_clamp 1
592#define GL_TEXTURE_BORDER_COLOR_OES 0x1004
593#define GL_CLAMP_TO_BORDER_OES 0x812D
594typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, const GLint *params);
595typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, const GLuint *params);
596typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, GLint *params);
597typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, GLuint *params);
598typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, const GLint *param);
599typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, const GLuint *param);
600typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, GLint *params);
601typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, GLuint *params);
602#ifdef GL_GLEXT_PROTOTYPES
603GL_APICALL void GL_APIENTRY glTexParameterIivOES (GLenum target, GLenum pname, const GLint *params);
604GL_APICALL void GL_APIENTRY glTexParameterIuivOES (GLenum target, GLenum pname, const GLuint *params);
605GL_APICALL void GL_APIENTRY glGetTexParameterIivOES (GLenum target, GLenum pname, GLint *params);
606GL_APICALL void GL_APIENTRY glGetTexParameterIuivOES (GLenum target, GLenum pname, GLuint *params);
607GL_APICALL void GL_APIENTRY glSamplerParameterIivOES (GLuint sampler, GLenum pname, const GLint *param);
608GL_APICALL void GL_APIENTRY glSamplerParameterIuivOES (GLuint sampler, GLenum pname, const GLuint *param);
609GL_APICALL void GL_APIENTRY glGetSamplerParameterIivOES (GLuint sampler, GLenum pname, GLint *params);
610GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivOES (GLuint sampler, GLenum pname, GLuint *params);
611#endif
612#endif /* GL_OES_texture_border_clamp */
613
614#ifndef GL_OES_texture_buffer
615#define GL_OES_texture_buffer 1
616#define GL_TEXTURE_BUFFER_OES 0x8C2A
617#define GL_TEXTURE_BUFFER_BINDING_OES 0x8C2A
618#define GL_MAX_TEXTURE_BUFFER_SIZE_OES 0x8C2B
619#define GL_TEXTURE_BINDING_BUFFER_OES 0x8C2C
620#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES 0x8C2D
621#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES 0x919F
622#define GL_SAMPLER_BUFFER_OES 0x8DC2
623#define GL_INT_SAMPLER_BUFFER_OES 0x8DD0
624#define GL_UNSIGNED_INT_SAMPLER_BUFFER_OES 0x8DD8
625#define GL_IMAGE_BUFFER_OES 0x9051
626#define GL_INT_IMAGE_BUFFER_OES 0x905C
627#define GL_UNSIGNED_INT_IMAGE_BUFFER_OES 0x9067
628#define GL_TEXTURE_BUFFER_OFFSET_OES 0x919D
629#define GL_TEXTURE_BUFFER_SIZE_OES 0x919E
630typedef void (GL_APIENTRYP PFNGLTEXBUFFEROESPROC) (GLenum target, GLenum internalformat, GLuint buffer);
631typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEOESPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
632#ifdef GL_GLEXT_PROTOTYPES
633GL_APICALL void GL_APIENTRY glTexBufferOES (GLenum target, GLenum internalformat, GLuint buffer);
634GL_APICALL void GL_APIENTRY glTexBufferRangeOES (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
635#endif
636#endif /* GL_OES_texture_buffer */
637
Matt Turnerd519ebb2014-01-22 14:12:14 -0800638#ifndef GL_OES_texture_compression_astc
639#define GL_OES_texture_compression_astc 1
640#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0
641#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1
642#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2
643#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3
644#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4
645#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5
646#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6
647#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7
648#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8
649#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9
650#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0
651#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1
652#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2
653#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3
654#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4
655#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5
656#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6
657#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7
658#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8
659#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9
660#endif /* GL_OES_texture_compression_astc */
661
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100662#ifndef GL_OES_texture_cube_map_array
663#define GL_OES_texture_cube_map_array 1
664#define GL_TEXTURE_CUBE_MAP_ARRAY_OES 0x9009
665#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES 0x900A
666#define GL_SAMPLER_CUBE_MAP_ARRAY_OES 0x900C
667#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES 0x900D
668#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES 0x900E
669#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES 0x900F
670#define GL_IMAGE_CUBE_MAP_ARRAY_OES 0x9054
671#define GL_INT_IMAGE_CUBE_MAP_ARRAY_OES 0x905F
672#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES 0x906A
673#endif /* GL_OES_texture_cube_map_array */
674
Matt Turnerd519ebb2014-01-22 14:12:14 -0800675#ifndef GL_OES_texture_float
676#define GL_OES_texture_float 1
677#endif /* GL_OES_texture_float */
678
679#ifndef GL_OES_texture_float_linear
680#define GL_OES_texture_float_linear 1
681#endif /* GL_OES_texture_float_linear */
682
683#ifndef GL_OES_texture_half_float
684#define GL_OES_texture_half_float 1
685#define GL_HALF_FLOAT_OES 0x8D61
686#endif /* GL_OES_texture_half_float */
687
688#ifndef GL_OES_texture_half_float_linear
689#define GL_OES_texture_half_float_linear 1
690#endif /* GL_OES_texture_half_float_linear */
691
692#ifndef GL_OES_texture_npot
693#define GL_OES_texture_npot 1
694#endif /* GL_OES_texture_npot */
695
Jordan Justen7c379eb2014-03-25 00:38:20 -0700696#ifndef GL_OES_texture_stencil8
697#define GL_OES_texture_stencil8 1
698#define GL_STENCIL_INDEX_OES 0x1901
699#define GL_STENCIL_INDEX8_OES 0x8D48
700#endif /* GL_OES_texture_stencil8 */
701
702#ifndef GL_OES_texture_storage_multisample_2d_array
703#define GL_OES_texture_storage_multisample_2d_array 1
704#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES 0x9102
705#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES 0x9105
706#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910B
707#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910C
708#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910D
709typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
710#ifdef GL_GLEXT_PROTOTYPES
711GL_APICALL void GL_APIENTRY glTexStorage3DMultisampleOES (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
712#endif
713#endif /* GL_OES_texture_storage_multisample_2d_array */
714
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +0100715#ifndef GL_OES_texture_view
716#define GL_OES_texture_view 1
717#define GL_TEXTURE_VIEW_MIN_LEVEL_OES 0x82DB
718#define GL_TEXTURE_VIEW_NUM_LEVELS_OES 0x82DC
719#define GL_TEXTURE_VIEW_MIN_LAYER_OES 0x82DD
720#define GL_TEXTURE_VIEW_NUM_LAYERS_OES 0x82DE
721#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
722typedef void (GL_APIENTRYP PFNGLTEXTUREVIEWOESPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
723#ifdef GL_GLEXT_PROTOTYPES
724GL_APICALL void GL_APIENTRY glTextureViewOES (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
725#endif
726#endif /* GL_OES_texture_view */
727
Matt Turnerd519ebb2014-01-22 14:12:14 -0800728#ifndef GL_OES_vertex_array_object
729#define GL_OES_vertex_array_object 1
730#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
731typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
732typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
733typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
734typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
735#ifdef GL_GLEXT_PROTOTYPES
736GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
737GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
738GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
739GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
740#endif
741#endif /* GL_OES_vertex_array_object */
742
743#ifndef GL_OES_vertex_half_float
744#define GL_OES_vertex_half_float 1
745#endif /* GL_OES_vertex_half_float */
746
747#ifndef GL_OES_vertex_type_10_10_10_2
748#define GL_OES_vertex_type_10_10_10_2 1
749#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
750#define GL_INT_10_10_10_2_OES 0x8DF7
751#endif /* GL_OES_vertex_type_10_10_10_2 */
752
Ilia Mirkin6a5504d2016-08-28 13:07:25 -0400753#ifndef GL_OES_viewport_array
754#define GL_OES_viewport_array 1
755#define GL_MAX_VIEWPORTS_OES 0x825B
756#define GL_VIEWPORT_SUBPIXEL_BITS_OES 0x825C
757#define GL_VIEWPORT_BOUNDS_RANGE_OES 0x825D
758#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES 0x825F
759typedef void (GL_APIENTRYP PFNGLVIEWPORTARRAYVOESPROC) (GLuint first, GLsizei count, const GLfloat *v);
760typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFOESPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
761typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFVOESPROC) (GLuint index, const GLfloat *v);
762typedef void (GL_APIENTRYP PFNGLSCISSORARRAYVOESPROC) (GLuint first, GLsizei count, const GLint *v);
763typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDOESPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
764typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDVOESPROC) (GLuint index, const GLint *v);
765typedef void (GL_APIENTRYP PFNGLDEPTHRANGEARRAYFVOESPROC) (GLuint first, GLsizei count, const GLfloat *v);
766typedef void (GL_APIENTRYP PFNGLDEPTHRANGEINDEXEDFOESPROC) (GLuint index, GLfloat n, GLfloat f);
767typedef void (GL_APIENTRYP PFNGLGETFLOATI_VOESPROC) (GLenum target, GLuint index, GLfloat *data);
768#ifdef GL_GLEXT_PROTOTYPES
769GL_APICALL void GL_APIENTRY glViewportArrayvOES (GLuint first, GLsizei count, const GLfloat *v);
770GL_APICALL void GL_APIENTRY glViewportIndexedfOES (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
771GL_APICALL void GL_APIENTRY glViewportIndexedfvOES (GLuint index, const GLfloat *v);
772GL_APICALL void GL_APIENTRY glScissorArrayvOES (GLuint first, GLsizei count, const GLint *v);
773GL_APICALL void GL_APIENTRY glScissorIndexedOES (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
774GL_APICALL void GL_APIENTRY glScissorIndexedvOES (GLuint index, const GLint *v);
775GL_APICALL void GL_APIENTRY glDepthRangeArrayfvOES (GLuint first, GLsizei count, const GLfloat *v);
776GL_APICALL void GL_APIENTRY glDepthRangeIndexedfOES (GLuint index, GLfloat n, GLfloat f);
777GL_APICALL void GL_APIENTRY glGetFloati_vOES (GLenum target, GLuint index, GLfloat *data);
778#endif
779#endif /* GL_OES_viewport_array */
780
Brian Paul0ebc94d2008-06-04 10:04:31 -0600781#ifndef GL_AMD_compressed_3DC_texture
782#define GL_AMD_compressed_3DC_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800783#define GL_3DC_X_AMD 0x87F9
784#define GL_3DC_XY_AMD 0x87FA
785#endif /* GL_AMD_compressed_3DC_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600786
Brian Paul0ebc94d2008-06-04 10:04:31 -0600787#ifndef GL_AMD_compressed_ATC_texture
788#define GL_AMD_compressed_ATC_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800789#define GL_ATC_RGB_AMD 0x8C92
790#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
791#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
792#endif /* GL_AMD_compressed_ATC_texture */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600793
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800794#ifndef GL_AMD_performance_monitor
795#define GL_AMD_performance_monitor 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800796#define GL_COUNTER_TYPE_AMD 0x8BC0
797#define GL_COUNTER_RANGE_AMD 0x8BC1
798#define GL_UNSIGNED_INT64_AMD 0x8BC2
799#define GL_PERCENTAGE_AMD 0x8BC3
800#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
801#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
802#define GL_PERFMON_RESULT_AMD 0x8BC6
803typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
804typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
805typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
806typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
807typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
808typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
809typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
810typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
811typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
812typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
813typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800814#ifdef GL_GLEXT_PROTOTYPES
815GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
816GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
817GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
818GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800819GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800820GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
821GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800822GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800823GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
824GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
825GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
826#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800827#endif /* GL_AMD_performance_monitor */
Chia-I Wu59f8dca2010-05-31 10:15:55 +0800828
Brian Paul0ebc94d2008-06-04 10:04:31 -0600829#ifndef GL_AMD_program_binary_Z400
830#define GL_AMD_program_binary_Z400 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800831#define GL_Z400_BINARY_AMD 0x8740
832#endif /* GL_AMD_program_binary_Z400 */
Brian Paul0ebc94d2008-06-04 10:04:31 -0600833
Neil Roberts1ecf6e12014-10-01 17:24:10 +0100834#ifndef GL_ANDROID_extension_pack_es31a
835#define GL_ANDROID_extension_pack_es31a 1
836#endif /* GL_ANDROID_extension_pack_es31a */
837
Matt Turner00a945f2013-07-26 16:33:10 -0700838#ifndef GL_ANGLE_depth_texture
839#define GL_ANGLE_depth_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800840#endif /* GL_ANGLE_depth_texture */
Matt Turner00a945f2013-07-26 16:33:10 -0700841
Ian Romanickb152a232011-09-20 15:54:52 -0700842#ifndef GL_ANGLE_framebuffer_blit
843#define GL_ANGLE_framebuffer_blit 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800844#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
845#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
846#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
847#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
848typedef 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 -0700849#ifdef GL_GLEXT_PROTOTYPES
850GL_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);
851#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800852#endif /* GL_ANGLE_framebuffer_blit */
Ian Romanickb152a232011-09-20 15:54:52 -0700853
Ian Romanickb152a232011-09-20 15:54:52 -0700854#ifndef GL_ANGLE_framebuffer_multisample
855#define GL_ANGLE_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800856#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
857#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
858#define GL_MAX_SAMPLES_ANGLE 0x8D57
859typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Ian Romanickb152a232011-09-20 15:54:52 -0700860#ifdef GL_GLEXT_PROTOTYPES
861GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
862#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800863#endif /* GL_ANGLE_framebuffer_multisample */
Ian Romanickb152a232011-09-20 15:54:52 -0700864
Matt Turner00a945f2013-07-26 16:33:10 -0700865#ifndef GL_ANGLE_instanced_arrays
866#define GL_ANGLE_instanced_arrays 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800867#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
868typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
869typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
870typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400871#ifdef GL_GLEXT_PROTOTYPES
872GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
873GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
874GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
875#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800876#endif /* GL_ANGLE_instanced_arrays */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400877
Matt Turner00a945f2013-07-26 16:33:10 -0700878#ifndef GL_ANGLE_pack_reverse_row_order
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400879#define GL_ANGLE_pack_reverse_row_order 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800880#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
881#endif /* GL_ANGLE_pack_reverse_row_order */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400882
Matt Turner00a945f2013-07-26 16:33:10 -0700883#ifndef GL_ANGLE_program_binary
884#define GL_ANGLE_program_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800885#define GL_PROGRAM_BINARY_ANGLE 0x93A6
886#endif /* GL_ANGLE_program_binary */
Matt Turner00a945f2013-07-26 16:33:10 -0700887
Matt Turner00a945f2013-07-26 16:33:10 -0700888#ifndef GL_ANGLE_texture_compression_dxt3
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400889#define GL_ANGLE_texture_compression_dxt3 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800890#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
891#endif /* GL_ANGLE_texture_compression_dxt3 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400892
Matt Turner00a945f2013-07-26 16:33:10 -0700893#ifndef GL_ANGLE_texture_compression_dxt5
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400894#define GL_ANGLE_texture_compression_dxt5 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800895#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
896#endif /* GL_ANGLE_texture_compression_dxt5 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400897
Matt Turner00a945f2013-07-26 16:33:10 -0700898#ifndef GL_ANGLE_texture_usage
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400899#define GL_ANGLE_texture_usage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800900#define GL_TEXTURE_USAGE_ANGLE 0x93A2
901#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
902#endif /* GL_ANGLE_texture_usage */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400903
Matt Turner00a945f2013-07-26 16:33:10 -0700904#ifndef GL_ANGLE_translated_shader_source
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400905#define GL_ANGLE_translated_shader_source 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800906#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
907typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400908#ifdef GL_GLEXT_PROTOTYPES
909GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
910#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800911#endif /* GL_ANGLE_translated_shader_source */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -0400912
Neil Roberts1ecf6e12014-10-01 17:24:10 +0100913#ifndef GL_APPLE_clip_distance
914#define GL_APPLE_clip_distance 1
915#define GL_MAX_CLIP_DISTANCES_APPLE 0x0D32
916#define GL_CLIP_DISTANCE0_APPLE 0x3000
917#define GL_CLIP_DISTANCE1_APPLE 0x3001
918#define GL_CLIP_DISTANCE2_APPLE 0x3002
919#define GL_CLIP_DISTANCE3_APPLE 0x3003
920#define GL_CLIP_DISTANCE4_APPLE 0x3004
921#define GL_CLIP_DISTANCE5_APPLE 0x3005
922#define GL_CLIP_DISTANCE6_APPLE 0x3006
923#define GL_CLIP_DISTANCE7_APPLE 0x3007
924#endif /* GL_APPLE_clip_distance */
925
926#ifndef GL_APPLE_color_buffer_packed_float
927#define GL_APPLE_color_buffer_packed_float 1
928#endif /* GL_APPLE_color_buffer_packed_float */
929
Matt Turner5c78ad82012-11-15 11:56:22 -0800930#ifndef GL_APPLE_copy_texture_levels
931#define GL_APPLE_copy_texture_levels 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800932typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
Matt Turner5c78ad82012-11-15 11:56:22 -0800933#ifdef GL_GLEXT_PROTOTYPES
934GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
935#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800936#endif /* GL_APPLE_copy_texture_levels */
Ian Romanickb152a232011-09-20 15:54:52 -0700937
Ian Romanickb152a232011-09-20 15:54:52 -0700938#ifndef GL_APPLE_framebuffer_multisample
939#define GL_APPLE_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800940#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
941#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
942#define GL_MAX_SAMPLES_APPLE 0x8D57
943#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
944#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
945#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
946#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
Ian Romanickb152a232011-09-20 15:54:52 -0700947typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
948typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
Matt Turnerd519ebb2014-01-22 14:12:14 -0800949#ifdef GL_GLEXT_PROTOTYPES
950GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
951GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
Ian Romanickb152a232011-09-20 15:54:52 -0700952#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800953#endif /* GL_APPLE_framebuffer_multisample */
Ian Romanickb152a232011-09-20 15:54:52 -0700954
Matt Turner5c78ad82012-11-15 11:56:22 -0800955#ifndef GL_APPLE_rgb_422
956#define GL_APPLE_rgb_422 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800957#define GL_RGB_422_APPLE 0x8A1F
958#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
959#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
960#define GL_RGB_RAW_422_APPLE 0x8A51
961#endif /* GL_APPLE_rgb_422 */
Matt Turner5c78ad82012-11-15 11:56:22 -0800962
Matt Turner5c78ad82012-11-15 11:56:22 -0800963#ifndef GL_APPLE_sync
964#define GL_APPLE_sync 1
Matt Turnerd519ebb2014-01-22 14:12:14 -0800965#define GL_SYNC_OBJECT_APPLE 0x8A53
966#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
967#define GL_OBJECT_TYPE_APPLE 0x9112
968#define GL_SYNC_CONDITION_APPLE 0x9113
969#define GL_SYNC_STATUS_APPLE 0x9114
970#define GL_SYNC_FLAGS_APPLE 0x9115
971#define GL_SYNC_FENCE_APPLE 0x9116
972#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
973#define GL_UNSIGNALED_APPLE 0x9118
974#define GL_SIGNALED_APPLE 0x9119
975#define GL_ALREADY_SIGNALED_APPLE 0x911A
976#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
977#define GL_CONDITION_SATISFIED_APPLE 0x911C
978#define GL_WAIT_FAILED_APPLE 0x911D
979#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
980#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
981typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
982typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
983typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
984typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
985typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
986typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
987typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
Matt Turner5c78ad82012-11-15 11:56:22 -0800988#ifdef GL_GLEXT_PROTOTYPES
989GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
990GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
991GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
992GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
993GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
994GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
995GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
996#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -0800997#endif /* GL_APPLE_sync */
Matt Turner5c78ad82012-11-15 11:56:22 -0800998
Ian Romanickb152a232011-09-20 15:54:52 -0700999#ifndef GL_APPLE_texture_format_BGRA8888
1000#define GL_APPLE_texture_format_BGRA8888 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001001#define GL_BGRA_EXT 0x80E1
1002#define GL_BGRA8_EXT 0x93A1
1003#endif /* GL_APPLE_texture_format_BGRA8888 */
Ian Romanickb152a232011-09-20 15:54:52 -07001004
Ian Romanickb152a232011-09-20 15:54:52 -07001005#ifndef GL_APPLE_texture_max_level
1006#define GL_APPLE_texture_max_level 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001007#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
1008#endif /* GL_APPLE_texture_max_level */
Ian Romanickb152a232011-09-20 15:54:52 -07001009
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001010#ifndef GL_APPLE_texture_packed_float
1011#define GL_APPLE_texture_packed_float 1
1012#define GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE 0x8C3B
1013#define GL_UNSIGNED_INT_5_9_9_9_REV_APPLE 0x8C3E
1014#define GL_R11F_G11F_B10F_APPLE 0x8C3A
1015#define GL_RGB9_E5_APPLE 0x8C3D
1016#endif /* GL_APPLE_texture_packed_float */
1017
Matt Turner5c78ad82012-11-15 11:56:22 -08001018#ifndef GL_ARM_mali_program_binary
1019#define GL_ARM_mali_program_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001020#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
1021#endif /* GL_ARM_mali_program_binary */
Matt Turner5c78ad82012-11-15 11:56:22 -08001022
Ian Romanickb152a232011-09-20 15:54:52 -07001023#ifndef GL_ARM_mali_shader_binary
1024#define GL_ARM_mali_shader_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001025#define GL_MALI_SHADER_BINARY_ARM 0x8F60
1026#endif /* GL_ARM_mali_shader_binary */
Ian Romanickb152a232011-09-20 15:54:52 -07001027
Ian Romanickb152a232011-09-20 15:54:52 -07001028#ifndef GL_ARM_rgba8
1029#define GL_ARM_rgba8 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001030#endif /* GL_ARM_rgba8 */
Ian Romanickb152a232011-09-20 15:54:52 -07001031
Jordan Justen7c379eb2014-03-25 00:38:20 -07001032#ifndef GL_ARM_shader_framebuffer_fetch
1033#define GL_ARM_shader_framebuffer_fetch 1
1034#define GL_FETCH_PER_SAMPLE_ARM 0x8F65
1035#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM 0x8F66
1036#endif /* GL_ARM_shader_framebuffer_fetch */
1037
1038#ifndef GL_ARM_shader_framebuffer_fetch_depth_stencil
1039#define GL_ARM_shader_framebuffer_fetch_depth_stencil 1
1040#endif /* GL_ARM_shader_framebuffer_fetch_depth_stencil */
1041
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001042#ifndef GL_DMP_program_binary
1043#define GL_DMP_program_binary 1
1044#define GL_SMAPHS30_PROGRAM_BINARY_DMP 0x9251
1045#define GL_SMAPHS_PROGRAM_BINARY_DMP 0x9252
1046#define GL_DMP_PROGRAM_BINARY_DMP 0x9253
1047#endif /* GL_DMP_program_binary */
1048
Matt Turnerd519ebb2014-01-22 14:12:14 -08001049#ifndef GL_DMP_shader_binary
1050#define GL_DMP_shader_binary 1
1051#define GL_SHADER_BINARY_DMP 0x9250
1052#endif /* GL_DMP_shader_binary */
Brian Paul0ebc94d2008-06-04 10:04:31 -06001053
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001054#ifndef GL_EXT_EGL_image_array
1055#define GL_EXT_EGL_image_array 1
1056#endif /* GL_EXT_EGL_image_array */
1057
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001058#ifndef GL_EXT_YUV_target
1059#define GL_EXT_YUV_target 1
1060#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT 0x8BE7
1061#endif /* GL_EXT_YUV_target */
1062
1063#ifndef GL_EXT_base_instance
1064#define GL_EXT_base_instance 1
1065typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
1066typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
1067typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
1068#ifdef GL_GLEXT_PROTOTYPES
1069GL_APICALL void GL_APIENTRY glDrawArraysInstancedBaseInstanceEXT (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
1070GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
1071GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
1072#endif
1073#endif /* GL_EXT_base_instance */
1074
1075#ifndef GL_EXT_blend_func_extended
1076#define GL_EXT_blend_func_extended 1
1077#define GL_SRC1_COLOR_EXT 0x88F9
1078#define GL_SRC1_ALPHA_EXT 0x8589
1079#define GL_ONE_MINUS_SRC1_COLOR_EXT 0x88FA
1080#define GL_ONE_MINUS_SRC1_ALPHA_EXT 0x88FB
1081#define GL_SRC_ALPHA_SATURATE_EXT 0x0308
1082#define GL_LOCATION_INDEX_EXT 0x930F
1083#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT 0x88FC
1084typedef void (GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1085typedef void (GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
1086typedef GLint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC) (GLuint program, GLenum programInterface, const GLchar *name);
1087typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATAINDEXEXTPROC) (GLuint program, const GLchar *name);
1088#ifdef GL_GLEXT_PROTOTYPES
1089GL_APICALL void GL_APIENTRY glBindFragDataLocationIndexedEXT (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1090GL_APICALL void GL_APIENTRY glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name);
1091GL_APICALL GLint GL_APIENTRY glGetProgramResourceLocationIndexEXT (GLuint program, GLenum programInterface, const GLchar *name);
1092GL_APICALL GLint GL_APIENTRY glGetFragDataIndexEXT (GLuint program, const GLchar *name);
1093#endif
1094#endif /* GL_EXT_blend_func_extended */
1095
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001096#ifndef GL_EXT_blend_minmax
1097#define GL_EXT_blend_minmax 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001098#define GL_MIN_EXT 0x8007
1099#define GL_MAX_EXT 0x8008
1100#endif /* GL_EXT_blend_minmax */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001101
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001102#ifndef GL_EXT_buffer_storage
1103#define GL_EXT_buffer_storage 1
1104#define GL_MAP_READ_BIT 0x0001
1105#define GL_MAP_WRITE_BIT 0x0002
1106#define GL_MAP_PERSISTENT_BIT_EXT 0x0040
1107#define GL_MAP_COHERENT_BIT_EXT 0x0080
1108#define GL_DYNAMIC_STORAGE_BIT_EXT 0x0100
1109#define GL_CLIENT_STORAGE_BIT_EXT 0x0200
1110#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT 0x00004000
1111#define GL_BUFFER_IMMUTABLE_STORAGE_EXT 0x821F
1112#define GL_BUFFER_STORAGE_FLAGS_EXT 0x8220
1113typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEEXTPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
1114#ifdef GL_GLEXT_PROTOTYPES
1115GL_APICALL void GL_APIENTRY glBufferStorageEXT (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
1116#endif
1117#endif /* GL_EXT_buffer_storage */
1118
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001119#ifndef GL_EXT_clear_texture
1120#define GL_EXT_clear_texture 1
1121typedef void (GL_APIENTRYP PFNGLCLEARTEXIMAGEEXTPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
1122typedef void (GL_APIENTRYP PFNGLCLEARTEXSUBIMAGEEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
1123#ifdef GL_GLEXT_PROTOTYPES
1124GL_APICALL void GL_APIENTRY glClearTexImageEXT (GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
1125GL_APICALL void GL_APIENTRY glClearTexSubImageEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
1126#endif
1127#endif /* GL_EXT_clear_texture */
1128
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04001129#ifndef GL_EXT_clip_cull_distance
1130#define GL_EXT_clip_cull_distance 1
1131#define GL_MAX_CLIP_DISTANCES_EXT 0x0D32
1132#define GL_MAX_CULL_DISTANCES_EXT 0x82F9
1133#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT 0x82FA
1134#define GL_CLIP_DISTANCE0_EXT 0x3000
1135#define GL_CLIP_DISTANCE1_EXT 0x3001
1136#define GL_CLIP_DISTANCE2_EXT 0x3002
1137#define GL_CLIP_DISTANCE3_EXT 0x3003
1138#define GL_CLIP_DISTANCE4_EXT 0x3004
1139#define GL_CLIP_DISTANCE5_EXT 0x3005
1140#define GL_CLIP_DISTANCE6_EXT 0x3006
1141#define GL_CLIP_DISTANCE7_EXT 0x3007
1142#endif /* GL_EXT_clip_cull_distance */
1143
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001144#ifndef GL_EXT_color_buffer_float
1145#define GL_EXT_color_buffer_float 1
1146#endif /* GL_EXT_color_buffer_float */
1147
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001148#ifndef GL_EXT_color_buffer_half_float
1149#define GL_EXT_color_buffer_half_float 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001150#define GL_RGBA16F_EXT 0x881A
1151#define GL_RGB16F_EXT 0x881B
1152#define GL_RG16F_EXT 0x822F
1153#define GL_R16F_EXT 0x822D
1154#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
1155#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
1156#endif /* GL_EXT_color_buffer_half_float */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001157
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001158#ifndef GL_EXT_conservative_depth
1159#define GL_EXT_conservative_depth 1
1160#endif /* GL_EXT_conservative_depth */
1161
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001162#ifndef GL_EXT_copy_image
1163#define GL_EXT_copy_image 1
1164typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAEXTPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1165#ifdef GL_GLEXT_PROTOTYPES
1166GL_APICALL void GL_APIENTRY glCopyImageSubDataEXT (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1167#endif
1168#endif /* GL_EXT_copy_image */
1169
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001170#ifndef GL_EXT_debug_label
1171#define GL_EXT_debug_label 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001172#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
1173#define GL_PROGRAM_OBJECT_EXT 0x8B40
1174#define GL_SHADER_OBJECT_EXT 0x8B48
1175#define GL_BUFFER_OBJECT_EXT 0x9151
1176#define GL_QUERY_OBJECT_EXT 0x9153
1177#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
1178#define GL_TRANSFORM_FEEDBACK 0x8E22
1179typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1180typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001181#ifdef GL_GLEXT_PROTOTYPES
1182GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
1183GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
1184#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001185#endif /* GL_EXT_debug_label */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001186
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001187#ifndef GL_EXT_debug_marker
1188#define GL_EXT_debug_marker 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001189typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1190typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
1191typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001192#ifdef GL_GLEXT_PROTOTYPES
1193GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
1194GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
1195GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
1196#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001197#endif /* GL_EXT_debug_marker */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001198
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001199#ifndef GL_EXT_discard_framebuffer
1200#define GL_EXT_discard_framebuffer 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001201#define GL_COLOR_EXT 0x1800
1202#define GL_DEPTH_EXT 0x1801
1203#define GL_STENCIL_EXT 0x1802
1204typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001205#ifdef GL_GLEXT_PROTOTYPES
1206GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
1207#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001208#endif /* GL_EXT_discard_framebuffer */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001209
Matt Turner00a945f2013-07-26 16:33:10 -07001210#ifndef GL_EXT_disjoint_timer_query
1211#define GL_EXT_disjoint_timer_query 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001212#define GL_QUERY_COUNTER_BITS_EXT 0x8864
1213#define GL_CURRENT_QUERY_EXT 0x8865
1214#define GL_QUERY_RESULT_EXT 0x8866
1215#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
1216#define GL_TIME_ELAPSED_EXT 0x88BF
1217#define GL_TIMESTAMP_EXT 0x8E28
1218#define GL_GPU_DISJOINT_EXT 0x8FBB
1219typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
1220typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
1221typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
1222typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
1223typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
1224typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
1225typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
1226typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
1227typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
1228typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
1229typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
Matt Turner00a945f2013-07-26 16:33:10 -07001230#ifdef GL_GLEXT_PROTOTYPES
1231GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
1232GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
1233GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
1234GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
1235GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
1236GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
1237GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
1238GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
1239GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
1240GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
1241GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
1242#endif
Matt Turner00a945f2013-07-26 16:33:10 -07001243#endif /* GL_EXT_disjoint_timer_query */
1244
1245#ifndef GL_EXT_draw_buffers
1246#define GL_EXT_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001247#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
1248#define GL_MAX_DRAW_BUFFERS_EXT 0x8824
1249#define GL_DRAW_BUFFER0_EXT 0x8825
1250#define GL_DRAW_BUFFER1_EXT 0x8826
1251#define GL_DRAW_BUFFER2_EXT 0x8827
1252#define GL_DRAW_BUFFER3_EXT 0x8828
1253#define GL_DRAW_BUFFER4_EXT 0x8829
1254#define GL_DRAW_BUFFER5_EXT 0x882A
1255#define GL_DRAW_BUFFER6_EXT 0x882B
1256#define GL_DRAW_BUFFER7_EXT 0x882C
1257#define GL_DRAW_BUFFER8_EXT 0x882D
1258#define GL_DRAW_BUFFER9_EXT 0x882E
1259#define GL_DRAW_BUFFER10_EXT 0x882F
1260#define GL_DRAW_BUFFER11_EXT 0x8830
1261#define GL_DRAW_BUFFER12_EXT 0x8831
1262#define GL_DRAW_BUFFER13_EXT 0x8832
1263#define GL_DRAW_BUFFER14_EXT 0x8833
1264#define GL_DRAW_BUFFER15_EXT 0x8834
1265#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
1266#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
1267#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
1268#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
1269#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
1270#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
1271#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
1272#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
1273#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
1274#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
1275#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
1276#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
1277#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
1278#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
1279#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
1280#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
1281typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
Matt Turner00a945f2013-07-26 16:33:10 -07001282#ifdef GL_GLEXT_PROTOTYPES
1283GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
1284#endif
Matt Turner00a945f2013-07-26 16:33:10 -07001285#endif /* GL_EXT_draw_buffers */
1286
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001287#ifndef GL_EXT_draw_buffers_indexed
1288#define GL_EXT_draw_buffers_indexed 1
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001289typedef void (GL_APIENTRYP PFNGLENABLEIEXTPROC) (GLenum target, GLuint index);
1290typedef void (GL_APIENTRYP PFNGLDISABLEIEXTPROC) (GLenum target, GLuint index);
1291typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIEXTPROC) (GLuint buf, GLenum mode);
1292typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIEXTPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1293typedef void (GL_APIENTRYP PFNGLBLENDFUNCIEXTPROC) (GLuint buf, GLenum src, GLenum dst);
1294typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIEXTPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1295typedef void (GL_APIENTRYP PFNGLCOLORMASKIEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1296typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIEXTPROC) (GLenum target, GLuint index);
1297#ifdef GL_GLEXT_PROTOTYPES
1298GL_APICALL void GL_APIENTRY glEnableiEXT (GLenum target, GLuint index);
1299GL_APICALL void GL_APIENTRY glDisableiEXT (GLenum target, GLuint index);
1300GL_APICALL void GL_APIENTRY glBlendEquationiEXT (GLuint buf, GLenum mode);
1301GL_APICALL void GL_APIENTRY glBlendEquationSeparateiEXT (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1302GL_APICALL void GL_APIENTRY glBlendFunciEXT (GLuint buf, GLenum src, GLenum dst);
1303GL_APICALL void GL_APIENTRY glBlendFuncSeparateiEXT (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1304GL_APICALL void GL_APIENTRY glColorMaskiEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
1305GL_APICALL GLboolean GL_APIENTRY glIsEnablediEXT (GLenum target, GLuint index);
1306#endif
1307#endif /* GL_EXT_draw_buffers_indexed */
1308
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001309#ifndef GL_EXT_draw_elements_base_vertex
1310#define GL_EXT_draw_elements_base_vertex 1
1311typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1312typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1313typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001314#ifdef GL_GLEXT_PROTOTYPES
1315GL_APICALL void GL_APIENTRY glDrawElementsBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1316GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertexEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
1317GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001318#endif
1319#endif /* GL_EXT_draw_elements_base_vertex */
1320
Matt Turnerd519ebb2014-01-22 14:12:14 -08001321#ifndef GL_EXT_draw_instanced
1322#define GL_EXT_draw_instanced 1
1323typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
1324typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1325#ifdef GL_GLEXT_PROTOTYPES
1326GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
1327GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1328#endif
1329#endif /* GL_EXT_draw_instanced */
1330
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001331#ifndef GL_EXT_draw_transform_feedback
1332#define GL_EXT_draw_transform_feedback 1
1333typedef void (GL_APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKEXTPROC) (GLenum mode, GLuint id);
1334typedef void (GL_APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDEXTPROC) (GLenum mode, GLuint id, GLsizei instancecount);
1335#ifdef GL_GLEXT_PROTOTYPES
1336GL_APICALL void GL_APIENTRY glDrawTransformFeedbackEXT (GLenum mode, GLuint id);
1337GL_APICALL void GL_APIENTRY glDrawTransformFeedbackInstancedEXT (GLenum mode, GLuint id, GLsizei instancecount);
1338#endif
1339#endif /* GL_EXT_draw_transform_feedback */
1340
Ilia Mirkin76ce7f02017-08-06 10:33:30 -04001341#ifndef GL_EXT_external_buffer
1342#define GL_EXT_external_buffer 1
1343typedef void *GLeglClientBufferEXT;
1344typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEEXTERNALEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1345typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1346#ifdef GL_GLEXT_PROTOTYPES
1347GL_APICALL void GL_APIENTRY glBufferStorageExternalEXT (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1348GL_APICALL void GL_APIENTRY glNamedBufferStorageExternalEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags);
1349#endif
1350#endif /* GL_EXT_external_buffer */
1351
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001352#ifndef GL_EXT_float_blend
1353#define GL_EXT_float_blend 1
1354#endif /* GL_EXT_float_blend */
1355
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001356#ifndef GL_EXT_geometry_point_size
1357#define GL_EXT_geometry_point_size 1
1358#endif /* GL_EXT_geometry_point_size */
1359
1360#ifndef GL_EXT_geometry_shader
1361#define GL_EXT_geometry_shader 1
1362#define GL_GEOMETRY_SHADER_EXT 0x8DD9
1363#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004
1364#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916
1365#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917
1366#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918
1367#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F
1368#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E
1369#define GL_LINES_ADJACENCY_EXT 0x000A
1370#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B
1371#define GL_TRIANGLES_ADJACENCY_EXT 0x000C
1372#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D
1373#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
1374#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C
1375#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32
1376#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123
1377#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124
1378#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
1379#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
1380#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A
1381#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
1382#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF
1383#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5
1384#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD
1385#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7
1386#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
1387#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
1388#define GL_UNDEFINED_VERTEX_EXT 0x8260
1389#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
1390#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312
1391#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317
1392#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
1393#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
1394#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309
1395typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
1396#ifdef GL_GLEXT_PROTOTYPES
1397GL_APICALL void GL_APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
1398#endif
1399#endif /* GL_EXT_geometry_shader */
1400
1401#ifndef GL_EXT_gpu_shader5
1402#define GL_EXT_gpu_shader5 1
1403#endif /* GL_EXT_gpu_shader5 */
1404
Matt Turnerd519ebb2014-01-22 14:12:14 -08001405#ifndef GL_EXT_instanced_arrays
1406#define GL_EXT_instanced_arrays 1
1407#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE
1408typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
1409#ifdef GL_GLEXT_PROTOTYPES
1410GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor);
1411#endif
1412#endif /* GL_EXT_instanced_arrays */
1413
Matt Turner5c78ad82012-11-15 11:56:22 -08001414#ifndef GL_EXT_map_buffer_range
1415#define GL_EXT_map_buffer_range 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001416#define GL_MAP_READ_BIT_EXT 0x0001
1417#define GL_MAP_WRITE_BIT_EXT 0x0002
1418#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
1419#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
1420#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
1421#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
1422typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
1423typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
Matt Turner5c78ad82012-11-15 11:56:22 -08001424#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08001425GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
Matt Turner5c78ad82012-11-15 11:56:22 -08001426GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
1427#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001428#endif /* GL_EXT_map_buffer_range */
Matt Turner5c78ad82012-11-15 11:56:22 -08001429
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001430#ifndef GL_EXT_memory_object
1431#define GL_EXT_memory_object 1
1432#define GL_TEXTURE_TILING_EXT 0x9580
1433#define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581
1434#define GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B
1435#define GL_NUM_TILING_TYPES_EXT 0x9582
1436#define GL_TILING_TYPES_EXT 0x9583
1437#define GL_OPTIMAL_TILING_EXT 0x9584
1438#define GL_LINEAR_TILING_EXT 0x9585
1439#define GL_NUM_DEVICE_UUIDS_EXT 0x9596
1440#define GL_DEVICE_UUID_EXT 0x9597
1441#define GL_DRIVER_UUID_EXT 0x9598
1442#define GL_UUID_SIZE_EXT 16
1443typedef void (GL_APIENTRYP PFNGLGETUNSIGNEDBYTEVEXTPROC) (GLenum pname, GLubyte *data);
1444typedef void (GL_APIENTRYP PFNGLGETUNSIGNEDBYTEI_VEXTPROC) (GLenum target, GLuint index, GLubyte *data);
1445typedef void (GL_APIENTRYP PFNGLDELETEMEMORYOBJECTSEXTPROC) (GLsizei n, const GLuint *memoryObjects);
1446typedef GLboolean (GL_APIENTRYP PFNGLISMEMORYOBJECTEXTPROC) (GLuint memoryObject);
1447typedef void (GL_APIENTRYP PFNGLCREATEMEMORYOBJECTSEXTPROC) (GLsizei n, GLuint *memoryObjects);
1448typedef void (GL_APIENTRYP PFNGLMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, const GLint *params);
1449typedef void (GL_APIENTRYP PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, GLint *params);
1450typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1451typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1452typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1453typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1454typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEMEMEXTPROC) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset);
1455typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM2DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1456typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1457typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM3DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1458typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1459typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset);
1460#ifdef GL_GLEXT_PROTOTYPES
1461GL_APICALL void GL_APIENTRY glGetUnsignedBytevEXT (GLenum pname, GLubyte *data);
1462GL_APICALL void GL_APIENTRY glGetUnsignedBytei_vEXT (GLenum target, GLuint index, GLubyte *data);
1463GL_APICALL void GL_APIENTRY glDeleteMemoryObjectsEXT (GLsizei n, const GLuint *memoryObjects);
1464GL_APICALL GLboolean GL_APIENTRY glIsMemoryObjectEXT (GLuint memoryObject);
1465GL_APICALL void GL_APIENTRY glCreateMemoryObjectsEXT (GLsizei n, GLuint *memoryObjects);
1466GL_APICALL void GL_APIENTRY glMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, const GLint *params);
1467GL_APICALL void GL_APIENTRY glGetMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, GLint *params);
1468GL_APICALL void GL_APIENTRY glTexStorageMem2DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1469GL_APICALL void GL_APIENTRY glTexStorageMem2DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1470GL_APICALL void GL_APIENTRY glTexStorageMem3DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1471GL_APICALL void GL_APIENTRY glTexStorageMem3DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1472GL_APICALL void GL_APIENTRY glBufferStorageMemEXT (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset);
1473GL_APICALL void GL_APIENTRY glTextureStorageMem2DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset);
1474GL_APICALL void GL_APIENTRY glTextureStorageMem2DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1475GL_APICALL void GL_APIENTRY glTextureStorageMem3DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset);
1476GL_APICALL void GL_APIENTRY glTextureStorageMem3DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset);
1477GL_APICALL void GL_APIENTRY glNamedBufferStorageMemEXT (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset);
1478#endif
1479#endif /* GL_EXT_memory_object */
1480
1481#ifndef GL_EXT_memory_object_fd
1482#define GL_EXT_memory_object_fd 1
1483#define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586
1484typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYFDEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd);
1485#ifdef GL_GLEXT_PROTOTYPES
1486GL_APICALL void GL_APIENTRY glImportMemoryFdEXT (GLuint memory, GLuint64 size, GLenum handleType, GLint fd);
1487#endif
1488#endif /* GL_EXT_memory_object_fd */
1489
1490#ifndef GL_EXT_memory_object_win32
1491#define GL_EXT_memory_object_win32 1
1492#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587
1493#define GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588
1494#define GL_DEVICE_LUID_EXT 0x9599
1495#define GL_DEVICE_NODE_MASK_EXT 0x959A
1496#define GL_LUID_SIZE_EXT 8
1497#define GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589
1498#define GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A
1499#define GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B
1500#define GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C
1501typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, void *handle);
1502typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYWIN32NAMEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, const void *name);
1503#ifdef GL_GLEXT_PROTOTYPES
1504GL_APICALL void GL_APIENTRY glImportMemoryWin32HandleEXT (GLuint memory, GLuint64 size, GLenum handleType, void *handle);
1505GL_APICALL void GL_APIENTRY glImportMemoryWin32NameEXT (GLuint memory, GLuint64 size, GLenum handleType, const void *name);
1506#endif
1507#endif /* GL_EXT_memory_object_win32 */
1508
Matt Turnerd519ebb2014-01-22 14:12:14 -08001509#ifndef GL_EXT_multi_draw_arrays
1510#define GL_EXT_multi_draw_arrays 1
1511typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
1512typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
1513#ifdef GL_GLEXT_PROTOTYPES
1514GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
1515GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
1516#endif
1517#endif /* GL_EXT_multi_draw_arrays */
1518
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001519#ifndef GL_EXT_multi_draw_indirect
1520#define GL_EXT_multi_draw_indirect 1
1521typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
1522typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
1523#ifdef GL_GLEXT_PROTOTYPES
1524GL_APICALL void GL_APIENTRY glMultiDrawArraysIndirectEXT (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
1525GL_APICALL void GL_APIENTRY glMultiDrawElementsIndirectEXT (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
1526#endif
1527#endif /* GL_EXT_multi_draw_indirect */
1528
1529#ifndef GL_EXT_multisampled_compatibility
1530#define GL_EXT_multisampled_compatibility 1
1531#define GL_MULTISAMPLE_EXT 0x809D
1532#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
1533#endif /* GL_EXT_multisampled_compatibility */
1534
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001535#ifndef GL_EXT_multisampled_render_to_texture
1536#define GL_EXT_multisampled_render_to_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001537#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
1538#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
1539#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
1540#define GL_MAX_SAMPLES_EXT 0x8D57
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001541typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1542typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001543#ifdef GL_GLEXT_PROTOTYPES
1544GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1545GL_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 -04001546#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001547#endif /* GL_EXT_multisampled_render_to_texture */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001548
Matt Turner5c78ad82012-11-15 11:56:22 -08001549#ifndef GL_EXT_multiview_draw_buffers
1550#define GL_EXT_multiview_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001551#define GL_COLOR_ATTACHMENT_EXT 0x90F0
1552#define GL_MULTIVIEW_EXT 0x90F1
1553#define GL_DRAW_BUFFER_EXT 0x0C01
1554#define GL_READ_BUFFER_EXT 0x0C02
1555#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
1556typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
1557typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
1558typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
Matt Turner5c78ad82012-11-15 11:56:22 -08001559#ifdef GL_GLEXT_PROTOTYPES
1560GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
1561GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
1562GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
1563#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001564#endif /* GL_EXT_multiview_draw_buffers */
Matt Turner5c78ad82012-11-15 11:56:22 -08001565
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001566#ifndef GL_EXT_occlusion_query_boolean
1567#define GL_EXT_occlusion_query_boolean 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001568#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
1569#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
1570#endif /* GL_EXT_occlusion_query_boolean */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001571
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04001572#ifndef GL_EXT_polygon_offset_clamp
1573#define GL_EXT_polygon_offset_clamp 1
1574#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B
1575typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp);
1576#ifdef GL_GLEXT_PROTOTYPES
1577GL_APICALL void GL_APIENTRY glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp);
1578#endif
1579#endif /* GL_EXT_polygon_offset_clamp */
1580
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001581#ifndef GL_EXT_post_depth_coverage
1582#define GL_EXT_post_depth_coverage 1
1583#endif /* GL_EXT_post_depth_coverage */
1584
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001585#ifndef GL_EXT_primitive_bounding_box
1586#define GL_EXT_primitive_bounding_box 1
1587#define GL_PRIMITIVE_BOUNDING_BOX_EXT 0x92BE
1588typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXEXTPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
1589#ifdef GL_GLEXT_PROTOTYPES
1590GL_APICALL void GL_APIENTRY glPrimitiveBoundingBoxEXT (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
1591#endif
1592#endif /* GL_EXT_primitive_bounding_box */
1593
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04001594#ifndef GL_EXT_protected_textures
1595#define GL_EXT_protected_textures 1
1596#define GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT 0x00000010
1597#define GL_TEXTURE_PROTECTED_EXT 0x8BFA
1598#endif /* GL_EXT_protected_textures */
1599
Matt Turnerd519ebb2014-01-22 14:12:14 -08001600#ifndef GL_EXT_pvrtc_sRGB
1601#define GL_EXT_pvrtc_sRGB 1
1602#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
1603#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
1604#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
1605#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001606#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG 0x93F0
1607#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG 0x93F1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001608#endif /* GL_EXT_pvrtc_sRGB */
1609
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001610#ifndef GL_EXT_raster_multisample
1611#define GL_EXT_raster_multisample 1
1612#define GL_RASTER_MULTISAMPLE_EXT 0x9327
1613#define GL_RASTER_SAMPLES_EXT 0x9328
1614#define GL_MAX_RASTER_SAMPLES_EXT 0x9329
1615#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A
1616#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B
1617#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C
1618typedef void (GL_APIENTRYP PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations);
1619#ifdef GL_GLEXT_PROTOTYPES
1620GL_APICALL void GL_APIENTRY glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations);
1621#endif
1622#endif /* GL_EXT_raster_multisample */
1623
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001624#ifndef GL_EXT_read_format_bgra
1625#define GL_EXT_read_format_bgra 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001626#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
1627#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
1628#endif /* GL_EXT_read_format_bgra */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08001629
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001630#ifndef GL_EXT_render_snorm
1631#define GL_EXT_render_snorm 1
1632#define GL_R8_SNORM 0x8F94
1633#define GL_RG8_SNORM 0x8F95
1634#define GL_RGBA8_SNORM 0x8F97
1635#define GL_R16_SNORM_EXT 0x8F98
1636#define GL_RG16_SNORM_EXT 0x8F99
1637#define GL_RGBA16_SNORM_EXT 0x8F9B
1638#endif /* GL_EXT_render_snorm */
1639
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001640#ifndef GL_EXT_robustness
1641#define GL_EXT_robustness 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001642#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
1643#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
1644#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
1645#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
1646#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
1647#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
1648#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
1649typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
1650typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
1651typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
1652typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001653#ifdef GL_GLEXT_PROTOTYPES
1654GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
1655GL_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 -08001656GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001657GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
1658#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001659#endif /* GL_EXT_robustness */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001660
Matt Turnerd519ebb2014-01-22 14:12:14 -08001661#ifndef GL_EXT_sRGB
1662#define GL_EXT_sRGB 1
1663#define GL_SRGB_EXT 0x8C40
1664#define GL_SRGB_ALPHA_EXT 0x8C42
1665#define GL_SRGB8_ALPHA8_EXT 0x8C43
1666#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
1667#endif /* GL_EXT_sRGB */
1668
1669#ifndef GL_EXT_sRGB_write_control
1670#define GL_EXT_sRGB_write_control 1
1671#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
1672#endif /* GL_EXT_sRGB_write_control */
1673
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001674#ifndef GL_EXT_semaphore
1675#define GL_EXT_semaphore 1
1676#define GL_LAYOUT_GENERAL_EXT 0x958D
1677#define GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E
1678#define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F
1679#define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590
1680#define GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591
1681#define GL_LAYOUT_TRANSFER_SRC_EXT 0x9592
1682#define GL_LAYOUT_TRANSFER_DST_EXT 0x9593
1683typedef void (GL_APIENTRYP PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint *semaphores);
1684typedef void (GL_APIENTRYP PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const GLuint *semaphores);
1685typedef GLboolean (GL_APIENTRYP PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore);
1686typedef void (GL_APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, const GLuint64 *params);
1687typedef void (GL_APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, GLuint64 *params);
1688typedef void (GL_APIENTRYP PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts);
1689typedef void (GL_APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts);
1690#ifdef GL_GLEXT_PROTOTYPES
1691GL_APICALL void GL_APIENTRY glGenSemaphoresEXT (GLsizei n, GLuint *semaphores);
1692GL_APICALL void GL_APIENTRY glDeleteSemaphoresEXT (GLsizei n, const GLuint *semaphores);
1693GL_APICALL GLboolean GL_APIENTRY glIsSemaphoreEXT (GLuint semaphore);
1694GL_APICALL void GL_APIENTRY glSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, const GLuint64 *params);
1695GL_APICALL void GL_APIENTRY glGetSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, GLuint64 *params);
1696GL_APICALL void GL_APIENTRY glWaitSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts);
1697GL_APICALL void GL_APIENTRY glSignalSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts);
1698#endif
1699#endif /* GL_EXT_semaphore */
1700
1701#ifndef GL_EXT_semaphore_fd
1702#define GL_EXT_semaphore_fd 1
1703typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREFDEXTPROC) (GLuint semaphore, GLenum handleType, GLint fd);
1704#ifdef GL_GLEXT_PROTOTYPES
1705GL_APICALL void GL_APIENTRY glImportSemaphoreFdEXT (GLuint semaphore, GLenum handleType, GLint fd);
1706#endif
1707#endif /* GL_EXT_semaphore_fd */
1708
1709#ifndef GL_EXT_semaphore_win32
1710#define GL_EXT_semaphore_win32 1
1711#define GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594
1712#define GL_D3D12_FENCE_VALUE_EXT 0x9595
1713typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC) (GLuint semaphore, GLenum handleType, void *handle);
1714typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC) (GLuint semaphore, GLenum handleType, const void *name);
1715#ifdef GL_GLEXT_PROTOTYPES
1716GL_APICALL void GL_APIENTRY glImportSemaphoreWin32HandleEXT (GLuint semaphore, GLenum handleType, void *handle);
1717GL_APICALL void GL_APIENTRY glImportSemaphoreWin32NameEXT (GLuint semaphore, GLenum handleType, const void *name);
1718#endif
1719#endif /* GL_EXT_semaphore_win32 */
1720
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001721#ifndef GL_EXT_separate_shader_objects
1722#define GL_EXT_separate_shader_objects 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001723#define GL_ACTIVE_PROGRAM_EXT 0x8259
1724#define GL_VERTEX_SHADER_BIT_EXT 0x00000001
1725#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
1726#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
1727#define GL_PROGRAM_SEPARABLE_EXT 0x8258
1728#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001729typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001730typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001731typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001732typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
1733typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001734typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1735typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001736typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
1737typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001738typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001739typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001740typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
1741typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1742typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001743typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001744typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
1745typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1746typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001747typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001748typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1749typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
1750typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001751typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001752typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1753typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001754typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1755typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1756typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001757typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001758typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
Matt Turnerd519ebb2014-01-22 14:12:14 -08001759typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
1760typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
1761typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1762typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1763typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1764typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1765typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1766typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
1767typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1768typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1769typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1770typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1771typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1772typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1773#ifdef GL_GLEXT_PROTOTYPES
1774GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
1775GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
1776GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
1777GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
1778GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
1779GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1780GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
1781GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
1782GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
1783GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
1784GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1785GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
1786GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1787GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1788GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1789GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
1790GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1791GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1792GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1793GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1794GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1795GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1796GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1797GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1798GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
1799GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1800GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1801GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1802GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
1803GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
1804GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
1805GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
1806GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1807GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1808GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1809GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1810GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1811GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
1812GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1813GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1814GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1815GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1816GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1817GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001818#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08001819#endif /* GL_EXT_separate_shader_objects */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001820
Matt Turner5c78ad82012-11-15 11:56:22 -08001821#ifndef GL_EXT_shader_framebuffer_fetch
1822#define GL_EXT_shader_framebuffer_fetch 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001823#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
1824#endif /* GL_EXT_shader_framebuffer_fetch */
Matt Turner5c78ad82012-11-15 11:56:22 -08001825
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04001826#ifndef GL_EXT_shader_group_vote
1827#define GL_EXT_shader_group_vote 1
1828#endif /* GL_EXT_shader_group_vote */
1829
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001830#ifndef GL_EXT_shader_implicit_conversions
1831#define GL_EXT_shader_implicit_conversions 1
1832#endif /* GL_EXT_shader_implicit_conversions */
1833
Matt Turnerd519ebb2014-01-22 14:12:14 -08001834#ifndef GL_EXT_shader_integer_mix
1835#define GL_EXT_shader_integer_mix 1
1836#endif /* GL_EXT_shader_integer_mix */
1837
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001838#ifndef GL_EXT_shader_io_blocks
1839#define GL_EXT_shader_io_blocks 1
1840#endif /* GL_EXT_shader_io_blocks */
1841
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04001842#ifndef GL_EXT_shader_non_constant_global_initializers
1843#define GL_EXT_shader_non_constant_global_initializers 1
1844#endif /* GL_EXT_shader_non_constant_global_initializers */
1845
Jordan Justen7c379eb2014-03-25 00:38:20 -07001846#ifndef GL_EXT_shader_pixel_local_storage
1847#define GL_EXT_shader_pixel_local_storage 1
1848#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT 0x8F63
1849#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT 0x8F67
1850#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT 0x8F64
1851#endif /* GL_EXT_shader_pixel_local_storage */
1852
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04001853#ifndef GL_EXT_shader_pixel_local_storage2
1854#define GL_EXT_shader_pixel_local_storage2 1
1855#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT 0x9650
1856#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT 0x9651
1857#define GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT 0x9652
1858typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target, GLsizei size);
1859typedef GLsizei (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target);
1860typedef void (GL_APIENTRYP PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC) (GLsizei offset, GLsizei n, const GLuint *values);
1861#ifdef GL_GLEXT_PROTOTYPES
1862GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageSizeEXT (GLuint target, GLsizei size);
1863GL_APICALL GLsizei GL_APIENTRY glGetFramebufferPixelLocalStorageSizeEXT (GLuint target);
1864GL_APICALL void GL_APIENTRY glClearPixelLocalStorageuiEXT (GLsizei offset, GLsizei n, const GLuint *values);
1865#endif
1866#endif /* GL_EXT_shader_pixel_local_storage2 */
1867
Ian Romanickb152a232011-09-20 15:54:52 -07001868#ifndef GL_EXT_shader_texture_lod
1869#define GL_EXT_shader_texture_lod 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001870#endif /* GL_EXT_shader_texture_lod */
Ian Romanickb152a232011-09-20 15:54:52 -07001871
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001872#ifndef GL_EXT_shadow_samplers
1873#define GL_EXT_shadow_samplers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08001874#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
1875#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
1876#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
1877#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
1878#endif /* GL_EXT_shadow_samplers */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04001879
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01001880#ifndef GL_EXT_sparse_texture
1881#define GL_EXT_sparse_texture 1
1882#define GL_TEXTURE_SPARSE_EXT 0x91A6
1883#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT 0x91A7
1884#define GL_NUM_SPARSE_LEVELS_EXT 0x91AA
1885#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT 0x91A8
1886#define GL_VIRTUAL_PAGE_SIZE_X_EXT 0x9195
1887#define GL_VIRTUAL_PAGE_SIZE_Y_EXT 0x9196
1888#define GL_VIRTUAL_PAGE_SIZE_Z_EXT 0x9197
1889#define GL_TEXTURE_2D_ARRAY 0x8C1A
1890#define GL_TEXTURE_3D 0x806F
1891#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT 0x9198
1892#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT 0x9199
1893#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT 0x919A
1894#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT 0x91A9
1895typedef void (GL_APIENTRYP PFNGLTEXPAGECOMMITMENTEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
1896#ifdef GL_GLEXT_PROTOTYPES
1897GL_APICALL void GL_APIENTRY glTexPageCommitmentEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
1898#endif
1899#endif /* GL_EXT_sparse_texture */
1900
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02001901#ifndef GL_EXT_sparse_texture2
1902#define GL_EXT_sparse_texture2 1
1903#endif /* GL_EXT_sparse_texture2 */
1904
Neil Roberts1ecf6e12014-10-01 17:24:10 +01001905#ifndef GL_EXT_tessellation_point_size
1906#define GL_EXT_tessellation_point_size 1
1907#endif /* GL_EXT_tessellation_point_size */
1908
1909#ifndef GL_EXT_tessellation_shader
1910#define GL_EXT_tessellation_shader 1
1911#define GL_PATCHES_EXT 0x000E
1912#define GL_PATCH_VERTICES_EXT 0x8E72
1913#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT 0x8E75
1914#define GL_TESS_GEN_MODE_EXT 0x8E76
1915#define GL_TESS_GEN_SPACING_EXT 0x8E77
1916#define GL_TESS_GEN_VERTEX_ORDER_EXT 0x8E78
1917#define GL_TESS_GEN_POINT_MODE_EXT 0x8E79
1918#define GL_ISOLINES_EXT 0x8E7A
1919#define GL_QUADS_EXT 0x0007
1920#define GL_FRACTIONAL_ODD_EXT 0x8E7B
1921#define GL_FRACTIONAL_EVEN_EXT 0x8E7C
1922#define GL_MAX_PATCH_VERTICES_EXT 0x8E7D
1923#define GL_MAX_TESS_GEN_LEVEL_EXT 0x8E7E
1924#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E7F
1925#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E80
1926#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT 0x8E81
1927#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT 0x8E82
1928#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT 0x8E83
1929#define GL_MAX_TESS_PATCH_COMPONENTS_EXT 0x8E84
1930#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT 0x8E85
1931#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT 0x8E86
1932#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT 0x8E89
1933#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT 0x8E8A
1934#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT 0x886C
1935#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT 0x886D
1936#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E1E
1937#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E1F
1938#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT 0x92CD
1939#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT 0x92CE
1940#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT 0x92D3
1941#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT 0x92D4
1942#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT 0x90CB
1943#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT 0x90CC
1944#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT 0x90D8
1945#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT 0x90D9
1946#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
1947#define GL_IS_PER_PATCH_EXT 0x92E7
1948#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT 0x9307
1949#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT 0x9308
1950#define GL_TESS_CONTROL_SHADER_EXT 0x8E88
1951#define GL_TESS_EVALUATION_SHADER_EXT 0x8E87
1952#define GL_TESS_CONTROL_SHADER_BIT_EXT 0x00000008
1953#define GL_TESS_EVALUATION_SHADER_BIT_EXT 0x00000010
1954typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIEXTPROC) (GLenum pname, GLint value);
1955#ifdef GL_GLEXT_PROTOTYPES
1956GL_APICALL void GL_APIENTRY glPatchParameteriEXT (GLenum pname, GLint value);
1957#endif
1958#endif /* GL_EXT_tessellation_shader */
1959
1960#ifndef GL_EXT_texture_border_clamp
1961#define GL_EXT_texture_border_clamp 1
1962#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004
1963#define GL_CLAMP_TO_BORDER_EXT 0x812D
1964typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
1965typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
1966typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
1967typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
1968typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, const GLint *param);
1969typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, const GLuint *param);
1970typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, GLint *params);
1971typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, GLuint *params);
1972#ifdef GL_GLEXT_PROTOTYPES
1973GL_APICALL void GL_APIENTRY glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params);
1974GL_APICALL void GL_APIENTRY glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params);
1975GL_APICALL void GL_APIENTRY glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params);
1976GL_APICALL void GL_APIENTRY glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params);
1977GL_APICALL void GL_APIENTRY glSamplerParameterIivEXT (GLuint sampler, GLenum pname, const GLint *param);
1978GL_APICALL void GL_APIENTRY glSamplerParameterIuivEXT (GLuint sampler, GLenum pname, const GLuint *param);
1979GL_APICALL void GL_APIENTRY glGetSamplerParameterIivEXT (GLuint sampler, GLenum pname, GLint *params);
1980GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivEXT (GLuint sampler, GLenum pname, GLuint *params);
1981#endif
1982#endif /* GL_EXT_texture_border_clamp */
1983
1984#ifndef GL_EXT_texture_buffer
1985#define GL_EXT_texture_buffer 1
1986#define GL_TEXTURE_BUFFER_EXT 0x8C2A
1987#define GL_TEXTURE_BUFFER_BINDING_EXT 0x8C2A
1988#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
1989#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
1990#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
1991#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT 0x919F
1992#define GL_SAMPLER_BUFFER_EXT 0x8DC2
1993#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
1994#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
1995#define GL_IMAGE_BUFFER_EXT 0x9051
1996#define GL_INT_IMAGE_BUFFER_EXT 0x905C
1997#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
1998#define GL_TEXTURE_BUFFER_OFFSET_EXT 0x919D
1999#define GL_TEXTURE_BUFFER_SIZE_EXT 0x919E
2000typedef void (GL_APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
2001typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEEXTPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
2002#ifdef GL_GLEXT_PROTOTYPES
2003GL_APICALL void GL_APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer);
2004GL_APICALL void GL_APIENTRY glTexBufferRangeEXT (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
2005#endif
2006#endif /* GL_EXT_texture_buffer */
2007
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02002008#ifndef GL_EXT_texture_compression_astc_decode_mode
2009#define GL_EXT_texture_compression_astc_decode_mode 1
2010#define GL_TEXTURE_ASTC_DECODE_PRECISION_EXT 0x8F69
2011#endif /* GL_EXT_texture_compression_astc_decode_mode */
2012
Ilia Mirkin76ce7f02017-08-06 10:33:30 -04002013#ifndef GL_EXT_texture_compression_bptc
2014#define GL_EXT_texture_compression_bptc 1
2015#define GL_COMPRESSED_RGBA_BPTC_UNORM_EXT 0x8E8C
2016#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT 0x8E8D
2017#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT 0x8E8E
2018#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT 0x8E8F
2019#endif /* GL_EXT_texture_compression_bptc */
2020
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002021#ifndef GL_EXT_texture_compression_dxt1
2022#define GL_EXT_texture_compression_dxt1 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002023#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
2024#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
2025#endif /* GL_EXT_texture_compression_dxt1 */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002026
Ilia Mirkin76ce7f02017-08-06 10:33:30 -04002027#ifndef GL_EXT_texture_compression_rgtc
2028#define GL_EXT_texture_compression_rgtc 1
2029#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
2030#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
2031#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
2032#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
2033#endif /* GL_EXT_texture_compression_rgtc */
2034
Matt Turnerd519ebb2014-01-22 14:12:14 -08002035#ifndef GL_EXT_texture_compression_s3tc
2036#define GL_EXT_texture_compression_s3tc 1
2037#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
2038#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
2039#endif /* GL_EXT_texture_compression_s3tc */
2040
Ilia Mirkin76ce7f02017-08-06 10:33:30 -04002041#ifndef GL_EXT_texture_compression_s3tc_srgb
2042#define GL_EXT_texture_compression_s3tc_srgb 1
2043#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
2044#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
2045#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
2046#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
2047#endif /* GL_EXT_texture_compression_s3tc_srgb */
2048
Neil Roberts1ecf6e12014-10-01 17:24:10 +01002049#ifndef GL_EXT_texture_cube_map_array
2050#define GL_EXT_texture_cube_map_array 1
2051#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT 0x9009
2052#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT 0x900A
2053#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900C
2054#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT 0x900D
2055#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900E
2056#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900F
2057#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
2058#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
2059#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
2060#endif /* GL_EXT_texture_cube_map_array */
2061
Brian Paul0ebc94d2008-06-04 10:04:31 -06002062#ifndef GL_EXT_texture_filter_anisotropic
2063#define GL_EXT_texture_filter_anisotropic 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002064#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
2065#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
2066#endif /* GL_EXT_texture_filter_anisotropic */
Brian Paul0ebc94d2008-06-04 10:04:31 -06002067
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002068#ifndef GL_EXT_texture_filter_minmax
2069#define GL_EXT_texture_filter_minmax 1
2070#endif /* GL_EXT_texture_filter_minmax */
2071
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002072#ifndef GL_EXT_texture_format_BGRA8888
2073#define GL_EXT_texture_format_BGRA8888 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002074#endif /* GL_EXT_texture_format_BGRA8888 */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002075
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002076#ifndef GL_EXT_texture_norm16
2077#define GL_EXT_texture_norm16 1
2078#define GL_R16_EXT 0x822A
2079#define GL_RG16_EXT 0x822C
2080#define GL_RGBA16_EXT 0x805B
2081#define GL_RGB16_EXT 0x8054
2082#define GL_RGB16_SNORM_EXT 0x8F9A
2083#endif /* GL_EXT_texture_norm16 */
2084
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002085#ifndef GL_EXT_texture_rg
2086#define GL_EXT_texture_rg 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002087#define GL_RED_EXT 0x1903
2088#define GL_RG_EXT 0x8227
2089#define GL_R8_EXT 0x8229
2090#define GL_RG8_EXT 0x822B
2091#endif /* GL_EXT_texture_rg */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002092
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002093#ifndef GL_EXT_texture_sRGB_R8
2094#define GL_EXT_texture_sRGB_R8 1
2095#define GL_SR8_EXT 0x8FBD
2096#endif /* GL_EXT_texture_sRGB_R8 */
2097
2098#ifndef GL_EXT_texture_sRGB_RG8
2099#define GL_EXT_texture_sRGB_RG8 1
2100#define GL_SRG8_EXT 0x8FBE
2101#endif /* GL_EXT_texture_sRGB_RG8 */
2102
Matt Turnerd519ebb2014-01-22 14:12:14 -08002103#ifndef GL_EXT_texture_sRGB_decode
2104#define GL_EXT_texture_sRGB_decode 1
2105#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
2106#define GL_DECODE_EXT 0x8A49
2107#define GL_SKIP_DECODE_EXT 0x8A4A
2108#endif /* GL_EXT_texture_sRGB_decode */
2109
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002110#ifndef GL_EXT_texture_storage
2111#define GL_EXT_texture_storage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002112#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
2113#define GL_ALPHA8_EXT 0x803C
2114#define GL_LUMINANCE8_EXT 0x8040
2115#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
2116#define GL_RGBA32F_EXT 0x8814
2117#define GL_RGB32F_EXT 0x8815
2118#define GL_ALPHA32F_EXT 0x8816
2119#define GL_LUMINANCE32F_EXT 0x8818
2120#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
2121#define GL_ALPHA16F_EXT 0x881C
2122#define GL_LUMINANCE16F_EXT 0x881E
2123#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
2124#define GL_R32F_EXT 0x822E
2125#define GL_RG32F_EXT 0x8230
2126typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2127typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2128typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2129typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2130typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2131typedef 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 -04002132#ifdef GL_GLEXT_PROTOTYPES
2133GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2134GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2135GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2136GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
2137GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
2138GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
2139#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002140#endif /* GL_EXT_texture_storage */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002141
Brian Paul0ebc94d2008-06-04 10:04:31 -06002142#ifndef GL_EXT_texture_type_2_10_10_10_REV
2143#define GL_EXT_texture_type_2_10_10_10_REV 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002144#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
2145#endif /* GL_EXT_texture_type_2_10_10_10_REV */
Brian Paul0ebc94d2008-06-04 10:04:31 -06002146
Neil Roberts1ecf6e12014-10-01 17:24:10 +01002147#ifndef GL_EXT_texture_view
2148#define GL_EXT_texture_view 1
2149#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT 0x82DB
2150#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT 0x82DC
2151#define GL_TEXTURE_VIEW_MIN_LAYER_EXT 0x82DD
2152#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT 0x82DE
Neil Roberts1ecf6e12014-10-01 17:24:10 +01002153typedef void (GL_APIENTRYP PFNGLTEXTUREVIEWEXTPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
2154#ifdef GL_GLEXT_PROTOTYPES
2155GL_APICALL void GL_APIENTRY glTextureViewEXT (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
2156#endif
2157#endif /* GL_EXT_texture_view */
2158
Ian Romanickb152a232011-09-20 15:54:52 -07002159#ifndef GL_EXT_unpack_subimage
2160#define GL_EXT_unpack_subimage 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002161#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
2162#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
2163#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
2164#endif /* GL_EXT_unpack_subimage */
Ian Romanickb152a232011-09-20 15:54:52 -07002165
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02002166#ifndef GL_EXT_win32_keyed_mutex
2167#define GL_EXT_win32_keyed_mutex 1
2168typedef GLboolean (GL_APIENTRYP PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key, GLuint timeout);
2169typedef GLboolean (GL_APIENTRYP PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key);
2170#ifdef GL_GLEXT_PROTOTYPES
2171GL_APICALL GLboolean GL_APIENTRY glAcquireKeyedMutexWin32EXT (GLuint memory, GLuint64 key, GLuint timeout);
2172GL_APICALL GLboolean GL_APIENTRY glReleaseKeyedMutexWin32EXT (GLuint memory, GLuint64 key);
2173#endif
2174#endif /* GL_EXT_win32_keyed_mutex */
2175
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04002176#ifndef GL_EXT_window_rectangles
2177#define GL_EXT_window_rectangles 1
2178#define GL_INCLUSIVE_EXT 0x8F10
2179#define GL_EXCLUSIVE_EXT 0x8F11
2180#define GL_WINDOW_RECTANGLE_EXT 0x8F12
2181#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13
2182#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14
2183#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15
2184typedef void (GL_APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box);
2185#ifdef GL_GLEXT_PROTOTYPES
2186GL_APICALL void GL_APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box);
2187#endif
2188#endif /* GL_EXT_window_rectangles */
2189
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002190#ifndef GL_FJ_shader_binary_GCCSO
2191#define GL_FJ_shader_binary_GCCSO 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002192#define GL_GCCSO_SHADER_BINARY_FJ 0x9260
2193#endif /* GL_FJ_shader_binary_GCCSO */
Kristian Høgsberg3ed8d422012-07-03 20:47:04 -04002194
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02002195#ifndef GL_IMG_bindless_texture
2196#define GL_IMG_bindless_texture 1
2197typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTUREHANDLEIMGPROC) (GLuint texture);
2198typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEIMGPROC) (GLuint texture, GLuint sampler);
2199typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64IMGPROC) (GLint location, GLuint64 value);
2200typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64VIMGPROC) (GLint location, GLsizei count, const GLuint64 *value);
2201typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64IMGPROC) (GLuint program, GLint location, GLuint64 value);
2202typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VIMGPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2203#ifdef GL_GLEXT_PROTOTYPES
2204GL_APICALL GLuint64 GL_APIENTRY glGetTextureHandleIMG (GLuint texture);
2205GL_APICALL GLuint64 GL_APIENTRY glGetTextureSamplerHandleIMG (GLuint texture, GLuint sampler);
2206GL_APICALL void GL_APIENTRY glUniformHandleui64IMG (GLint location, GLuint64 value);
2207GL_APICALL void GL_APIENTRY glUniformHandleui64vIMG (GLint location, GLsizei count, const GLuint64 *value);
2208GL_APICALL void GL_APIENTRY glProgramUniformHandleui64IMG (GLuint program, GLint location, GLuint64 value);
2209GL_APICALL void GL_APIENTRY glProgramUniformHandleui64vIMG (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2210#endif
2211#endif /* GL_IMG_bindless_texture */
2212
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04002213#ifndef GL_IMG_framebuffer_downsample
2214#define GL_IMG_framebuffer_downsample 1
2215#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG 0x913C
2216#define GL_NUM_DOWNSAMPLE_SCALES_IMG 0x913D
2217#define GL_DOWNSAMPLE_SCALES_IMG 0x913E
2218#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG 0x913F
2219typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
2220typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
2221#ifdef GL_GLEXT_PROTOTYPES
2222GL_APICALL void GL_APIENTRY glFramebufferTexture2DDownsampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale);
2223GL_APICALL void GL_APIENTRY glFramebufferTextureLayerDownsampleIMG (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale);
2224#endif
2225#endif /* GL_IMG_framebuffer_downsample */
2226
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002227#ifndef GL_IMG_multisampled_render_to_texture
2228#define GL_IMG_multisampled_render_to_texture 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002229#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
2230#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
2231#define GL_MAX_SAMPLES_IMG 0x9135
2232#define GL_TEXTURE_SAMPLES_IMG 0x9136
Matt Turner5c78ad82012-11-15 11:56:22 -08002233typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2234typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
Matt Turnerd519ebb2014-01-22 14:12:14 -08002235#ifdef GL_GLEXT_PROTOTYPES
2236GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2237GL_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 +08002238#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002239#endif /* GL_IMG_multisampled_render_to_texture */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002240
Matt Turnerd519ebb2014-01-22 14:12:14 -08002241#ifndef GL_IMG_program_binary
2242#define GL_IMG_program_binary 1
2243#define GL_SGX_PROGRAM_BINARY_IMG 0x9130
2244#endif /* GL_IMG_program_binary */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002245
Matt Turnerd519ebb2014-01-22 14:12:14 -08002246#ifndef GL_IMG_read_format
2247#define GL_IMG_read_format 1
2248#define GL_BGRA_IMG 0x80E1
2249#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
2250#endif /* GL_IMG_read_format */
2251
2252#ifndef GL_IMG_shader_binary
2253#define GL_IMG_shader_binary 1
2254#define GL_SGX_BINARY_IMG 0x8C0A
2255#endif /* GL_IMG_shader_binary */
2256
2257#ifndef GL_IMG_texture_compression_pvrtc
2258#define GL_IMG_texture_compression_pvrtc 1
2259#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
2260#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
2261#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
2262#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
2263#endif /* GL_IMG_texture_compression_pvrtc */
2264
2265#ifndef GL_IMG_texture_compression_pvrtc2
2266#define GL_IMG_texture_compression_pvrtc2 1
2267#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
2268#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
2269#endif /* GL_IMG_texture_compression_pvrtc2 */
2270
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002271#ifndef GL_IMG_texture_filter_cubic
2272#define GL_IMG_texture_filter_cubic 1
2273#define GL_CUBIC_IMG 0x9139
2274#define GL_CUBIC_MIPMAP_NEAREST_IMG 0x913A
2275#define GL_CUBIC_MIPMAP_LINEAR_IMG 0x913B
2276#endif /* GL_IMG_texture_filter_cubic */
2277
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04002278#ifndef GL_INTEL_conservative_rasterization
2279#define GL_INTEL_conservative_rasterization 1
2280#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
2281#endif /* GL_INTEL_conservative_rasterization */
2282
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002283#ifndef GL_INTEL_framebuffer_CMAA
2284#define GL_INTEL_framebuffer_CMAA 1
2285typedef void (GL_APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void);
2286#ifdef GL_GLEXT_PROTOTYPES
2287GL_APICALL void GL_APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
2288#endif
2289#endif /* GL_INTEL_framebuffer_CMAA */
2290
Matt Turnerd519ebb2014-01-22 14:12:14 -08002291#ifndef GL_INTEL_performance_query
2292#define GL_INTEL_performance_query 1
2293#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000
2294#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001
2295#define GL_PERFQUERY_WAIT_INTEL 0x83FB
2296#define GL_PERFQUERY_FLUSH_INTEL 0x83FA
2297#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9
2298#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0
2299#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1
2300#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2
2301#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3
2302#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4
2303#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5
2304#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8
2305#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9
2306#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA
2307#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB
2308#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC
2309#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD
2310#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
2311#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
2312#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
2313typedef void (GL_APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
2314typedef void (GL_APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle);
2315typedef void (GL_APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
2316typedef void (GL_APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
2317typedef void (GL_APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
2318typedef void (GL_APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId);
2319typedef 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);
2320typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
2321typedef void (GL_APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId);
2322typedef void (GL_APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
2323#ifdef GL_GLEXT_PROTOTYPES
2324GL_APICALL void GL_APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
2325GL_APICALL void GL_APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle);
2326GL_APICALL void GL_APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
2327GL_APICALL void GL_APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
2328GL_APICALL void GL_APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
2329GL_APICALL void GL_APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId);
2330GL_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);
2331GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
2332GL_APICALL void GL_APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId);
2333GL_APICALL void GL_APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask);
2334#endif
2335#endif /* GL_INTEL_performance_query */
2336
Jordan Justen219628c2017-11-07 00:16:47 -08002337#ifndef GL_MESA_program_binary_formats
2338#define GL_MESA_program_binary_formats 1
2339#define GL_PROGRAM_BINARY_FORMAT_MESA 0x875F
2340#endif /* GL_MESA_program_binary_formats */
2341
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02002342#ifndef GL_MESA_shader_integer_functions
2343#define GL_MESA_shader_integer_functions 1
2344#endif /* GL_MESA_shader_integer_functions */
2345
2346#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers
2347#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1
2348#endif /* GL_NVX_blend_equation_advanced_multi_draw_buffers */
2349
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002350#ifndef GL_NV_bindless_texture
2351#define GL_NV_bindless_texture 1
2352typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture);
2353typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler);
2354typedef void (GL_APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);
2355typedef void (GL_APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle);
2356typedef GLuint64 (GL_APIENTRYP PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
2357typedef void (GL_APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access);
2358typedef void (GL_APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle);
2359typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value);
2360typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value);
2361typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value);
2362typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2363typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle);
2364typedef GLboolean (GL_APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle);
2365#ifdef GL_GLEXT_PROTOTYPES
2366GL_APICALL GLuint64 GL_APIENTRY glGetTextureHandleNV (GLuint texture);
2367GL_APICALL GLuint64 GL_APIENTRY glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler);
2368GL_APICALL void GL_APIENTRY glMakeTextureHandleResidentNV (GLuint64 handle);
2369GL_APICALL void GL_APIENTRY glMakeTextureHandleNonResidentNV (GLuint64 handle);
2370GL_APICALL GLuint64 GL_APIENTRY glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
2371GL_APICALL void GL_APIENTRY glMakeImageHandleResidentNV (GLuint64 handle, GLenum access);
2372GL_APICALL void GL_APIENTRY glMakeImageHandleNonResidentNV (GLuint64 handle);
2373GL_APICALL void GL_APIENTRY glUniformHandleui64NV (GLint location, GLuint64 value);
2374GL_APICALL void GL_APIENTRY glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value);
2375GL_APICALL void GL_APIENTRY glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value);
2376GL_APICALL void GL_APIENTRY glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values);
2377GL_APICALL GLboolean GL_APIENTRY glIsTextureHandleResidentNV (GLuint64 handle);
2378GL_APICALL GLboolean GL_APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
2379#endif
2380#endif /* GL_NV_bindless_texture */
2381
Matt Turnerd519ebb2014-01-22 14:12:14 -08002382#ifndef GL_NV_blend_equation_advanced
2383#define GL_NV_blend_equation_advanced 1
2384#define GL_BLEND_OVERLAP_NV 0x9281
2385#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
2386#define GL_BLUE_NV 0x1905
2387#define GL_COLORBURN_NV 0x929A
2388#define GL_COLORDODGE_NV 0x9299
2389#define GL_CONJOINT_NV 0x9284
2390#define GL_CONTRAST_NV 0x92A1
2391#define GL_DARKEN_NV 0x9297
2392#define GL_DIFFERENCE_NV 0x929E
2393#define GL_DISJOINT_NV 0x9283
2394#define GL_DST_ATOP_NV 0x928F
2395#define GL_DST_IN_NV 0x928B
2396#define GL_DST_NV 0x9287
2397#define GL_DST_OUT_NV 0x928D
2398#define GL_DST_OVER_NV 0x9289
2399#define GL_EXCLUSION_NV 0x92A0
2400#define GL_GREEN_NV 0x1904
2401#define GL_HARDLIGHT_NV 0x929B
2402#define GL_HARDMIX_NV 0x92A9
2403#define GL_HSL_COLOR_NV 0x92AF
2404#define GL_HSL_HUE_NV 0x92AD
2405#define GL_HSL_LUMINOSITY_NV 0x92B0
2406#define GL_HSL_SATURATION_NV 0x92AE
2407#define GL_INVERT_OVG_NV 0x92B4
2408#define GL_INVERT_RGB_NV 0x92A3
2409#define GL_LIGHTEN_NV 0x9298
2410#define GL_LINEARBURN_NV 0x92A5
2411#define GL_LINEARDODGE_NV 0x92A4
2412#define GL_LINEARLIGHT_NV 0x92A7
2413#define GL_MINUS_CLAMPED_NV 0x92B3
2414#define GL_MINUS_NV 0x929F
2415#define GL_MULTIPLY_NV 0x9294
2416#define GL_OVERLAY_NV 0x9296
2417#define GL_PINLIGHT_NV 0x92A8
2418#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2
2419#define GL_PLUS_CLAMPED_NV 0x92B1
2420#define GL_PLUS_DARKER_NV 0x9292
2421#define GL_PLUS_NV 0x9291
2422#define GL_RED_NV 0x1903
2423#define GL_SCREEN_NV 0x9295
2424#define GL_SOFTLIGHT_NV 0x929C
2425#define GL_SRC_ATOP_NV 0x928E
2426#define GL_SRC_IN_NV 0x928A
2427#define GL_SRC_NV 0x9286
2428#define GL_SRC_OUT_NV 0x928C
2429#define GL_SRC_OVER_NV 0x9288
2430#define GL_UNCORRELATED_NV 0x9282
2431#define GL_VIVIDLIGHT_NV 0x92A6
2432#define GL_XOR_NV 0x1506
2433typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
2434typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
2435#ifdef GL_GLEXT_PROTOTYPES
2436GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value);
2437GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
2438#endif
2439#endif /* GL_NV_blend_equation_advanced */
2440
2441#ifndef GL_NV_blend_equation_advanced_coherent
2442#define GL_NV_blend_equation_advanced_coherent 1
2443#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285
2444#endif /* GL_NV_blend_equation_advanced_coherent */
2445
Ilia Mirkin76ce7f02017-08-06 10:33:30 -04002446#ifndef GL_NV_blend_minmax_factor
2447#define GL_NV_blend_minmax_factor 1
2448#define GL_FACTOR_MIN_AMD 0x901C
2449#define GL_FACTOR_MAX_AMD 0x901D
2450#endif /* GL_NV_blend_minmax_factor */
2451
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002452#ifndef GL_NV_conditional_render
2453#define GL_NV_conditional_render 1
2454#define GL_QUERY_WAIT_NV 0x8E13
2455#define GL_QUERY_NO_WAIT_NV 0x8E14
2456#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
2457#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
2458typedef void (GL_APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
2459typedef void (GL_APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);
2460#ifdef GL_GLEXT_PROTOTYPES
2461GL_APICALL void GL_APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode);
2462GL_APICALL void GL_APIENTRY glEndConditionalRenderNV (void);
2463#endif
2464#endif /* GL_NV_conditional_render */
2465
2466#ifndef GL_NV_conservative_raster
2467#define GL_NV_conservative_raster 1
2468#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346
2469#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347
2470#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348
2471#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349
2472typedef void (GL_APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits);
2473#ifdef GL_GLEXT_PROTOTYPES
2474GL_APICALL void GL_APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits);
2475#endif
2476#endif /* GL_NV_conservative_raster */
2477
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04002478#ifndef GL_NV_conservative_raster_pre_snap_triangles
2479#define GL_NV_conservative_raster_pre_snap_triangles 1
2480#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D
2481#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
2482#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
2483typedef void (GL_APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param);
2484#ifdef GL_GLEXT_PROTOTYPES
2485GL_APICALL void GL_APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param);
2486#endif
2487#endif /* GL_NV_conservative_raster_pre_snap_triangles */
2488
Matt Turnerd519ebb2014-01-22 14:12:14 -08002489#ifndef GL_NV_copy_buffer
2490#define GL_NV_copy_buffer 1
2491#define GL_COPY_READ_BUFFER_NV 0x8F36
2492#define GL_COPY_WRITE_BUFFER_NV 0x8F37
2493typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
2494#ifdef GL_GLEXT_PROTOTYPES
2495GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
2496#endif
2497#endif /* GL_NV_copy_buffer */
2498
Ian Romanickb152a232011-09-20 15:54:52 -07002499#ifndef GL_NV_coverage_sample
2500#define GL_NV_coverage_sample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002501#define GL_COVERAGE_COMPONENT_NV 0x8ED0
2502#define GL_COVERAGE_COMPONENT4_NV 0x8ED1
2503#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
2504#define GL_COVERAGE_BUFFERS_NV 0x8ED3
2505#define GL_COVERAGE_SAMPLES_NV 0x8ED4
2506#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
2507#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
2508#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
2509#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000
2510typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
2511typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
Ian Romanickb152a232011-09-20 15:54:52 -07002512#ifdef GL_GLEXT_PROTOTYPES
2513GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
2514GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
2515#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002516#endif /* GL_NV_coverage_sample */
Ian Romanickb152a232011-09-20 15:54:52 -07002517
Ian Romanickb152a232011-09-20 15:54:52 -07002518#ifndef GL_NV_depth_nonlinear
2519#define GL_NV_depth_nonlinear 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002520#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
2521#endif /* GL_NV_depth_nonlinear */
Ian Romanickb152a232011-09-20 15:54:52 -07002522
Ian Romanickb152a232011-09-20 15:54:52 -07002523#ifndef GL_NV_draw_buffers
2524#define GL_NV_draw_buffers 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002525#define GL_MAX_DRAW_BUFFERS_NV 0x8824
2526#define GL_DRAW_BUFFER0_NV 0x8825
2527#define GL_DRAW_BUFFER1_NV 0x8826
2528#define GL_DRAW_BUFFER2_NV 0x8827
2529#define GL_DRAW_BUFFER3_NV 0x8828
2530#define GL_DRAW_BUFFER4_NV 0x8829
2531#define GL_DRAW_BUFFER5_NV 0x882A
2532#define GL_DRAW_BUFFER6_NV 0x882B
2533#define GL_DRAW_BUFFER7_NV 0x882C
2534#define GL_DRAW_BUFFER8_NV 0x882D
2535#define GL_DRAW_BUFFER9_NV 0x882E
2536#define GL_DRAW_BUFFER10_NV 0x882F
2537#define GL_DRAW_BUFFER11_NV 0x8830
2538#define GL_DRAW_BUFFER12_NV 0x8831
2539#define GL_DRAW_BUFFER13_NV 0x8832
2540#define GL_DRAW_BUFFER14_NV 0x8833
2541#define GL_DRAW_BUFFER15_NV 0x8834
2542#define GL_COLOR_ATTACHMENT0_NV 0x8CE0
2543#define GL_COLOR_ATTACHMENT1_NV 0x8CE1
2544#define GL_COLOR_ATTACHMENT2_NV 0x8CE2
2545#define GL_COLOR_ATTACHMENT3_NV 0x8CE3
2546#define GL_COLOR_ATTACHMENT4_NV 0x8CE4
2547#define GL_COLOR_ATTACHMENT5_NV 0x8CE5
2548#define GL_COLOR_ATTACHMENT6_NV 0x8CE6
2549#define GL_COLOR_ATTACHMENT7_NV 0x8CE7
2550#define GL_COLOR_ATTACHMENT8_NV 0x8CE8
2551#define GL_COLOR_ATTACHMENT9_NV 0x8CE9
2552#define GL_COLOR_ATTACHMENT10_NV 0x8CEA
2553#define GL_COLOR_ATTACHMENT11_NV 0x8CEB
2554#define GL_COLOR_ATTACHMENT12_NV 0x8CEC
2555#define GL_COLOR_ATTACHMENT13_NV 0x8CED
2556#define GL_COLOR_ATTACHMENT14_NV 0x8CEE
2557#define GL_COLOR_ATTACHMENT15_NV 0x8CEF
2558typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
Ian Romanickb152a232011-09-20 15:54:52 -07002559#ifdef GL_GLEXT_PROTOTYPES
2560GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
2561#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002562#endif /* GL_NV_draw_buffers */
Ian Romanickb152a232011-09-20 15:54:52 -07002563
Matt Turner00a945f2013-07-26 16:33:10 -07002564#ifndef GL_NV_draw_instanced
2565#define GL_NV_draw_instanced 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002566typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
2567typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
Matt Turner00a945f2013-07-26 16:33:10 -07002568#ifdef GL_GLEXT_PROTOTYPES
2569GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
Matt Turnerd519ebb2014-01-22 14:12:14 -08002570GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
Matt Turner00a945f2013-07-26 16:33:10 -07002571#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002572#endif /* GL_NV_draw_instanced */
Matt Turner00a945f2013-07-26 16:33:10 -07002573
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02002574#ifndef GL_NV_draw_vulkan_image
2575#define GL_NV_draw_vulkan_image 1
2576typedef void (GL_APIENTRY *GLVULKANPROCNV)(void);
2577typedef void (GL_APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
2578typedef GLVULKANPROCNV (GL_APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar *name);
2579typedef void (GL_APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
2580typedef void (GL_APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
2581typedef void (GL_APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence);
2582#ifdef GL_GLEXT_PROTOTYPES
2583GL_APICALL void GL_APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1);
2584GL_APICALL GLVULKANPROCNV GL_APIENTRY glGetVkProcAddrNV (const GLchar *name);
2585GL_APICALL void GL_APIENTRY glWaitVkSemaphoreNV (GLuint64 vkSemaphore);
2586GL_APICALL void GL_APIENTRY glSignalVkSemaphoreNV (GLuint64 vkSemaphore);
2587GL_APICALL void GL_APIENTRY glSignalVkFenceNV (GLuint64 vkFence);
2588#endif
2589#endif /* GL_NV_draw_vulkan_image */
2590
Matt Turnerd519ebb2014-01-22 14:12:14 -08002591#ifndef GL_NV_explicit_attrib_location
2592#define GL_NV_explicit_attrib_location 1
2593#endif /* GL_NV_explicit_attrib_location */
2594
Ian Romanickb152a232011-09-20 15:54:52 -07002595#ifndef GL_NV_fbo_color_attachments
2596#define GL_NV_fbo_color_attachments 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002597#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
2598#endif /* GL_NV_fbo_color_attachments */
Ian Romanickb152a232011-09-20 15:54:52 -07002599
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002600#ifndef GL_NV_fence
2601#define GL_NV_fence 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002602#define GL_ALL_COMPLETED_NV 0x84F2
2603#define GL_FENCE_STATUS_NV 0x84F3
2604#define GL_FENCE_CONDITION_NV 0x84F4
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002605typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
2606typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
2607typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
2608typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
2609typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
2610typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
2611typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
Matt Turnerd519ebb2014-01-22 14:12:14 -08002612#ifdef GL_GLEXT_PROTOTYPES
2613GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
2614GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
2615GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
2616GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
2617GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
2618GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
2619GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002620#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002621#endif /* GL_NV_fence */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08002622
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002623#ifndef GL_NV_fill_rectangle
2624#define GL_NV_fill_rectangle 1
2625#define GL_FILL_RECTANGLE_NV 0x933C
2626#endif /* GL_NV_fill_rectangle */
2627
2628#ifndef GL_NV_fragment_coverage_to_color
2629#define GL_NV_fragment_coverage_to_color 1
2630#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD
2631#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE
2632typedef void (GL_APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color);
2633#ifdef GL_GLEXT_PROTOTYPES
2634GL_APICALL void GL_APIENTRY glFragmentCoverageColorNV (GLuint color);
2635#endif
2636#endif /* GL_NV_fragment_coverage_to_color */
2637
2638#ifndef GL_NV_fragment_shader_interlock
2639#define GL_NV_fragment_shader_interlock 1
2640#endif /* GL_NV_fragment_shader_interlock */
2641
Matt Turner00a945f2013-07-26 16:33:10 -07002642#ifndef GL_NV_framebuffer_blit
2643#define GL_NV_framebuffer_blit 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002644#define GL_READ_FRAMEBUFFER_NV 0x8CA8
2645#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
2646#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
2647#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
2648typedef 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 -07002649#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08002650GL_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 -07002651#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002652#endif /* GL_NV_framebuffer_blit */
Matt Turner00a945f2013-07-26 16:33:10 -07002653
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002654#ifndef GL_NV_framebuffer_mixed_samples
2655#define GL_NV_framebuffer_mixed_samples 1
2656#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331
2657#define GL_COLOR_SAMPLES_NV 0x8E20
2658#define GL_DEPTH_SAMPLES_NV 0x932D
2659#define GL_STENCIL_SAMPLES_NV 0x932E
2660#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F
2661#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330
2662#define GL_COVERAGE_MODULATION_NV 0x9332
2663#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333
2664typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v);
2665typedef void (GL_APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufsize, GLfloat *v);
2666typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components);
2667#ifdef GL_GLEXT_PROTOTYPES
2668GL_APICALL void GL_APIENTRY glCoverageModulationTableNV (GLsizei n, const GLfloat *v);
2669GL_APICALL void GL_APIENTRY glGetCoverageModulationTableNV (GLsizei bufsize, GLfloat *v);
2670GL_APICALL void GL_APIENTRY glCoverageModulationNV (GLenum components);
2671#endif
2672#endif /* GL_NV_framebuffer_mixed_samples */
2673
Matt Turner00a945f2013-07-26 16:33:10 -07002674#ifndef GL_NV_framebuffer_multisample
2675#define GL_NV_framebuffer_multisample 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002676#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
2677#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
2678#define GL_MAX_SAMPLES_NV 0x8D57
2679typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Matt Turner00a945f2013-07-26 16:33:10 -07002680#ifdef GL_GLEXT_PROTOTYPES
Matt Turnerd519ebb2014-01-22 14:12:14 -08002681GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
Matt Turner00a945f2013-07-26 16:33:10 -07002682#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002683#endif /* GL_NV_framebuffer_multisample */
Matt Turner00a945f2013-07-26 16:33:10 -07002684
Matt Turner00a945f2013-07-26 16:33:10 -07002685#ifndef GL_NV_generate_mipmap_sRGB
2686#define GL_NV_generate_mipmap_sRGB 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002687#endif /* GL_NV_generate_mipmap_sRGB */
Matt Turner00a945f2013-07-26 16:33:10 -07002688
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002689#ifndef GL_NV_geometry_shader_passthrough
2690#define GL_NV_geometry_shader_passthrough 1
2691#endif /* GL_NV_geometry_shader_passthrough */
2692
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04002693#ifndef GL_NV_gpu_shader5
2694#define GL_NV_gpu_shader5 1
2695typedef khronos_int64_t GLint64EXT;
2696typedef khronos_uint64_t GLuint64EXT;
2697#define GL_INT64_NV 0x140E
2698#define GL_UNSIGNED_INT64_NV 0x140F
2699#define GL_INT8_NV 0x8FE0
2700#define GL_INT8_VEC2_NV 0x8FE1
2701#define GL_INT8_VEC3_NV 0x8FE2
2702#define GL_INT8_VEC4_NV 0x8FE3
2703#define GL_INT16_NV 0x8FE4
2704#define GL_INT16_VEC2_NV 0x8FE5
2705#define GL_INT16_VEC3_NV 0x8FE6
2706#define GL_INT16_VEC4_NV 0x8FE7
2707#define GL_INT64_VEC2_NV 0x8FE9
2708#define GL_INT64_VEC3_NV 0x8FEA
2709#define GL_INT64_VEC4_NV 0x8FEB
2710#define GL_UNSIGNED_INT8_NV 0x8FEC
2711#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
2712#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
2713#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
2714#define GL_UNSIGNED_INT16_NV 0x8FF0
2715#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
2716#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
2717#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
2718#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
2719#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
2720#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
2721#define GL_FLOAT16_NV 0x8FF8
2722#define GL_FLOAT16_VEC2_NV 0x8FF9
2723#define GL_FLOAT16_VEC3_NV 0x8FFA
2724#define GL_FLOAT16_VEC4_NV 0x8FFB
2725#define GL_PATCHES 0x000E
2726typedef void (GL_APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
2727typedef void (GL_APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
2728typedef void (GL_APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
2729typedef void (GL_APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
2730typedef void (GL_APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
2731typedef void (GL_APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
2732typedef void (GL_APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
2733typedef void (GL_APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
2734typedef void (GL_APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
2735typedef void (GL_APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
2736typedef void (GL_APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
2737typedef void (GL_APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
2738typedef void (GL_APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
2739typedef void (GL_APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
2740typedef void (GL_APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
2741typedef void (GL_APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
2742typedef void (GL_APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
2743typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
2744typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
2745typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
2746typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
2747typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2748typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2749typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2750typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2751typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
2752typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
2753typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
2754typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
2755typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2756typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2757typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2758typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2759#ifdef GL_GLEXT_PROTOTYPES
2760GL_APICALL void GL_APIENTRY glUniform1i64NV (GLint location, GLint64EXT x);
2761GL_APICALL void GL_APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);
2762GL_APICALL void GL_APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
2763GL_APICALL void GL_APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
2764GL_APICALL void GL_APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
2765GL_APICALL void GL_APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
2766GL_APICALL void GL_APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
2767GL_APICALL void GL_APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
2768GL_APICALL void GL_APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x);
2769GL_APICALL void GL_APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);
2770GL_APICALL void GL_APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
2771GL_APICALL void GL_APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
2772GL_APICALL void GL_APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
2773GL_APICALL void GL_APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
2774GL_APICALL void GL_APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
2775GL_APICALL void GL_APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
2776GL_APICALL void GL_APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);
2777GL_APICALL void GL_APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);
2778GL_APICALL void GL_APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
2779GL_APICALL void GL_APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
2780GL_APICALL void GL_APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
2781GL_APICALL void GL_APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2782GL_APICALL void GL_APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2783GL_APICALL void GL_APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2784GL_APICALL void GL_APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
2785GL_APICALL void GL_APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);
2786GL_APICALL void GL_APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
2787GL_APICALL void GL_APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
2788GL_APICALL void GL_APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
2789GL_APICALL void GL_APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2790GL_APICALL void GL_APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2791GL_APICALL void GL_APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2792GL_APICALL void GL_APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
2793#endif
2794#endif /* GL_NV_gpu_shader5 */
2795
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002796#ifndef GL_NV_image_formats
2797#define GL_NV_image_formats 1
2798#endif /* GL_NV_image_formats */
2799
Matt Turner00a945f2013-07-26 16:33:10 -07002800#ifndef GL_NV_instanced_arrays
2801#define GL_NV_instanced_arrays 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08002802#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
2803typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
Matt Turner00a945f2013-07-26 16:33:10 -07002804#ifdef GL_GLEXT_PROTOTYPES
2805GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
2806#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08002807#endif /* GL_NV_instanced_arrays */
Matt Turner00a945f2013-07-26 16:33:10 -07002808
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002809#ifndef GL_NV_internalformat_sample_query
2810#define GL_NV_internalformat_sample_query 1
2811#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
2812#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
2813#define GL_MULTISAMPLES_NV 0x9371
2814#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372
2815#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373
2816#define GL_CONFORMANT_NV 0x9374
2817typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);
2818#ifdef GL_GLEXT_PROTOTYPES
2819GL_APICALL void GL_APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);
2820#endif
2821#endif /* GL_NV_internalformat_sample_query */
2822
Matt Turnerd519ebb2014-01-22 14:12:14 -08002823#ifndef GL_NV_non_square_matrices
2824#define GL_NV_non_square_matrices 1
2825#define GL_FLOAT_MAT2x3_NV 0x8B65
2826#define GL_FLOAT_MAT2x4_NV 0x8B66
2827#define GL_FLOAT_MAT3x2_NV 0x8B67
2828#define GL_FLOAT_MAT3x4_NV 0x8B68
2829#define GL_FLOAT_MAT4x2_NV 0x8B69
2830#define GL_FLOAT_MAT4x3_NV 0x8B6A
2831typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2832typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2833typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2834typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2835typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2836typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2837#ifdef GL_GLEXT_PROTOTYPES
2838GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2839GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2840GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2841GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2842GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2843GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2844#endif
2845#endif /* GL_NV_non_square_matrices */
2846
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01002847#ifndef GL_NV_path_rendering
2848#define GL_NV_path_rendering 1
2849#define GL_PATH_FORMAT_SVG_NV 0x9070
2850#define GL_PATH_FORMAT_PS_NV 0x9071
2851#define GL_STANDARD_FONT_NAME_NV 0x9072
2852#define GL_SYSTEM_FONT_NAME_NV 0x9073
2853#define GL_FILE_NAME_NV 0x9074
2854#define GL_PATH_STROKE_WIDTH_NV 0x9075
2855#define GL_PATH_END_CAPS_NV 0x9076
2856#define GL_PATH_INITIAL_END_CAP_NV 0x9077
2857#define GL_PATH_TERMINAL_END_CAP_NV 0x9078
2858#define GL_PATH_JOIN_STYLE_NV 0x9079
2859#define GL_PATH_MITER_LIMIT_NV 0x907A
2860#define GL_PATH_DASH_CAPS_NV 0x907B
2861#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C
2862#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D
2863#define GL_PATH_DASH_OFFSET_NV 0x907E
2864#define GL_PATH_CLIENT_LENGTH_NV 0x907F
2865#define GL_PATH_FILL_MODE_NV 0x9080
2866#define GL_PATH_FILL_MASK_NV 0x9081
2867#define GL_PATH_FILL_COVER_MODE_NV 0x9082
2868#define GL_PATH_STROKE_COVER_MODE_NV 0x9083
2869#define GL_PATH_STROKE_MASK_NV 0x9084
2870#define GL_COUNT_UP_NV 0x9088
2871#define GL_COUNT_DOWN_NV 0x9089
2872#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A
2873#define GL_CONVEX_HULL_NV 0x908B
2874#define GL_BOUNDING_BOX_NV 0x908D
2875#define GL_TRANSLATE_X_NV 0x908E
2876#define GL_TRANSLATE_Y_NV 0x908F
2877#define GL_TRANSLATE_2D_NV 0x9090
2878#define GL_TRANSLATE_3D_NV 0x9091
2879#define GL_AFFINE_2D_NV 0x9092
2880#define GL_AFFINE_3D_NV 0x9094
2881#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096
2882#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098
2883#define GL_UTF8_NV 0x909A
2884#define GL_UTF16_NV 0x909B
2885#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C
2886#define GL_PATH_COMMAND_COUNT_NV 0x909D
2887#define GL_PATH_COORD_COUNT_NV 0x909E
2888#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F
2889#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0
2890#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1
2891#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2
2892#define GL_SQUARE_NV 0x90A3
2893#define GL_ROUND_NV 0x90A4
2894#define GL_TRIANGULAR_NV 0x90A5
2895#define GL_BEVEL_NV 0x90A6
2896#define GL_MITER_REVERT_NV 0x90A7
2897#define GL_MITER_TRUNCATE_NV 0x90A8
2898#define GL_SKIP_MISSING_GLYPH_NV 0x90A9
2899#define GL_USE_MISSING_GLYPH_NV 0x90AA
2900#define GL_PATH_ERROR_POSITION_NV 0x90AB
2901#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD
2902#define GL_ADJACENT_PAIRS_NV 0x90AE
2903#define GL_FIRST_TO_REST_NV 0x90AF
2904#define GL_PATH_GEN_MODE_NV 0x90B0
2905#define GL_PATH_GEN_COEFF_NV 0x90B1
2906#define GL_PATH_GEN_COMPONENTS_NV 0x90B3
2907#define GL_PATH_STENCIL_FUNC_NV 0x90B7
2908#define GL_PATH_STENCIL_REF_NV 0x90B8
2909#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9
2910#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD
2911#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE
2912#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF
2913#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4
2914#define GL_MOVE_TO_RESETS_NV 0x90B5
2915#define GL_MOVE_TO_CONTINUES_NV 0x90B6
2916#define GL_CLOSE_PATH_NV 0x00
2917#define GL_MOVE_TO_NV 0x02
2918#define GL_RELATIVE_MOVE_TO_NV 0x03
2919#define GL_LINE_TO_NV 0x04
2920#define GL_RELATIVE_LINE_TO_NV 0x05
2921#define GL_HORIZONTAL_LINE_TO_NV 0x06
2922#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07
2923#define GL_VERTICAL_LINE_TO_NV 0x08
2924#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09
2925#define GL_QUADRATIC_CURVE_TO_NV 0x0A
2926#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B
2927#define GL_CUBIC_CURVE_TO_NV 0x0C
2928#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D
2929#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E
2930#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F
2931#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10
2932#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11
2933#define GL_SMALL_CCW_ARC_TO_NV 0x12
2934#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13
2935#define GL_SMALL_CW_ARC_TO_NV 0x14
2936#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15
2937#define GL_LARGE_CCW_ARC_TO_NV 0x16
2938#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17
2939#define GL_LARGE_CW_ARC_TO_NV 0x18
2940#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19
2941#define GL_RESTART_PATH_NV 0xF0
2942#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2
2943#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4
2944#define GL_RECT_NV 0xF6
2945#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8
2946#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA
2947#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC
2948#define GL_ARC_TO_NV 0xFE
2949#define GL_RELATIVE_ARC_TO_NV 0xFF
2950#define GL_BOLD_BIT_NV 0x01
2951#define GL_ITALIC_BIT_NV 0x02
2952#define GL_GLYPH_WIDTH_BIT_NV 0x01
2953#define GL_GLYPH_HEIGHT_BIT_NV 0x02
2954#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04
2955#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08
2956#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10
2957#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20
2958#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40
2959#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80
2960#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100
2961#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000
2962#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000
2963#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000
2964#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000
2965#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000
2966#define GL_FONT_ASCENDER_BIT_NV 0x00200000
2967#define GL_FONT_DESCENDER_BIT_NV 0x00400000
2968#define GL_FONT_HEIGHT_BIT_NV 0x00800000
2969#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000
2970#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000
2971#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000
2972#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000
2973#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000
2974#define GL_ROUNDED_RECT_NV 0xE8
2975#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9
2976#define GL_ROUNDED_RECT2_NV 0xEA
2977#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB
2978#define GL_ROUNDED_RECT4_NV 0xEC
2979#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED
2980#define GL_ROUNDED_RECT8_NV 0xEE
2981#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF
2982#define GL_RELATIVE_RECT_NV 0xF7
2983#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368
2984#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369
2985#define GL_FONT_UNAVAILABLE_NV 0x936A
2986#define GL_FONT_UNINTELLIGIBLE_NV 0x936B
2987#define GL_CONIC_CURVE_TO_NV 0x1A
2988#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B
2989#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000
2990#define GL_STANDARD_FONT_FORMAT_NV 0x936C
2991#define GL_PATH_PROJECTION_NV 0x1701
2992#define GL_PATH_MODELVIEW_NV 0x1700
2993#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3
2994#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6
2995#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36
2996#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3
2997#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4
2998#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7
2999#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38
3000#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4
3001#define GL_FRAGMENT_INPUT_NV 0x936D
3002typedef GLuint (GL_APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range);
3003typedef void (GL_APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range);
3004typedef GLboolean (GL_APIENTRYP PFNGLISPATHNVPROC) (GLuint path);
3005typedef void (GL_APIENTRYP PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3006typedef void (GL_APIENTRYP PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);
3007typedef void (GL_APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3008typedef void (GL_APIENTRYP PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);
3009typedef void (GL_APIENTRYP PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString);
3010typedef void (GL_APIENTRYP PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3011typedef void (GL_APIENTRYP PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3012typedef void (GL_APIENTRYP PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
3013typedef void (GL_APIENTRYP PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath);
3014typedef void (GL_APIENTRYP PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
3015typedef void (GL_APIENTRYP PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
3016typedef void (GL_APIENTRYP PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value);
3017typedef void (GL_APIENTRYP PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value);
3018typedef void (GL_APIENTRYP PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value);
3019typedef void (GL_APIENTRYP PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value);
3020typedef void (GL_APIENTRYP PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
3021typedef void (GL_APIENTRYP PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask);
3022typedef void (GL_APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units);
3023typedef void (GL_APIENTRYP PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask);
3024typedef void (GL_APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask);
3025typedef void (GL_APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3026typedef void (GL_APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3027typedef void (GL_APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func);
3028typedef void (GL_APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode);
3029typedef void (GL_APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode);
3030typedef void (GL_APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3031typedef void (GL_APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3032typedef void (GL_APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value);
3033typedef void (GL_APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value);
3034typedef void (GL_APIENTRYP PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands);
3035typedef void (GL_APIENTRYP PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords);
3036typedef void (GL_APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray);
3037typedef void (GL_APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
3038typedef void (GL_APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
3039typedef void (GL_APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
3040typedef GLboolean (GL_APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y);
3041typedef GLboolean (GL_APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y);
3042typedef GLfloat (GL_APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments);
3043typedef GLboolean (GL_APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
3044typedef void (GL_APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m);
3045typedef void (GL_APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3046typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3047typedef void (GL_APIENTRYP PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m);
3048typedef void (GL_APIENTRYP PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3049typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m);
3050typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
3051typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
3052typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3053typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3054typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]);
3055typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3056typedef GLenum (GL_APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3057typedef void (GL_APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
3058typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
3059#ifdef GL_GLEXT_PROTOTYPES
3060GL_APICALL GLuint GL_APIENTRY glGenPathsNV (GLsizei range);
3061GL_APICALL void GL_APIENTRY glDeletePathsNV (GLuint path, GLsizei range);
3062GL_APICALL GLboolean GL_APIENTRY glIsPathNV (GLuint path);
3063GL_APICALL void GL_APIENTRY glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3064GL_APICALL void GL_APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords);
3065GL_APICALL void GL_APIENTRY glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords);
3066GL_APICALL void GL_APIENTRY glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords);
3067GL_APICALL void GL_APIENTRY glPathStringNV (GLuint path, GLenum format, GLsizei length, const void *pathString);
3068GL_APICALL void GL_APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3069GL_APICALL void GL_APIENTRY glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3070GL_APICALL void GL_APIENTRY glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights);
3071GL_APICALL void GL_APIENTRY glCopyPathNV (GLuint resultPath, GLuint srcPath);
3072GL_APICALL void GL_APIENTRY glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
3073GL_APICALL void GL_APIENTRY glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues);
3074GL_APICALL void GL_APIENTRY glPathParameterivNV (GLuint path, GLenum pname, const GLint *value);
3075GL_APICALL void GL_APIENTRY glPathParameteriNV (GLuint path, GLenum pname, GLint value);
3076GL_APICALL void GL_APIENTRY glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value);
3077GL_APICALL void GL_APIENTRY glPathParameterfNV (GLuint path, GLenum pname, GLfloat value);
3078GL_APICALL void GL_APIENTRY glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray);
3079GL_APICALL void GL_APIENTRY glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask);
3080GL_APICALL void GL_APIENTRY glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units);
3081GL_APICALL void GL_APIENTRY glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask);
3082GL_APICALL void GL_APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask);
3083GL_APICALL void GL_APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3084GL_APICALL void GL_APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues);
3085GL_APICALL void GL_APIENTRY glPathCoverDepthFuncNV (GLenum func);
3086GL_APICALL void GL_APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode);
3087GL_APICALL void GL_APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode);
3088GL_APICALL void GL_APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3089GL_APICALL void GL_APIENTRY glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3090GL_APICALL void GL_APIENTRY glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value);
3091GL_APICALL void GL_APIENTRY glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value);
3092GL_APICALL void GL_APIENTRY glGetPathCommandsNV (GLuint path, GLubyte *commands);
3093GL_APICALL void GL_APIENTRY glGetPathCoordsNV (GLuint path, GLfloat *coords);
3094GL_APICALL void GL_APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray);
3095GL_APICALL void GL_APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics);
3096GL_APICALL void GL_APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics);
3097GL_APICALL void GL_APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing);
3098GL_APICALL GLboolean GL_APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y);
3099GL_APICALL GLboolean GL_APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y);
3100GL_APICALL GLfloat GL_APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments);
3101GL_APICALL GLboolean GL_APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY);
3102GL_APICALL void GL_APIENTRY glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m);
3103GL_APICALL void GL_APIENTRY glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m);
3104GL_APICALL void GL_APIENTRY glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m);
3105GL_APICALL void GL_APIENTRY glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m);
3106GL_APICALL void GL_APIENTRY glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m);
3107GL_APICALL void GL_APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m);
3108GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode);
3109GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode);
3110GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3111GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues);
3112GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]);
3113GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3114GL_APICALL GLenum GL_APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
3115GL_APICALL void GL_APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs);
3116GL_APICALL void GL_APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
3117#endif
3118#endif /* GL_NV_path_rendering */
3119
3120#ifndef GL_NV_path_rendering_shared_edge
3121#define GL_NV_path_rendering_shared_edge 1
3122#define GL_SHARED_EDGE_NV 0xC0
3123#endif /* GL_NV_path_rendering_shared_edge */
3124
Ilia Mirkin76ce7f02017-08-06 10:33:30 -04003125#ifndef GL_NV_pixel_buffer_object
3126#define GL_NV_pixel_buffer_object 1
3127#define GL_PIXEL_PACK_BUFFER_NV 0x88EB
3128#define GL_PIXEL_UNPACK_BUFFER_NV 0x88EC
3129#define GL_PIXEL_PACK_BUFFER_BINDING_NV 0x88ED
3130#define GL_PIXEL_UNPACK_BUFFER_BINDING_NV 0x88EF
3131#endif /* GL_NV_pixel_buffer_object */
3132
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01003133#ifndef GL_NV_polygon_mode
3134#define GL_NV_polygon_mode 1
3135#define GL_POLYGON_MODE_NV 0x0B40
3136#define GL_POLYGON_OFFSET_POINT_NV 0x2A01
3137#define GL_POLYGON_OFFSET_LINE_NV 0x2A02
3138#define GL_POINT_NV 0x1B00
3139#define GL_LINE_NV 0x1B01
3140#define GL_FILL_NV 0x1B02
3141typedef void (GL_APIENTRYP PFNGLPOLYGONMODENVPROC) (GLenum face, GLenum mode);
3142#ifdef GL_GLEXT_PROTOTYPES
3143GL_APICALL void GL_APIENTRY glPolygonModeNV (GLenum face, GLenum mode);
3144#endif
3145#endif /* GL_NV_polygon_mode */
3146
Ian Romanickb152a232011-09-20 15:54:52 -07003147#ifndef GL_NV_read_buffer
3148#define GL_NV_read_buffer 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003149#define GL_READ_BUFFER_NV 0x0C02
3150typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003151#ifdef GL_GLEXT_PROTOTYPES
Ian Romanickb152a232011-09-20 15:54:52 -07003152GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003153#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08003154#endif /* GL_NV_read_buffer */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003155
Ian Romanickb152a232011-09-20 15:54:52 -07003156#ifndef GL_NV_read_buffer_front
3157#define GL_NV_read_buffer_front 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003158#endif /* GL_NV_read_buffer_front */
Ian Romanickb152a232011-09-20 15:54:52 -07003159
Ian Romanickb152a232011-09-20 15:54:52 -07003160#ifndef GL_NV_read_depth
3161#define GL_NV_read_depth 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003162#endif /* GL_NV_read_depth */
Ian Romanickb152a232011-09-20 15:54:52 -07003163
Ian Romanickb152a232011-09-20 15:54:52 -07003164#ifndef GL_NV_read_depth_stencil
3165#define GL_NV_read_depth_stencil 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003166#endif /* GL_NV_read_depth_stencil */
Ian Romanickb152a232011-09-20 15:54:52 -07003167
Ian Romanickb152a232011-09-20 15:54:52 -07003168#ifndef GL_NV_read_stencil
3169#define GL_NV_read_stencil 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003170#endif /* GL_NV_read_stencil */
Ian Romanickb152a232011-09-20 15:54:52 -07003171
Matt Turner00a945f2013-07-26 16:33:10 -07003172#ifndef GL_NV_sRGB_formats
3173#define GL_NV_sRGB_formats 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003174#define GL_SLUMINANCE_NV 0x8C46
3175#define GL_SLUMINANCE_ALPHA_NV 0x8C44
3176#define GL_SRGB8_NV 0x8C41
3177#define GL_SLUMINANCE8_NV 0x8C47
3178#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
3179#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
3180#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
3181#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
3182#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
3183#define GL_ETC1_SRGB8_NV 0x88EE
3184#endif /* GL_NV_sRGB_formats */
Matt Turner00a945f2013-07-26 16:33:10 -07003185
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01003186#ifndef GL_NV_sample_locations
3187#define GL_NV_sample_locations 1
3188#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
3189#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E
3190#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F
3191#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340
3192#define GL_SAMPLE_LOCATION_NV 0x8E50
3193#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341
3194#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342
3195#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343
3196typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
3197typedef void (GL_APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
3198typedef void (GL_APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC) (void);
3199#ifdef GL_GLEXT_PROTOTYPES
3200GL_APICALL void GL_APIENTRY glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v);
3201GL_APICALL void GL_APIENTRY glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
3202GL_APICALL void GL_APIENTRY glResolveDepthValuesNV (void);
3203#endif
3204#endif /* GL_NV_sample_locations */
3205
3206#ifndef GL_NV_sample_mask_override_coverage
3207#define GL_NV_sample_mask_override_coverage 1
3208#endif /* GL_NV_sample_mask_override_coverage */
3209
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04003210#ifndef GL_NV_shader_atomic_fp16_vector
3211#define GL_NV_shader_atomic_fp16_vector 1
3212#endif /* GL_NV_shader_atomic_fp16_vector */
3213
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01003214#ifndef GL_NV_shader_noperspective_interpolation
3215#define GL_NV_shader_noperspective_interpolation 1
3216#endif /* GL_NV_shader_noperspective_interpolation */
3217
Matt Turnerd519ebb2014-01-22 14:12:14 -08003218#ifndef GL_NV_shadow_samplers_array
3219#define GL_NV_shadow_samplers_array 1
3220#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
3221#endif /* GL_NV_shadow_samplers_array */
3222
3223#ifndef GL_NV_shadow_samplers_cube
3224#define GL_NV_shadow_samplers_cube 1
3225#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
3226#endif /* GL_NV_shadow_samplers_cube */
3227
Matt Turner00a945f2013-07-26 16:33:10 -07003228#ifndef GL_NV_texture_border_clamp
3229#define GL_NV_texture_border_clamp 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003230#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
3231#define GL_CLAMP_TO_BORDER_NV 0x812D
3232#endif /* GL_NV_texture_border_clamp */
Matt Turner00a945f2013-07-26 16:33:10 -07003233
Ian Romanickb152a232011-09-20 15:54:52 -07003234#ifndef GL_NV_texture_compression_s3tc_update
3235#define GL_NV_texture_compression_s3tc_update 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003236#endif /* GL_NV_texture_compression_s3tc_update */
Ian Romanickb152a232011-09-20 15:54:52 -07003237
Ian Romanickb152a232011-09-20 15:54:52 -07003238#ifndef GL_NV_texture_npot_2D_mipmap
3239#define GL_NV_texture_npot_2D_mipmap 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003240#endif /* GL_NV_texture_npot_2D_mipmap */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003241
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01003242#ifndef GL_NV_viewport_array
3243#define GL_NV_viewport_array 1
3244#define GL_MAX_VIEWPORTS_NV 0x825B
3245#define GL_VIEWPORT_SUBPIXEL_BITS_NV 0x825C
3246#define GL_VIEWPORT_BOUNDS_RANGE_NV 0x825D
3247#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV 0x825F
3248typedef void (GL_APIENTRYP PFNGLVIEWPORTARRAYVNVPROC) (GLuint first, GLsizei count, const GLfloat *v);
3249typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
3250typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFVNVPROC) (GLuint index, const GLfloat *v);
3251typedef void (GL_APIENTRYP PFNGLSCISSORARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v);
3252typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDNVPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
3253typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDVNVPROC) (GLuint index, const GLint *v);
3254typedef void (GL_APIENTRYP PFNGLDEPTHRANGEARRAYFVNVPROC) (GLuint first, GLsizei count, const GLfloat *v);
3255typedef void (GL_APIENTRYP PFNGLDEPTHRANGEINDEXEDFNVPROC) (GLuint index, GLfloat n, GLfloat f);
3256typedef void (GL_APIENTRYP PFNGLGETFLOATI_VNVPROC) (GLenum target, GLuint index, GLfloat *data);
3257typedef void (GL_APIENTRYP PFNGLENABLEINVPROC) (GLenum target, GLuint index);
3258typedef void (GL_APIENTRYP PFNGLDISABLEINVPROC) (GLenum target, GLuint index);
3259typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDINVPROC) (GLenum target, GLuint index);
3260#ifdef GL_GLEXT_PROTOTYPES
3261GL_APICALL void GL_APIENTRY glViewportArrayvNV (GLuint first, GLsizei count, const GLfloat *v);
3262GL_APICALL void GL_APIENTRY glViewportIndexedfNV (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
3263GL_APICALL void GL_APIENTRY glViewportIndexedfvNV (GLuint index, const GLfloat *v);
3264GL_APICALL void GL_APIENTRY glScissorArrayvNV (GLuint first, GLsizei count, const GLint *v);
3265GL_APICALL void GL_APIENTRY glScissorIndexedNV (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
3266GL_APICALL void GL_APIENTRY glScissorIndexedvNV (GLuint index, const GLint *v);
3267GL_APICALL void GL_APIENTRY glDepthRangeArrayfvNV (GLuint first, GLsizei count, const GLfloat *v);
3268GL_APICALL void GL_APIENTRY glDepthRangeIndexedfNV (GLuint index, GLfloat n, GLfloat f);
3269GL_APICALL void GL_APIENTRY glGetFloati_vNV (GLenum target, GLuint index, GLfloat *data);
3270GL_APICALL void GL_APIENTRY glEnableiNV (GLenum target, GLuint index);
3271GL_APICALL void GL_APIENTRY glDisableiNV (GLenum target, GLuint index);
3272GL_APICALL GLboolean GL_APIENTRY glIsEnablediNV (GLenum target, GLuint index);
3273#endif
3274#endif /* GL_NV_viewport_array */
3275
3276#ifndef GL_NV_viewport_array2
3277#define GL_NV_viewport_array2 1
3278#endif /* GL_NV_viewport_array2 */
3279
Ilia Mirkin6a5504d2016-08-28 13:07:25 -04003280#ifndef GL_NV_viewport_swizzle
3281#define GL_NV_viewport_swizzle 1
3282#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350
3283#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351
3284#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352
3285#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353
3286#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354
3287#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355
3288#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356
3289#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357
3290#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358
3291#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359
3292#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A
3293#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B
3294typedef void (GL_APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
3295#ifdef GL_GLEXT_PROTOTYPES
3296GL_APICALL void GL_APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew);
3297#endif
3298#endif /* GL_NV_viewport_swizzle */
3299
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01003300#ifndef GL_OVR_multiview
3301#define GL_OVR_multiview 1
3302#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630
3303#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632
3304#define GL_MAX_VIEWS_OVR 0x9631
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02003305#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633
Marta Lofstedt1d5b88e2015-11-27 15:31:05 +01003306typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
3307#ifdef GL_GLEXT_PROTOTYPES
3308GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
3309#endif
3310#endif /* GL_OVR_multiview */
3311
3312#ifndef GL_OVR_multiview2
3313#define GL_OVR_multiview2 1
3314#endif /* GL_OVR_multiview2 */
3315
3316#ifndef GL_OVR_multiview_multisampled_render_to_texture
3317#define GL_OVR_multiview_multisampled_render_to_texture 1
3318typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
3319#ifdef GL_GLEXT_PROTOTYPES
3320GL_APICALL void GL_APIENTRY glFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews);
3321#endif
3322#endif /* GL_OVR_multiview_multisampled_render_to_texture */
3323
Ian Romanickb152a232011-09-20 15:54:52 -07003324#ifndef GL_QCOM_alpha_test
3325#define GL_QCOM_alpha_test 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003326#define GL_ALPHA_TEST_QCOM 0x0BC0
3327#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
3328#define GL_ALPHA_TEST_REF_QCOM 0x0BC2
3329typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
Ian Romanickb152a232011-09-20 15:54:52 -07003330#ifdef GL_GLEXT_PROTOTYPES
3331GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
3332#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08003333#endif /* GL_QCOM_alpha_test */
Ian Romanickb152a232011-09-20 15:54:52 -07003334
Matt Turner5c78ad82012-11-15 11:56:22 -08003335#ifndef GL_QCOM_binning_control
3336#define GL_QCOM_binning_control 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003337#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
3338#define GL_CPU_OPTIMIZED_QCOM 0x8FB1
3339#define GL_GPU_OPTIMIZED_QCOM 0x8FB2
3340#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
3341#endif /* GL_QCOM_binning_control */
Matt Turner5c78ad82012-11-15 11:56:22 -08003342
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003343#ifndef GL_QCOM_driver_control
3344#define GL_QCOM_driver_control 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003345typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
3346typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
3347typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
3348typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003349#ifdef GL_GLEXT_PROTOTYPES
3350GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
3351GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
3352GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
3353GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
3354#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08003355#endif /* GL_QCOM_driver_control */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003356
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003357#ifndef GL_QCOM_extended_get
3358#define GL_QCOM_extended_get 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003359#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
3360#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
3361#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
3362#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
3363#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
3364#define GL_TEXTURE_TYPE_QCOM 0x8BD7
3365#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
3366#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
3367#define GL_TEXTURE_TARGET_QCOM 0x8BDA
3368#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
3369#define GL_STATE_RESTORE 0x8BDC
3370typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
3371typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
3372typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
3373typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
3374typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
3375typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
3376typedef 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);
3377typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003378#ifdef GL_GLEXT_PROTOTYPES
3379GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
3380GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
3381GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
3382GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
3383GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
3384GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
Matt Turnerd519ebb2014-01-22 14:12:14 -08003385GL_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);
3386GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003387#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08003388#endif /* GL_QCOM_extended_get */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003389
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003390#ifndef GL_QCOM_extended_get2
3391#define GL_QCOM_extended_get2 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003392typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
3393typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
3394typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
3395typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003396#ifdef GL_GLEXT_PROTOTYPES
3397GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
3398GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
3399GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
3400GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
3401#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08003402#endif /* GL_QCOM_extended_get2 */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003403
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02003404#ifndef GL_QCOM_framebuffer_foveated
3405#define GL_QCOM_framebuffer_foveated 1
3406#define GL_FOVEATION_ENABLE_BIT_QCOM 0x00000001
3407#define GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM 0x00000002
3408typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC) (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures);
3409typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC) (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
3410#ifdef GL_GLEXT_PROTOTYPES
3411GL_APICALL void GL_APIENTRY glFramebufferFoveationConfigQCOM (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures);
3412GL_APICALL void GL_APIENTRY glFramebufferFoveationParametersQCOM (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
3413#endif
3414#endif /* GL_QCOM_framebuffer_foveated */
3415
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003416#ifndef GL_QCOM_perfmon_global_mode
3417#define GL_QCOM_perfmon_global_mode 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003418#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
3419#endif /* GL_QCOM_perfmon_global_mode */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003420
Nicolai Hähnle7fd08172017-06-10 20:46:27 +02003421#ifndef GL_QCOM_shader_framebuffer_fetch_noncoherent
3422#define GL_QCOM_shader_framebuffer_fetch_noncoherent 1
3423#define GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM 0x96A2
3424typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC) (void);
3425#ifdef GL_GLEXT_PROTOTYPES
3426GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierQCOM (void);
3427#endif
3428#endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */
3429
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003430#ifndef GL_QCOM_tiled_rendering
3431#define GL_QCOM_tiled_rendering 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003432#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
3433#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
3434#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
3435#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
3436#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
3437#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
3438#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
3439#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
3440#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
3441#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
3442#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
3443#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
3444#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
3445#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
3446#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
3447#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
3448#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
3449#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
3450#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
3451#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
3452#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
3453#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
3454#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
3455#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
3456#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
3457#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
3458#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
3459#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
3460#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
3461#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
3462#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
3463#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
3464typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
3465typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003466#ifdef GL_GLEXT_PROTOTYPES
3467GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
3468GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
3469#endif
Matt Turnerd519ebb2014-01-22 14:12:14 -08003470#endif /* GL_QCOM_tiled_rendering */
Chia-I Wu59f8dca2010-05-31 10:15:55 +08003471
Matt Turnerd519ebb2014-01-22 14:12:14 -08003472#ifndef GL_QCOM_writeonly_rendering
3473#define GL_QCOM_writeonly_rendering 1
3474#define GL_WRITEONLY_RENDERING_QCOM 0x8823
3475#endif /* GL_QCOM_writeonly_rendering */
Ian Romanickb152a232011-09-20 15:54:52 -07003476
Ian Romanickb152a232011-09-20 15:54:52 -07003477#ifndef GL_VIV_shader_binary
3478#define GL_VIV_shader_binary 1
Matt Turnerd519ebb2014-01-22 14:12:14 -08003479#define GL_SHADER_BINARY_VIV 0x8FC4
3480#endif /* GL_VIV_shader_binary */
Ian Romanickb152a232011-09-20 15:54:52 -07003481
Brian Paul0ebc94d2008-06-04 10:04:31 -06003482#ifdef __cplusplus
3483}
3484#endif
3485
Matt Turnerd519ebb2014-01-22 14:12:14 -08003486#endif