1 /* GLEW 1.10.0 emulation include header
2  * this include file provides neccessary stuff to function with most GLEW programs.
3  * library_glew.js is also provided to support extensions and error strings
4  *
5  * This file is based on GLEW (1.10.0) and linaro fork generated include files.
6  *
7  * What it lacks:
8  * - Some constants and function declarations that are in GLEW 1.10.0 might be missing.
9  * - The real glew-es fork also includes normal GL constants and function pointers, this does not.
10  *
11  * Authors:
12  * - Jari Vetoniemi <mailroxas@gmail.com>
13  */
14 
15 #ifndef __glew_h__
16 #define __glew_h__
17 #define __GLEW_H__
18 
19 /* linaro fork (glew-es) support */
20 #ifndef GLEW_USE_LIB_ES11
21 #  define __GLEW_VERSION_ES11 0
22 #else
23 #  define __GLEW_VERSION_ES11 1
24 #  include <SDL/SDL_opengles.h>
25 #endif
26 
27 #ifndef GLEW_USE_LIB_ES20
28 #  define __GLEW_VERSION_ES20 0
29 #else
30 #  define __GLEW_VERSION_ES20 1
31 #  include <SDL/SDL_opengles2.h>
32 #endif
33 
34 #if !__GLEW_VERSION_ES11 && !__GLEW_VERSION_ES20
35 #  define __GLEW_NOT_ES 1
36 #  include <SDL/SDL_opengl.h>
37 #else
38 #  define __GLEW_NOT_ES 0
39 #endif
40 
41 /* report us up to GLEW_VERSION_2_1, when no GLEW_USE_LIB_ESXX is specified.
42  * in source, it's possible to #undef and redefine these constants, for
43  * better OpenGL path suitable for emscripten. */
44 #define GLEW_VERSION_1_1 __GLEW_NOT_ES
45 #define GLEW_VERSION_1_2 __GLEW_NOT_ES
46 #define GLEW_VERSION_1_2_1 __GLEW_NOT_ES
47 #define GLEW_VERSION_1_3 __GLEW_NOT_ES
48 #define GLEW_VERSION_1_4 __GLEW_NOT_ES
49 #define GLEW_VERSION_1_5 __GLEW_NOT_ES
50 #define GLEW_VERSION_2_0 __GLEW_NOT_ES
51 #define GLEW_VERSION_2_1 __GLEW_NOT_ES
52 #define GLEW_VERSION_3_0 0
53 #define GLEW_VERSION_3_1 0
54 #define GLEW_VERSION_3_2 0
55 #define GLEW_VERSION_3_3 0
56 #define GLEW_VERSION_4_0 0
57 #define GLEW_VERSION_4_1 0
58 #define GLEW_VERSION_4_2 0
59 #define GLEW_VERSION_4_3 0
60 #define GLEW_VERSION_4_4 0
61 
62 /* linaro-fork (glew-es) version constants */
63 #define GLEW_ES_VERSION_1_0 __GLEW_VERSION_ES11
64 #define GLEW_ES_VERSION_2_0 __GLEW_VERSION_ES20
65 
66 /* string codes */
67 #define GLEW_VERSION 1
68 #define GLEW_VERSION_MAJOR 2
69 #define GLEW_VERSION_MINOR 3
70 #define GLEW_VERSION_MICRO 4
71 
72 /* error codes */
73 #define GLEW_OK 0
74 #define GLEW_NO_ERROR 0
75 #define GLEW_ERROR_NO_GL_VERSION 1  /* missing GL version */
76 #define GLEW_ERROR_GL_VERSION_10_ONLY 2  /* Need at least OpenGL 1.1 */
77 #define GLEW_ERROR_GLX_VERSION_11_ONLY 3  /* Need at least GLX 1.2 */
78 
79 /* linaro-fork (glew-es) error codes */
80 #define GLEW_ERROR_NOT_GLES_VERSION 4   /* Need to be OpenGL ES version */
81 #define GLEW_ERROR_GLES_VERSION 5   /* Need to be desktop OpenGL version */
82 #define GLEW_ERROR_NO_EGL_VERSION 6  /* missing EGL version */
83 #define GLEW_ERROR_EGL_VERSION_10_ONLY 7 /* need at least EGL 1.1 */
84 
85 /* maps to glewGetExtension */
86 #define GLEW_GET_VAR(x) glewGetExtension(#x)
87 
88 /* support GLEW constants, wrangling is done by SDL_opengl.h */
89 #define GLEW_3DFX_multisample GLEW_GET_VAR(GL_3DFX_multisample)
90 #define GLEW_3DFX_tbuffer GLEW_GET_VAR(GL_3DFX_tbuffer)
91 #define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(GL_3DFX_texture_compression_FXT1)
92 #define GLEW_AMD_blend_minmax_factor GLEW_GET_VAR(GL_AMD_blend_minmax_factor)
93 #define GLEW_AMD_conservative_depth GLEW_GET_VAR(GL_AMD_conservative_depth)
94 #define GLEW_AMD_debug_output GLEW_GET_VAR(GL_AMD_debug_output)
95 #define GLEW_AMD_depth_clamp_separate GLEW_GET_VAR(GL_AMD_depth_clamp_separate)
96 #define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(GL_AMD_draw_buffers_blend)
97 #define GLEW_AMD_interleaved_elements GLEW_GET_VAR(GL_AMD_interleaved_elements)
98 #define GLEW_AMD_multi_draw_indirect GLEW_GET_VAR(GL_AMD_multi_draw_indirect)
99 #define GLEW_AMD_name_gen_delete GLEW_GET_VAR(GL_AMD_name_gen_delete)
100 #define GLEW_AMD_performance_monitor GLEW_GET_VAR(GL_AMD_performance_monitor)
101 #define GLEW_AMD_pinned_memory GLEW_GET_VAR(GL_AMD_pinned_memory)
102 #define GLEW_AMD_query_buffer_object GLEW_GET_VAR(GL_AMD_query_buffer_object)
103 #define GLEW_AMD_sample_positions GLEW_GET_VAR(GL_AMD_sample_positions)
104 #define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(GL_AMD_seamless_cubemap_per_texture)
105 #define GLEW_AMD_shader_atomic_counter_ops GLEW_GET_VAR(GL_AMD_shader_atomic_counter_ops)
106 #define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(GL_AMD_shader_stencil_export)
107 #define GLEW_AMD_shader_trinary_minmax GLEW_GET_VAR(GL_AMD_shader_trinary_minmax)
108 #define GLEW_AMD_sparse_texture GLEW_GET_VAR(GL_AMD_sparse_texture)
109 #define GLEW_AMD_stencil_operation_extended GLEW_GET_VAR(GL_AMD_stencil_operation_extended)
110 #define GLEW_AMD_texture_texture4 GLEW_GET_VAR(GL_AMD_texture_texture4)
111 #define GLEW_AMD_transform_feedback3_lines_triangles GLEW_GET_VAR(GL_AMD_transform_feedback3_lines_triangles)
112 #define GLEW_AMD_vertex_shader_layer GLEW_GET_VAR(GL_AMD_vertex_shader_layer)
113 #define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(GL_AMD_vertex_shader_tessellator)
114 #define GLEW_AMD_vertex_shader_viewport_index GLEW_GET_VAR(GL_AMD_vertex_shader_viewport_index)
115 #define GLEW_ANGLE_depth_texture GLEW_GET_VAR(GL_ANGLE_depth_texture)
116 #define GLEW_ANGLE_framebuffer_blit GLEW_GET_VAR(GL_ANGLE_framebuffer_blit)
117 #define GLEW_ANGLE_framebuffer_multisample GLEW_GET_VAR(GL_ANGLE_framebuffer_multisample)
118 #define GLEW_ANGLE_instanced_arrays GLEW_GET_VAR(GL_ANGLE_instanced_arrays)
119 #define GLEW_ANGLE_pack_reverse_row_order GLEW_GET_VAR(GL_ANGLE_pack_reverse_row_order)
120 #define GLEW_ANGLE_program_binary GLEW_GET_VAR(GL_ANGLE_program_binary)
121 #define GLEW_ANGLE_texture_compression_dxt1 GLEW_GET_VAR(GL_ANGLE_texture_compression_dxt1)
122 #define GLEW_ANGLE_texture_compression_dxt3 GLEW_GET_VAR(GL_ANGLE_texture_compression_dxt3)
123 #define GLEW_ANGLE_texture_compression_dxt5 GLEW_GET_VAR(GL_ANGLE_texture_compression_dxt5)
124 #define GLEW_ANGLE_texture_usage GLEW_GET_VAR(GL_ANGLE_texture_usage)
125 #define GLEW_ANGLE_timer_query GLEW_GET_VAR(GL_ANGLE_timer_query)
126 #define GLEW_ANGLE_translated_shader_source GLEW_GET_VAR(GL_ANGLE_translated_shader_source)
127 #define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(GL_APPLE_aux_depth_stencil)
128 #define GLEW_APPLE_client_storage GLEW_GET_VAR(GL_APPLE_client_storage)
129 #define GLEW_APPLE_element_array GLEW_GET_VAR(GL_APPLE_element_array)
130 #define GLEW_APPLE_fence GLEW_GET_VAR(GL_APPLE_fence)
131 #define GLEW_APPLE_float_pixels GLEW_GET_VAR(GL_APPLE_float_pixels)
132 #define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(GL_APPLE_flush_buffer_range)
133 #define GLEW_APPLE_object_purgeable GLEW_GET_VAR(GL_APPLE_object_purgeable)
134 #define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(GL_APPLE_pixel_buffer)
135 #define GLEW_APPLE_rgb_422 GLEW_GET_VAR(GL_APPLE_rgb_422)
136 #define GLEW_APPLE_row_bytes GLEW_GET_VAR(GL_APPLE_row_bytes)
137 #define GLEW_APPLE_specular_vector GLEW_GET_VAR(GL_APPLE_specular_vector)
138 #define GLEW_APPLE_texture_range GLEW_GET_VAR(GL_APPLE_texture_range)
139 #define GLEW_APPLE_transform_hint GLEW_GET_VAR(GL_APPLE_transform_hint)
140 #define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(GL_APPLE_vertex_array_object)
141 #define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(GL_APPLE_vertex_array_range)
142 #define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(GL_APPLE_vertex_program_evaluators)
143 #define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(GL_APPLE_ycbcr_422)
144 #define GLEW_ARB_ES2_compatibility GLEW_GET_VAR(GL_ARB_ES2_compatibility)
145 #define GLEW_ARB_ES3_compatibility GLEW_GET_VAR(GL_ARB_ES3_compatibility)
146 #define GLEW_ARB_arrays_of_arrays GLEW_GET_VAR(GL_ARB_arrays_of_arrays)
147 #define GLEW_ARB_base_instance GLEW_GET_VAR(GL_ARB_base_instance)
148 #define GLEW_ARB_bindless_texture GLEW_GET_VAR(GL_ARB_bindless_texture)
149 #define GLEW_ARB_blend_func_extended GLEW_GET_VAR(GL_ARB_blend_func_extended)
150 #define GLEW_ARB_buffer_storage GLEW_GET_VAR(GL_ARB_buffer_storage)
151 #define GLEW_ARB_cl_event GLEW_GET_VAR(GL_ARB_cl_event)
152 #define GLEW_ARB_clear_buffer_object GLEW_GET_VAR(GL_ARB_clear_buffer_object)
153 #define GLEW_ARB_clear_texture GLEW_GET_VAR(GL_ARB_clear_texture)
154 #define GLEW_ARB_color_buffer_float GLEW_GET_VAR(GL_ARB_color_buffer_float)
155 #define GLEW_ARB_compatibility GLEW_GET_VAR(GL_ARB_compatibility)
156 #define GLEW_ARB_compressed_texture_pixel_storage GLEW_GET_VAR(GL_ARB_compressed_texture_pixel_storage)
157 #define GLEW_ARB_compute_shader GLEW_GET_VAR(GL_ARB_compute_shader)
158 #define GLEW_ARB_compute_variable_group_size GLEW_GET_VAR(GL_ARB_compute_variable_group_size)
159 #define GLEW_ARB_conservative_depth GLEW_GET_VAR(GL_ARB_conservative_depth)
160 #define GLEW_ARB_copy_buffer GLEW_GET_VAR(GL_ARB_copy_buffer)
161 #define GLEW_ARB_copy_image GLEW_GET_VAR(GL_ARB_copy_image)
162 #define GLEW_ARB_debug_output GLEW_GET_VAR(GL_ARB_debug_output)
163 #define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(GL_ARB_depth_buffer_float)
164 #define GLEW_ARB_depth_clamp GLEW_GET_VAR(GL_ARB_depth_clamp)
165 #define GLEW_ARB_depth_texture GLEW_GET_VAR(GL_ARB_depth_texture)
166 #define GLEW_ARB_draw_buffers GLEW_GET_VAR(GL_ARB_draw_buffers)
167 #define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(GL_ARB_draw_buffers_blend)
168 #define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(GL_ARB_draw_elements_base_vertex)
169 #define GLEW_ARB_draw_indirect GLEW_GET_VAR(GL_ARB_draw_indirect)
170 #define GLEW_ARB_draw_instanced GLEW_GET_VAR(GL_ARB_draw_instanced)
171 #define GLEW_ARB_enhanced_layouts GLEW_GET_VAR(GL_ARB_enhanced_layouts)
172 #define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(GL_ARB_explicit_attrib_location)
173 #define GLEW_ARB_explicit_uniform_location GLEW_GET_VAR(GL_ARB_explicit_uniform_location)
174 #define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(GL_ARB_fragment_coord_conventions)
175 #define GLEW_ARB_fragment_layer_viewport GLEW_GET_VAR(GL_ARB_fragment_layer_viewport)
176 #define GLEW_ARB_fragment_program GLEW_GET_VAR(GL_ARB_fragment_program)
177 #define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(GL_ARB_fragment_program_shadow)
178 #define GLEW_ARB_fragment_shader GLEW_GET_VAR(GL_ARB_fragment_shader)
179 #define GLEW_ARB_framebuffer_no_attachments GLEW_GET_VAR(GL_ARB_framebuffer_no_attachments)
180 #define GLEW_ARB_framebuffer_object GLEW_GET_VAR(GL_ARB_framebuffer_object)
181 #define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(GL_ARB_framebuffer_sRGB)
182 #define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(GL_ARB_geometry_shader4)
183 #define GLEW_ARB_get_program_binary GLEW_GET_VAR(GL_ARB_get_program_binary)
184 #define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(GL_ARB_gpu_shader5)
185 #define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(GL_ARB_gpu_shader_fp64)
186 #define GLEW_ARB_half_float_pixel GLEW_GET_VAR(GL_ARB_half_float_pixel)
187 #define GLEW_ARB_half_float_vertex GLEW_GET_VAR(GL_ARB_half_float_vertex)
188 #define GLEW_ARB_imaging GLEW_GET_VAR(GL_ARB_imaging)
189 #define GLEW_ARB_indirect_parameters GLEW_GET_VAR(GL_ARB_indirect_parameters)
190 #define GLEW_ARB_instanced_arrays GLEW_GET_VAR(GL_ARB_instanced_arrays)
191 #define GLEW_ARB_internalformat_query GLEW_GET_VAR(GL_ARB_internalformat_query)
192 #define GLEW_ARB_internalformat_query2 GLEW_GET_VAR(GL_ARB_internalformat_query2)
193 #define GLEW_ARB_invalidate_subdata GLEW_GET_VAR(GL_ARB_invalidate_subdata)
194 #define GLEW_ARB_map_buffer_alignment GLEW_GET_VAR(GL_ARB_map_buffer_alignment)
195 #define GLEW_ARB_map_buffer_range GLEW_GET_VAR(GL_ARB_map_buffer_range)
196 #define GLEW_ARB_matrix_palette GLEW_GET_VAR(GL_ARB_matrix_palette)
197 #define GLEW_ARB_multi_bind GLEW_GET_VAR(GL_ARB_multi_bind)
198 #define GLEW_ARB_multi_draw_indirect GLEW_GET_VAR(GL_ARB_multi_draw_indirect)
199 #define GLEW_ARB_multisample GLEW_GET_VAR(GL_ARB_multisample)
200 #define GLEW_ARB_multitexture GLEW_GET_VAR(GL_ARB_multitexture)
201 #define GLEW_ARB_occlusion_query GLEW_GET_VAR(GL_ARB_occlusion_query)
202 #define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(GL_ARB_occlusion_query2)
203 #define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(GL_ARB_pixel_buffer_object)
204 #define GLEW_ARB_point_parameters GLEW_GET_VAR(GL_ARB_point_parameters)
205 #define GLEW_ARB_point_sprite GLEW_GET_VAR(GL_ARB_point_sprite)
206 #define GLEW_ARB_program_interface_query GLEW_GET_VAR(GL_ARB_program_interface_query)
207 #define GLEW_ARB_provoking_vertex GLEW_GET_VAR(GL_ARB_provoking_vertex)
208 #define GLEW_ARB_query_buffer_object GLEW_GET_VAR(GL_ARB_query_buffer_object)
209 #define GLEW_ARB_robust_buffer_access_behavior GLEW_GET_VAR(GL_ARB_robust_buffer_access_behavior)
210 #define GLEW_ARB_robustness GLEW_GET_VAR(GL_ARB_robustness)
211 #define GLEW_ARB_robustness_application_isolation GLEW_GET_VAR(GL_ARB_robustness_application_isolation)
212 #define GLEW_ARB_robustness_share_group_isolation GLEW_GET_VAR(GL_ARB_robustness_share_group_isolation)
213 #define GLEW_ARB_sample_shading GLEW_GET_VAR(GL_ARB_sample_shading)
214 #define GLEW_ARB_sampler_objects GLEW_GET_VAR(GL_ARB_sampler_objects)
215 #define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(GL_ARB_seamless_cube_map)
216 #define GLEW_ARB_seamless_cubemap_per_texture GLEW_GET_VAR(GL_ARB_seamless_cubemap_per_texture)
217 #define GLEW_ARB_separate_shader_objects GLEW_GET_VAR(GL_ARB_separate_shader_objects)
218 #define GLEW_ARB_shader_atomic_counters GLEW_GET_VAR(GL_ARB_shader_atomic_counters)
219 #define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(GL_ARB_shader_bit_encoding)
220 #define GLEW_ARB_shader_draw_parameters GLEW_GET_VAR(GL_ARB_shader_draw_parameters)
221 #define GLEW_ARB_shader_group_vote GLEW_GET_VAR(GL_ARB_shader_group_vote)
222 #define GLEW_ARB_shader_image_load_store GLEW_GET_VAR(GL_ARB_shader_image_load_store)
223 #define GLEW_ARB_shader_image_size GLEW_GET_VAR(GL_ARB_shader_image_size)
224 #define GLEW_ARB_shader_objects GLEW_GET_VAR(GL_ARB_shader_objects)
225 #define GLEW_ARB_shader_precision GLEW_GET_VAR(GL_ARB_shader_precision)
226 #define GLEW_ARB_shader_stencil_export GLEW_GET_VAR(GL_ARB_shader_stencil_export)
227 #define GLEW_ARB_shader_storage_buffer_object GLEW_GET_VAR(GL_ARB_shader_storage_buffer_object)
228 #define GLEW_ARB_shader_subroutine GLEW_GET_VAR(GL_ARB_shader_subroutine)
229 #define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(GL_ARB_shader_texture_lod)
230 #define GLEW_ARB_shading_language_100 GLEW_GET_VAR(GL_ARB_shading_language_100)
231 #define GLEW_ARB_shading_language_420pack GLEW_GET_VAR(GL_ARB_shading_language_420pack)
232 #define GLEW_ARB_shading_language_include GLEW_GET_VAR(GL_ARB_shading_language_include)
233 #define GLEW_ARB_shading_language_packing GLEW_GET_VAR(GL_ARB_shading_language_packing)
234 #define GLEW_ARB_shadow GLEW_GET_VAR(GL_ARB_shadow)
235 #define GLEW_ARB_shadow_ambient GLEW_GET_VAR(GL_ARB_shadow_ambient)
236 #define GLEW_ARB_sparse_texture GLEW_GET_VAR(GL_ARB_sparse_texture)
237 #define GLEW_ARB_stencil_texturing GLEW_GET_VAR(GL_ARB_stencil_texturing)
238 #define GLEW_ARB_sync GLEW_GET_VAR(GL_ARB_sync)
239 #define GLEW_ARB_tessellation_shader GLEW_GET_VAR(GL_ARB_tessellation_shader)
240 #define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(GL_ARB_texture_border_clamp)
241 #define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(GL_ARB_texture_buffer_object)
242 #define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(GL_ARB_texture_buffer_object_rgb32)
243 #define GLEW_ARB_texture_buffer_range GLEW_GET_VAR(GL_ARB_texture_buffer_range)
244 #define GLEW_ARB_texture_compression GLEW_GET_VAR(GL_ARB_texture_compression)
245 #define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(GL_ARB_texture_compression_bptc)
246 #define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(GL_ARB_texture_compression_rgtc)
247 #define GLEW_ARB_texture_cube_map GLEW_GET_VAR(GL_ARB_texture_cube_map)
248 #define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(GL_ARB_texture_cube_map_array)
249 #define GLEW_ARB_texture_env_add GLEW_GET_VAR(GL_ARB_texture_env_add)
250 #define GLEW_ARB_texture_env_combine GLEW_GET_VAR(GL_ARB_texture_env_combine)
251 #define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(GL_ARB_texture_env_crossbar)
252 #define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(GL_ARB_texture_env_dot3)
253 #define GLEW_ARB_texture_float GLEW_GET_VAR(GL_ARB_texture_float)
254 #define GLEW_ARB_texture_gather GLEW_GET_VAR(GL_ARB_texture_gather)
255 #define GLEW_ARB_texture_mirror_clamp_to_edge GLEW_GET_VAR(GL_ARB_texture_mirror_clamp_to_edge)
256 #define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(GL_ARB_texture_mirrored_repeat)
257 #define GLEW_ARB_texture_multisample GLEW_GET_VAR(GL_ARB_texture_multisample)
258 #define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(GL_ARB_texture_non_power_of_two)
259 #define GLEW_ARB_texture_query_levels GLEW_GET_VAR(GL_ARB_texture_query_levels)
260 #define GLEW_ARB_texture_query_lod GLEW_GET_VAR(GL_ARB_texture_query_lod)
261 #define GLEW_ARB_texture_rectangle GLEW_GET_VAR(GL_ARB_texture_rectangle)
262 #define GLEW_ARB_texture_rg GLEW_GET_VAR(GL_ARB_texture_rg)
263 #define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(GL_ARB_texture_rgb10_a2ui)
264 #define GLEW_ARB_texture_stencil8 GLEW_GET_VAR(GL_ARB_texture_stencil8)
265 #define GLEW_ARB_texture_storage GLEW_GET_VAR(GL_ARB_texture_storage)
266 #define GLEW_ARB_texture_storage_multisample GLEW_GET_VAR(GL_ARB_texture_storage_multisample)
267 #define GLEW_ARB_texture_swizzle GLEW_GET_VAR(GL_ARB_texture_swizzle)
268 #define GLEW_ARB_texture_view GLEW_GET_VAR(GL_ARB_texture_view)
269 #define GLEW_ARB_timer_query GLEW_GET_VAR(GL_ARB_timer_query)
270 #define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(GL_ARB_transform_feedback2)
271 #define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(GL_ARB_transform_feedback3)
272 #define GLEW_ARB_transform_feedback_instanced GLEW_GET_VAR(GL_ARB_transform_feedback_instanced)
273 #define GLEW_ARB_transpose_matrix GLEW_GET_VAR(GL_ARB_transpose_matrix)
274 #define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(GL_ARB_uniform_buffer_object)
275 #define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(GL_ARB_vertex_array_bgra)
276 #define GLEW_ARB_vertex_array_object GLEW_GET_VAR(GL_ARB_vertex_array_object)
277 #define GLEW_ARB_vertex_attrib_64bit GLEW_GET_VAR(GL_ARB_vertex_attrib_64bit)
278 #define GLEW_ARB_vertex_attrib_binding GLEW_GET_VAR(GL_ARB_vertex_attrib_binding)
279 #define GLEW_ARB_vertex_blend GLEW_GET_VAR(GL_ARB_vertex_blend)
280 #define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(GL_ARB_vertex_buffer_object)
281 #define GLEW_ARB_vertex_program GLEW_GET_VAR(GL_ARB_vertex_program)
282 #define GLEW_ARB_vertex_shader GLEW_GET_VAR(GL_ARB_vertex_shader)
283 #define GLEW_ARB_vertex_type_10f_11f_11f_rev GLEW_GET_VAR(GL_ARB_vertex_type_10f_11f_11f_rev)
284 #define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(GL_ARB_vertex_type_2_10_10_10_rev)
285 #define GLEW_ARB_viewport_array GLEW_GET_VAR(GL_ARB_viewport_array)
286 #define GLEW_ARB_window_pos GLEW_GET_VAR(GL_ARB_window_pos)
287 #define GLEW_ATIX_point_sprites GLEW_GET_VAR(GL_ATIX_point_sprites)
288 #define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(GL_ATIX_texture_env_combine3)
289 #define GLEW_ATIX_texture_env_route GLEW_GET_VAR(GL_ATIX_texture_env_route)
290 #define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(GL_ATIX_vertex_shader_output_point_size)
291 #define GLEW_ATI_draw_buffers GLEW_GET_VAR(GL_ATI_draw_buffers)
292 #define GLEW_ATI_element_array GLEW_GET_VAR(GL_ATI_element_array)
293 #define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(GL_ATI_envmap_bumpmap)
294 #define GLEW_ATI_fragment_shader GLEW_GET_VAR(GL_ATI_fragment_shader)
295 #define GLEW_ATI_map_object_buffer GLEW_GET_VAR(GL_ATI_map_object_buffer)
296 #define GLEW_ATI_meminfo GLEW_GET_VAR(GL_ATI_meminfo)
297 #define GLEW_ATI_pn_triangles GLEW_GET_VAR(GL_ATI_pn_triangles)
298 #define GLEW_ATI_separate_stencil GLEW_GET_VAR(GL_ATI_separate_stencil)
299 #define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(GL_ATI_shader_texture_lod)
300 #define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(GL_ATI_text_fragment_shader)
301 #define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(GL_ATI_texture_compression_3dc)
302 #define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(GL_ATI_texture_env_combine3)
303 #define GLEW_ATI_texture_float GLEW_GET_VAR(GL_ATI_texture_float)
304 #define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(GL_ATI_texture_mirror_once)
305 #define GLEW_ATI_vertex_array_object GLEW_GET_VAR(GL_ATI_vertex_array_object)
306 #define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(GL_ATI_vertex_attrib_array_object)
307 #define GLEW_ATI_vertex_streams GLEW_GET_VAR(GL_ATI_vertex_streams)
308 #define GLEW_EXT_422_pixels GLEW_GET_VAR(GL_EXT_422_pixels)
309 #define GLEW_EXT_Cg_shader GLEW_GET_VAR(GL_EXT_Cg_shader)
310 #define GLEW_EXT_abgr GLEW_GET_VAR(GL_EXT_abgr)
311 #define GLEW_EXT_bgra GLEW_GET_VAR(GL_EXT_bgra)
312 #define GLEW_EXT_bindable_uniform GLEW_GET_VAR(GL_EXT_bindable_uniform)
313 #define GLEW_EXT_blend_color GLEW_GET_VAR(GL_EXT_blend_color)
314 #define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(GL_EXT_blend_equation_separate)
315 #define GLEW_EXT_blend_func_separate GLEW_GET_VAR(GL_EXT_blend_func_separate)
316 #define GLEW_EXT_blend_logic_op GLEW_GET_VAR(GL_EXT_blend_logic_op)
317 #define GLEW_EXT_blend_minmax GLEW_GET_VAR(GL_EXT_blend_minmax)
318 #define GLEW_EXT_blend_subtract GLEW_GET_VAR(GL_EXT_blend_subtract)
319 #define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(GL_EXT_clip_volume_hint)
320 #define GLEW_EXT_cmyka GLEW_GET_VAR(GL_EXT_cmyka)
321 #define GLEW_EXT_color_subtable GLEW_GET_VAR(GL_EXT_color_subtable)
322 #define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(GL_EXT_compiled_vertex_array)
323 #define GLEW_EXT_convolution GLEW_GET_VAR(GL_EXT_convolution)
324 #define GLEW_EXT_coordinate_frame GLEW_GET_VAR(GL_EXT_coordinate_frame)
325 #define GLEW_EXT_copy_texture GLEW_GET_VAR(GL_EXT_copy_texture)
326 #define GLEW_EXT_cull_vertex GLEW_GET_VAR(GL_EXT_cull_vertex)
327 #define GLEW_EXT_debug_label GLEW_GET_VAR(GL_EXT_debug_label)
328 #define GLEW_EXT_debug_marker GLEW_GET_VAR(GL_EXT_debug_marker)
329 #define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(GL_EXT_depth_bounds_test)
330 #define GLEW_EXT_direct_state_access GLEW_GET_VAR(GL_EXT_direct_state_access)
331 #define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(GL_EXT_draw_buffers2)
332 #define GLEW_EXT_draw_instanced GLEW_GET_VAR(GL_EXT_draw_instanced)
333 #define GLEW_EXT_draw_range_elements GLEW_GET_VAR(GL_EXT_draw_range_elements)
334 #define GLEW_EXT_fog_coord GLEW_GET_VAR(GL_EXT_fog_coord)
335 #define GLEW_EXT_fragment_lighting GLEW_GET_VAR(GL_EXT_fragment_lighting)
336 #define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(GL_EXT_framebuffer_blit)
337 #define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(GL_EXT_framebuffer_multisample)
338 #define GLEW_EXT_framebuffer_multisample_blit_scaled GLEW_GET_VAR(GL_EXT_framebuffer_multisample_blit_scaled)
339 #define GLEW_EXT_framebuffer_object GLEW_GET_VAR(GL_EXT_framebuffer_object)
340 #define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(GL_EXT_framebuffer_sRGB)
341 #define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(GL_EXT_geometry_shader4)
342 #define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(GL_EXT_gpu_program_parameters)
343 #define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(GL_EXT_gpu_shader4)
344 #define GLEW_EXT_histogram GLEW_GET_VAR(GL_EXT_histogram)
345 #define GLEW_EXT_index_array_formats GLEW_GET_VAR(GL_EXT_index_array_formats)
346 #define GLEW_EXT_index_func GLEW_GET_VAR(GL_EXT_index_func)
347 #define GLEW_EXT_index_material GLEW_GET_VAR(GL_EXT_index_material)
348 #define GLEW_EXT_index_texture GLEW_GET_VAR(GL_EXT_index_texture)
349 #define GLEW_EXT_light_texture GLEW_GET_VAR(GL_EXT_light_texture)
350 #define GLEW_EXT_misc_attribute GLEW_GET_VAR(GL_EXT_misc_attribute)
351 #define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(GL_EXT_multi_draw_arrays)
352 #define GLEW_EXT_multisample GLEW_GET_VAR(GL_EXT_multisample)
353 #define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(GL_EXT_packed_depth_stencil)
354 #define GLEW_EXT_packed_float GLEW_GET_VAR(GL_EXT_packed_float)
355 #define GLEW_EXT_packed_pixels GLEW_GET_VAR(GL_EXT_packed_pixels)
356 #define GLEW_EXT_paletted_texture GLEW_GET_VAR(GL_EXT_paletted_texture)
357 #define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(GL_EXT_pixel_buffer_object)
358 #define GLEW_EXT_pixel_transform GLEW_GET_VAR(GL_EXT_pixel_transform)
359 #define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(GL_EXT_pixel_transform_color_table)
360 #define GLEW_EXT_point_parameters GLEW_GET_VAR(GL_EXT_point_parameters)
361 #define GLEW_EXT_polygon_offset GLEW_GET_VAR(GL_EXT_polygon_offset)
362 #define GLEW_EXT_provoking_vertex GLEW_GET_VAR(GL_EXT_provoking_vertex)
363 #define GLEW_EXT_rescale_normal GLEW_GET_VAR(GL_EXT_rescale_normal)
364 #define GLEW_EXT_scene_marker GLEW_GET_VAR(GL_EXT_scene_marker)
365 #define GLEW_EXT_secondary_color GLEW_GET_VAR(GL_EXT_secondary_color)
366 #define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(GL_EXT_separate_shader_objects)
367 #define GLEW_EXT_separate_specular_color GLEW_GET_VAR(GL_EXT_separate_specular_color)
368 #define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(GL_EXT_shader_image_load_store)
369 #define GLEW_EXT_shader_integer_mix GLEW_GET_VAR(GL_EXT_shader_integer_mix)
370 #define GLEW_EXT_shadow_funcs GLEW_GET_VAR(GL_EXT_shadow_funcs)
371 #define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(GL_EXT_shared_texture_palette)
372 #define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(GL_EXT_stencil_clear_tag)
373 #define GLEW_EXT_stencil_two_side GLEW_GET_VAR(GL_EXT_stencil_two_side)
374 #define GLEW_EXT_stencil_wrap GLEW_GET_VAR(GL_EXT_stencil_wrap)
375 #define GLEW_EXT_subtexture GLEW_GET_VAR(GL_EXT_subtexture)
376 #define GLEW_EXT_texture GLEW_GET_VAR(GL_EXT_texture)
377 #define GLEW_EXT_texture3D GLEW_GET_VAR(GL_EXT_texture3D)
378 #define GLEW_EXT_texture_array GLEW_GET_VAR(GL_EXT_texture_array)
379 #define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(GL_EXT_texture_buffer_object)
380 #define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(GL_EXT_texture_compression_dxt1)
381 #define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(GL_EXT_texture_compression_latc)
382 #define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(GL_EXT_texture_compression_rgtc)
383 #define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(GL_EXT_texture_compression_s3tc)
384 #define GLEW_EXT_texture_cube_map GLEW_GET_VAR(GL_EXT_texture_cube_map)
385 #define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(GL_EXT_texture_edge_clamp)
386 #define GLEW_EXT_texture_env GLEW_GET_VAR(GL_EXT_texture_env)
387 #define GLEW_EXT_texture_env_add GLEW_GET_VAR(GL_EXT_texture_env_add)
388 #define GLEW_EXT_texture_env_combine GLEW_GET_VAR(GL_EXT_texture_env_combine)
389 #define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(GL_EXT_texture_env_dot3)
390 #define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(GL_EXT_texture_filter_anisotropic)
391 #define GLEW_EXT_texture_integer GLEW_GET_VAR(GL_EXT_texture_integer)
392 #define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(GL_EXT_texture_lod_bias)
393 #define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(GL_EXT_texture_mirror_clamp)
394 #define GLEW_EXT_texture_object GLEW_GET_VAR(GL_EXT_texture_object)
395 #define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(GL_EXT_texture_perturb_normal)
396 #define GLEW_EXT_texture_rectangle GLEW_GET_VAR(GL_EXT_texture_rectangle)
397 #define GLEW_EXT_texture_sRGB GLEW_GET_VAR(GL_EXT_texture_sRGB)
398 #define GLEW_EXT_texture_sRGB_decode GLEW_GET_VAR(GL_EXT_texture_sRGB_decode)
399 #define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(GL_EXT_texture_shared_exponent)
400 #define GLEW_EXT_texture_snorm GLEW_GET_VAR(GL_EXT_texture_snorm)
401 #define GLEW_EXT_texture_swizzle GLEW_GET_VAR(GL_EXT_texture_swizzle)
402 #define GLEW_EXT_timer_query GLEW_GET_VAR(GL_EXT_timer_query)
403 #define GLEW_EXT_transform_feedback GLEW_GET_VAR(GL_EXT_transform_feedback)
404 #define GLEW_EXT_vertex_array GLEW_GET_VAR(GL_EXT_vertex_array)
405 #define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(GL_EXT_vertex_array_bgra)
406 #define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(GL_EXT_vertex_attrib_64bit)
407 #define GLEW_EXT_vertex_shader GLEW_GET_VAR(GL_EXT_vertex_shader)
408 #define GLEW_EXT_vertex_weighting GLEW_GET_VAR(GL_EXT_vertex_weighting)
409 #define GLEW_EXT_x11_sync_object GLEW_GET_VAR(GL_EXT_x11_sync_object)
410 #define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(GL_GREMEDY_frame_terminator)
411 #define GLEW_GREMEDY_string_marker GLEW_GET_VAR(GL_GREMEDY_string_marker)
412 #define GLEW_HP_convolution_border_modes GLEW_GET_VAR(GL_HP_convolution_border_modes)
413 #define GLEW_HP_image_transform GLEW_GET_VAR(GL_HP_image_transform)
414 #define GLEW_HP_occlusion_test GLEW_GET_VAR(GL_HP_occlusion_test)
415 #define GLEW_HP_texture_lighting GLEW_GET_VAR(GL_HP_texture_lighting)
416 #define GLEW_IBM_cull_vertex GLEW_GET_VAR(GL_IBM_cull_vertex)
417 #define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(GL_IBM_multimode_draw_arrays)
418 #define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(GL_IBM_rasterpos_clip)
419 #define GLEW_IBM_static_data GLEW_GET_VAR(GL_IBM_static_data)
420 #define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(GL_IBM_texture_mirrored_repeat)
421 #define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(GL_IBM_vertex_array_lists)
422 #define GLEW_INGR_color_clamp GLEW_GET_VAR(GL_INGR_color_clamp)
423 #define GLEW_INGR_interlace_read GLEW_GET_VAR(GL_INGR_interlace_read)
424 #define GLEW_INTEL_fragment_shader_ordering GLEW_GET_VAR(GL_INTEL_fragment_shader_ordering)
425 #define GLEW_INTEL_map_texture GLEW_GET_VAR(GL_INTEL_map_texture)
426 #define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(GL_INTEL_parallel_arrays)
427 #define GLEW_INTEL_texture_scissor GLEW_GET_VAR(GL_INTEL_texture_scissor)
428 #define GLEW_KHR_debug GLEW_GET_VAR(GL_KHR_debug)
429 #define GLEW_KHR_texture_compression_astc_hdr GLEW_GET_VAR(GL_KHR_texture_compression_astc_hdr)
430 #define GLEW_KHR_texture_compression_astc_ldr GLEW_GET_VAR(GL_KHR_texture_compression_astc_ldr)
431 #define GLEW_KTX_buffer_region GLEW_GET_VAR(GL_KTX_buffer_region)
432 #define GLEW_MESAX_texture_stack GLEW_GET_VAR(GL_MESAX_texture_stack)
433 #define GLEW_MESA_pack_invert GLEW_GET_VAR(GL_MESA_pack_invert)
434 #define GLEW_MESA_resize_buffers GLEW_GET_VAR(GL_MESA_resize_buffers)
435 #define GLEW_MESA_window_pos GLEW_GET_VAR(GL_MESA_window_pos)
436 #define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(GL_MESA_ycbcr_texture)
437 #define GLEW_NVX_conditional_render GLEW_GET_VAR(GL_NVX_conditional_render)
438 #define GLEW_NVX_gpu_memory_info GLEW_GET_VAR(GL_NVX_gpu_memory_info)
439 #define GLEW_NV_bindless_multi_draw_indirect GLEW_GET_VAR(GL_NV_bindless_multi_draw_indirect)
440 #define GLEW_NV_bindless_texture GLEW_GET_VAR(GL_NV_bindless_texture)
441 #define GLEW_NV_blend_equation_advanced GLEW_GET_VAR(GL_NV_blend_equation_advanced)
442 #define GLEW_NV_blend_equation_advanced_coherent GLEW_GET_VAR(GL_NV_blend_equation_advanced_coherent)
443 #define GLEW_NV_blend_square GLEW_GET_VAR(GL_NV_blend_square)
444 #define GLEW_NV_compute_program5 GLEW_GET_VAR(GL_NV_compute_program5)
445 #define GLEW_NV_conditional_render GLEW_GET_VAR(GL_NV_conditional_render)
446 #define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(GL_NV_copy_depth_to_color)
447 #define GLEW_NV_copy_image GLEW_GET_VAR(GL_NV_copy_image)
448 #define GLEW_NV_deep_texture3D GLEW_GET_VAR(GL_NV_deep_texture3D)
449 #define GLEW_NV_depth_buffer_float GLEW_GET_VAR(GL_NV_depth_buffer_float)
450 #define GLEW_NV_depth_clamp GLEW_GET_VAR(GL_NV_depth_clamp)
451 #define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(GL_NV_depth_range_unclamped)
452 #define GLEW_NV_draw_texture GLEW_GET_VAR(GL_NV_draw_texture)
453 #define GLEW_NV_evaluators GLEW_GET_VAR(GL_NV_evaluators)
454 #define GLEW_NV_explicit_multisample GLEW_GET_VAR(GL_NV_explicit_multisample)
455 #define GLEW_NV_fence GLEW_GET_VAR(GL_NV_fence)
456 #define GLEW_NV_float_buffer GLEW_GET_VAR(GL_NV_float_buffer)
457 #define GLEW_NV_fog_distance GLEW_GET_VAR(GL_NV_fog_distance)
458 #define GLEW_NV_fragment_program GLEW_GET_VAR(GL_NV_fragment_program)
459 #define GLEW_NV_fragment_program2 GLEW_GET_VAR(GL_NV_fragment_program2)
460 #define GLEW_NV_fragment_program4 GLEW_GET_VAR(GL_NV_fragment_program4)
461 #define GLEW_NV_fragment_program_option GLEW_GET_VAR(GL_NV_fragment_program_option)
462 #define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(GL_NV_framebuffer_multisample_coverage)
463 #define GLEW_NV_geometry_program4 GLEW_GET_VAR(GL_NV_geometry_program4)
464 #define GLEW_NV_geometry_shader4 GLEW_GET_VAR(GL_NV_geometry_shader4)
465 #define GLEW_NV_gpu_program4 GLEW_GET_VAR(GL_NV_gpu_program4)
466 #define GLEW_NV_gpu_program5 GLEW_GET_VAR(GL_NV_gpu_program5)
467 #define GLEW_NV_gpu_program5_mem_extended GLEW_GET_VAR(GL_NV_gpu_program5_mem_extended)
468 #define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(GL_NV_gpu_program_fp64)
469 #define GLEW_NV_gpu_shader5 GLEW_GET_VAR(GL_NV_gpu_shader5)
470 #define GLEW_NV_half_float GLEW_GET_VAR(GL_NV_half_float)
471 #define GLEW_NV_light_max_exponent GLEW_GET_VAR(GL_NV_light_max_exponent)
472 #define GLEW_NV_multisample_coverage GLEW_GET_VAR(GL_NV_multisample_coverage)
473 #define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(GL_NV_multisample_filter_hint)
474 #define GLEW_NV_occlusion_query GLEW_GET_VAR(GL_NV_occlusion_query)
475 #define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(GL_NV_packed_depth_stencil)
476 #define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(GL_NV_parameter_buffer_object)
477 #define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(GL_NV_parameter_buffer_object2)
478 #define GLEW_NV_path_rendering GLEW_GET_VAR(GL_NV_path_rendering)
479 #define GLEW_NV_pixel_data_range GLEW_GET_VAR(GL_NV_pixel_data_range)
480 #define GLEW_NV_point_sprite GLEW_GET_VAR(GL_NV_point_sprite)
481 #define GLEW_NV_present_video GLEW_GET_VAR(GL_NV_present_video)
482 #define GLEW_NV_primitive_restart GLEW_GET_VAR(GL_NV_primitive_restart)
483 #define GLEW_NV_register_combiners GLEW_GET_VAR(GL_NV_register_combiners)
484 #define GLEW_NV_register_combiners2 GLEW_GET_VAR(GL_NV_register_combiners2)
485 #define GLEW_NV_shader_atomic_counters GLEW_GET_VAR(GL_NV_shader_atomic_counters)
486 #define GLEW_NV_shader_atomic_float GLEW_GET_VAR(GL_NV_shader_atomic_float)
487 #define GLEW_NV_shader_buffer_load GLEW_GET_VAR(GL_NV_shader_buffer_load)
488 #define GLEW_NV_shader_storage_buffer_object GLEW_GET_VAR(GL_NV_shader_storage_buffer_object)
489 #define GLEW_NV_tessellation_program5 GLEW_GET_VAR(GL_NV_tessellation_program5)
490 #define GLEW_NV_texgen_emboss GLEW_GET_VAR(GL_NV_texgen_emboss)
491 #define GLEW_NV_texgen_reflection GLEW_GET_VAR(GL_NV_texgen_reflection)
492 #define GLEW_NV_texture_barrier GLEW_GET_VAR(GL_NV_texture_barrier)
493 #define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(GL_NV_texture_compression_vtc)
494 #define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(GL_NV_texture_env_combine4)
495 #define GLEW_NV_texture_expand_normal GLEW_GET_VAR(GL_NV_texture_expand_normal)
496 #define GLEW_NV_texture_multisample GLEW_GET_VAR(GL_NV_texture_multisample)
497 #define GLEW_NV_texture_rectangle GLEW_GET_VAR(GL_NV_texture_rectangle)
498 #define GLEW_NV_texture_shader GLEW_GET_VAR(GL_NV_texture_shader)
499 #define GLEW_NV_texture_shader2 GLEW_GET_VAR(GL_NV_texture_shader2)
500 #define GLEW_NV_texture_shader3 GLEW_GET_VAR(GL_NV_texture_shader3)
501 #define GLEW_NV_transform_feedback GLEW_GET_VAR(GL_NV_transform_feedback)
502 #define GLEW_NV_transform_feedback2 GLEW_GET_VAR(GL_NV_transform_feedback2)
503 #define GLEW_NV_vdpau_interop GLEW_GET_VAR(GL_NV_vdpau_interop)
504 #define GLEW_NV_vertex_array_range GLEW_GET_VAR(GL_NV_vertex_array_range)
505 #define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(GL_NV_vertex_array_range2)
506 #define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(GL_NV_vertex_attrib_integer_64bit)
507 #define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(GL_NV_vertex_buffer_unified_memory)
508 #define GLEW_NV_vertex_program GLEW_GET_VAR(GL_NV_vertex_program)
509 #define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(GL_NV_vertex_program1_1)
510 #define GLEW_NV_vertex_program2 GLEW_GET_VAR(GL_NV_vertex_program2)
511 #define GLEW_NV_vertex_program2_option GLEW_GET_VAR(GL_NV_vertex_program2_option)
512 #define GLEW_NV_vertex_program3 GLEW_GET_VAR(GL_NV_vertex_program3)
513 #define GLEW_NV_vertex_program4 GLEW_GET_VAR(GL_NV_vertex_program4)
514 #define GLEW_NV_video_capture GLEW_GET_VAR(GL_NV_video_capture)
515 #define GLEW_OES_byte_coordinates GLEW_GET_VAR(GL_OES_byte_coordinates)
516 #define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(GL_OES_compressed_paletted_texture)
517 #define GLEW_OES_read_format GLEW_GET_VAR(GL_OES_read_format)
518 #define GLEW_OES_single_precision GLEW_GET_VAR(GL_OES_single_precision)
519 #define GLEW_OML_interlace GLEW_GET_VAR(GL_OML_interlace)
520 #define GLEW_OML_resample GLEW_GET_VAR(GL_OML_resample)
521 #define GLEW_OML_subsample GLEW_GET_VAR(GL_OML_subsample)
522 #define GLEW_PGI_misc_hints GLEW_GET_VAR(GL_PGI_misc_hints)
523 #define GLEW_PGI_vertex_hints GLEW_GET_VAR(GL_PGI_vertex_hints)
524 #define GLEW_REGAL_ES1_0_compatibility GLEW_GET_VAR(GL_REGAL_ES1_0_compatibility)
525 #define GLEW_REGAL_ES1_1_compatibility GLEW_GET_VAR(GL_REGAL_ES1_1_compatibility)
526 #define GLEW_REGAL_enable GLEW_GET_VAR(GL_REGAL_enable)
527 #define GLEW_REGAL_error_string GLEW_GET_VAR(GL_REGAL_error_string)
528 #define GLEW_REGAL_extension_query GLEW_GET_VAR(GL_REGAL_extension_query)
529 #define GLEW_REGAL_log GLEW_GET_VAR(GL_REGAL_log)
530 #define GLEW_REND_screen_coordinates GLEW_GET_VAR(GL_REND_screen_coordinates)
531 #define GLEW_S3_s3tc GLEW_GET_VAR(GL_S3_s3tc)
532 #define GLEW_SGIS_color_range GLEW_GET_VAR(GL_SGIS_color_range)
533 #define GLEW_SGIS_detail_texture GLEW_GET_VAR(GL_SGIS_detail_texture)
534 #define GLEW_SGIS_fog_function GLEW_GET_VAR(GL_SGIS_fog_function)
535 #define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(GL_SGIS_generate_mipmap)
536 #define GLEW_SGIS_multisample GLEW_GET_VAR(GL_SGIS_multisample)
537 #define GLEW_SGIS_pixel_texture GLEW_GET_VAR(GL_SGIS_pixel_texture)
538 #define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(GL_SGIS_point_line_texgen)
539 #define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(GL_SGIS_sharpen_texture)
540 #define GLEW_SGIS_texture4D GLEW_GET_VAR(GL_SGIS_texture4D)
541 #define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(GL_SGIS_texture_border_clamp)
542 #define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(GL_SGIS_texture_edge_clamp)
543 #define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(GL_SGIS_texture_filter4)
544 #define GLEW_SGIS_texture_lod GLEW_GET_VAR(GL_SGIS_texture_lod)
545 #define GLEW_SGIS_texture_select GLEW_GET_VAR(GL_SGIS_texture_select)
546 #define GLEW_SGIX_async GLEW_GET_VAR(GL_SGIX_async)
547 #define GLEW_SGIX_async_histogram GLEW_GET_VAR(GL_SGIX_async_histogram)
548 #define GLEW_SGIX_async_pixel GLEW_GET_VAR(GL_SGIX_async_pixel)
549 #define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(GL_SGIX_blend_alpha_minmax)
550 #define GLEW_SGIX_clipmap GLEW_GET_VAR(GL_SGIX_clipmap)
551 #define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(GL_SGIX_convolution_accuracy)
552 #define GLEW_SGIX_depth_texture GLEW_GET_VAR(GL_SGIX_depth_texture)
553 #define GLEW_SGIX_flush_raster GLEW_GET_VAR(GL_SGIX_flush_raster)
554 #define GLEW_SGIX_fog_offset GLEW_GET_VAR(GL_SGIX_fog_offset)
555 #define GLEW_SGIX_fog_texture GLEW_GET_VAR(GL_SGIX_fog_texture)
556 #define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(GL_SGIX_fragment_specular_lighting)
557 #define GLEW_SGIX_framezoom GLEW_GET_VAR(GL_SGIX_framezoom)
558 #define GLEW_SGIX_interlace GLEW_GET_VAR(GL_SGIX_interlace)
559 #define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(GL_SGIX_ir_instrument1)
560 #define GLEW_SGIX_list_priority GLEW_GET_VAR(GL_SGIX_list_priority)
561 #define GLEW_SGIX_pixel_texture GLEW_GET_VAR(GL_SGIX_pixel_texture)
562 #define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(GL_SGIX_pixel_texture_bits)
563 #define GLEW_SGIX_reference_plane GLEW_GET_VAR(GL_SGIX_reference_plane)
564 #define GLEW_SGIX_resample GLEW_GET_VAR(GL_SGIX_resample)
565 #define GLEW_SGIX_shadow GLEW_GET_VAR(GL_SGIX_shadow)
566 #define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(GL_SGIX_shadow_ambient)
567 #define GLEW_SGIX_sprite GLEW_GET_VAR(GL_SGIX_sprite)
568 #define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(GL_SGIX_tag_sample_buffer)
569 #define GLEW_SGIX_texture_add_env GLEW_GET_VAR(GL_SGIX_texture_add_env)
570 #define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(GL_SGIX_texture_coordinate_clamp)
571 #define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(GL_SGIX_texture_lod_bias)
572 #define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(GL_SGIX_texture_multi_buffer)
573 #define GLEW_SGIX_texture_range GLEW_GET_VAR(GL_SGIX_texture_range)
574 #define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(GL_SGIX_texture_scale_bias)
575 #define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(GL_SGIX_vertex_preclip)
576 #define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(GL_SGIX_vertex_preclip_hint)
577 #define GLEW_SGIX_ycrcb GLEW_GET_VAR(GL_SGIX_ycrcb)
578 #define GLEW_SGI_color_matrix GLEW_GET_VAR(GL_SGI_color_matrix)
579 #define GLEW_SGI_color_table GLEW_GET_VAR(GL_SGI_color_table)
580 #define GLEW_SGI_texture_color_table GLEW_GET_VAR(GL_SGI_texture_color_table)
581 #define GLEW_SUNX_constant_data GLEW_GET_VAR(GL_SUNX_constant_data)
582 #define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(GL_SUN_convolution_border_modes)
583 #define GLEW_SUN_global_alpha GLEW_GET_VAR(GL_SUN_global_alpha)
584 #define GLEW_SUN_mesh_array GLEW_GET_VAR(GL_SUN_mesh_array)
585 #define GLEW_SUN_read_video_pixels GLEW_GET_VAR(GL_SUN_read_video_pixels)
586 #define GLEW_SUN_slice_accum GLEW_GET_VAR(GL_SUN_slice_accum)
587 #define GLEW_SUN_triangle_list GLEW_GET_VAR(GL_SUN_triangle_list)
588 #define GLEW_SUN_vertex GLEW_GET_VAR(GL_SUN_vertex)
589 #define GLEW_WIN_phong_shading GLEW_GET_VAR(GL_WIN_phong_shading)
590 #define GLEW_WIN_specular_fog GLEW_GET_VAR(GL_WIN_specular_fog)
591 #define GLEW_WIN_swap_hint GLEW_GET_VAR(GL_WIN_swap_hint)
592 
593 /* and from linaro glew-oes fork */
594 #define GLEW_OES_byte_coordinates GLEW_GET_VAR(GL_OES_byte_coordinates)
595 #define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(GL_OES_compressed_paletted_texture)
596 #define GLEW_OES_read_format GLEW_GET_VAR(GL_OES_read_format)
597 #define GLEW_OES_single_precision GLEW_GET_VAR(GL_OES_single_precision)
598 #define GLEW_OES_EGL_image GLEW_GET_VAR(GL_OES_EGL_image)
599 #define GLEW_OES_EGL_image_external GLEW_GET_VAR(GL_OES_EGL_image_external)
600 #define GLEW_OES_EGL_sync GLEW_GET_VAR(GL_OES_EGL_sync)
601 #define GLEW_OES_blend_equation_separate GLEW_GET_VAR(GL_OES_blend_equation_separate)
602 #define GLEW_OES_blend_func_separate GLEW_GET_VAR(GL_OES_blend_func_separate)
603 #define GLEW_OES_blend_subtract GLEW_GET_VAR(GL_OES_blend_subtract)
604 #define GLEW_OES_compressed_ETC1_RGB8_texture GLEW_GET_VAR(GL_OES_compressed_ETC1_RGB8_texture)
605 #define GLEW_OES_depth24 GLEW_GET_VAR(GL_OES_depth24)
606 #define GLEW_OES_depth32 GLEW_GET_VAR(GL_OES_depth32)
607 #define GLEW_OES_depth_texture GLEW_GET_VAR(GL_OES_depth_texture)
608 #define GLEW_OES_depth_texture_cube_map GLEW_GET_VAR(GL_OES_depth_texture_cube_map)
609 #define GLEW_OES_draw_texture GLEW_GET_VAR(GL_OES_draw_texture)
610 #define GLEW_OES_element_index_uint GLEW_GET_VAR(GL_OES_element_index_uint)
611 #define GLEW_OES_extended_matrix_palette GLEW_GET_VAR(GL_OES_extended_matrix_palette)
612 #define GLEW_OES_fbo_render_mipmap GLEW_GET_VAR(GL_OES_fbo_render_mipmap)
613 #define GLEW_OES_fragment_precision_high GLEW_GET_VAR(GL_OES_fragment_precision_high)
614 #define GLEW_OES_framebuffer_object GLEW_GET_VAR(GL_OES_framebuffer_object)
615 #define GLEW_OES_get_program_binary GLEW_GET_VAR(GL_OES_get_program_binary)
616 #define GLEW_OES_mapbuffer GLEW_GET_VAR(GL_OES_mapbuffer)
617 #define GLEW_OES_matrix_get GLEW_GET_VAR(GL_OES_matrix_get)
618 #define GLEW_OES_matrix_palette GLEW_GET_VAR(GL_OES_matrix_palette)
619 #define GLEW_OES_packed_depth_stencil GLEW_GET_VAR(GL_OES_packed_depth_stencil)
620 #define GLEW_OES_point_size_array GLEW_GET_VAR(GL_OES_point_size_array)
621 #define GLEW_OES_point_sprite GLEW_GET_VAR(GL_OES_point_sprite)
622 #define GLEW_OES_required_internalformat GLEW_GET_VAR(GL_OES_required_internalformat)
623 #define GLEW_OES_rgb8_rgba8 GLEW_GET_VAR(GL_OES_rgb8_rgba8)
624 #define GLEW_OES_standard_derivatives GLEW_GET_VAR(GL_OES_standard_derivatives)
625 #define GLEW_OES_stencil1 GLEW_GET_VAR(GL_OES_stencil1)
626 #define GLEW_OES_stencil4 GLEW_GET_VAR(GL_OES_stencil4)
627 #define GLEW_OES_stencil8 GLEW_GET_VAR(GL_OES_stencil8)
628 #define GLEW_OES_surfaceless_context GLEW_GET_VAR(GL_OES_surfaceless_context)
629 #define GLEW_OES_texture_3D GLEW_GET_VAR(GL_OES_texture_3D)
630 #define GLEW_OES_texture_cube_map GLEW_GET_VAR(GL_OES_texture_cube_map)
631 #define GLEW_OES_texture_env_crossbar GLEW_GET_VAR(GL_OES_texture_env_crossbar)
632 #define GLEW_OES_texture_mirrored_repeat GLEW_GET_VAR(GL_OES_texture_mirrored_repeat)
633 #define GLEW_OES_texture_npot GLEW_GET_VAR(GL_OES_texture_npot)
634 #define GLEW_OES_vertex_array_object GLEW_GET_VAR(GL_OES_vertex_array_object)
635 #define GLEW_OES_vertex_half_float GLEW_GET_VAR(GL_OES_vertex_half_float)
636 #define GLEW_OES_vertex_type_10_10_10_2 GLEW_GET_VAR(GL_OES_vertex_type_10_10_10_2)
637 
638 /* some of the missing constants in SDL_opengl.h
639  * XXX: Most likely doesn't have all. */
640 
641 #ifndef GL_KHR_debug
642 #define GL_KHR_debug 1
643 
644 #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
645 #define GL_STACK_OVERFLOW 0x0503
646 #define GL_STACK_UNDERFLOW 0x0504
647 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
648 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
649 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244
650 #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
651 #define GL_DEBUG_SOURCE_API 0x8246
652 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
653 #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
654 #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
655 #define GL_DEBUG_SOURCE_APPLICATION 0x824A
656 #define GL_DEBUG_SOURCE_OTHER 0x824B
657 #define GL_DEBUG_TYPE_ERROR 0x824C
658 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
659 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
660 #define GL_DEBUG_TYPE_PORTABILITY 0x824F
661 #define GL_DEBUG_TYPE_PERFORMANCE 0x8250
662 #define GL_DEBUG_TYPE_OTHER 0x8251
663 #define GL_DEBUG_TYPE_MARKER 0x8268
664 #define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
665 #define GL_DEBUG_TYPE_POP_GROUP 0x826A
666 #define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
667 #define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
668 #define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
669 #define GL_BUFFER 0x82E0
670 #define GL_SHADER 0x82E1
671 #define GL_PROGRAM 0x82E2
672 #define GL_QUERY 0x82E3
673 #define GL_PROGRAM_PIPELINE 0x82E4
674 #define GL_SAMPLER 0x82E6
675 #define GL_DISPLAY_LIST 0x82E7
676 #define GL_MAX_LABEL_LENGTH 0x82E8
677 #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
678 #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
679 #define GL_DEBUG_LOGGED_MESSAGES 0x9145
680 #define GL_DEBUG_SEVERITY_HIGH 0x9146
681 #define GL_DEBUG_SEVERITY_MEDIUM 0x9147
682 #define GL_DEBUG_SEVERITY_LOW 0x9148
683 #define GL_DEBUG_OUTPUT 0x92E0
684 
685 #endif /* GL_KHR_debug */
686 
687 #ifndef GL_ARB_shader_storage_buffer_object
688 #define GL_ARB_shader_storage_buffer_object 1
689 
690 #define GL_SHADER_STORAGE_BARRIER_BIT 0x2000
691 #define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
692 #define GL_SHADER_STORAGE_BUFFER 0x90D2
693 #define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
694 #define GL_SHADER_STORAGE_BUFFER_START 0x90D4
695 #define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
696 #define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
697 #define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
698 #define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
699 #define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
700 #define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
701 #define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
702 #define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
703 #define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
704 #define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
705 #define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
706 
707 #endif /* GL_ARB_shader_storage_buffer_object */
708 
709 #ifndef GL_ARB_shader_atomic_counters
710 #define GL_ARB_shader_atomic_counters 1
711 
712 #define GL_ATOMIC_COUNTER_BUFFER 0x92C0
713 #define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
714 #define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
715 #define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
716 #define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
717 #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
718 #define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
719 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
720 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
721 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
722 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
723 #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
724 #define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
725 #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
726 #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
727 #define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
728 #define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
729 #define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
730 #define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
731 #define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
732 #define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
733 #define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
734 #define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
735 #define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
736 #define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
737 #define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
738 #define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
739 #define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
740 #define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
741 
742 #endif /* GL_ARB_shader_atomic_counters */
743 
744 #ifndef GL_ARB_shader_image_load_store
745 #define GL_ARB_shader_image_load_store 1
746 
747 #define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
748 #define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
749 #define GL_UNIFORM_BARRIER_BIT 0x00000004
750 #define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
751 #define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
752 #define GL_COMMAND_BARRIER_BIT 0x00000040
753 #define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
754 #define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
755 #define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
756 #define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
757 #define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
758 #define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
759 #define GL_MAX_IMAGE_UNITS 0x8F38
760 #define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
761 #define GL_IMAGE_BINDING_NAME 0x8F3A
762 #define GL_IMAGE_BINDING_LEVEL 0x8F3B
763 #define GL_IMAGE_BINDING_LAYERED 0x8F3C
764 #define GL_IMAGE_BINDING_LAYER 0x8F3D
765 #define GL_IMAGE_BINDING_ACCESS 0x8F3E
766 #define GL_IMAGE_1D 0x904C
767 #define GL_IMAGE_2D 0x904D
768 #define GL_IMAGE_3D 0x904E
769 #define GL_IMAGE_2D_RECT 0x904F
770 #define GL_IMAGE_CUBE 0x9050
771 #define GL_IMAGE_BUFFER 0x9051
772 #define GL_IMAGE_1D_ARRAY 0x9052
773 #define GL_IMAGE_2D_ARRAY 0x9053
774 #define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
775 #define GL_IMAGE_2D_MULTISAMPLE 0x9055
776 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
777 #define GL_INT_IMAGE_1D 0x9057
778 #define GL_INT_IMAGE_2D 0x9058
779 #define GL_INT_IMAGE_3D 0x9059
780 #define GL_INT_IMAGE_2D_RECT 0x905A
781 #define GL_INT_IMAGE_CUBE 0x905B
782 #define GL_INT_IMAGE_BUFFER 0x905C
783 #define GL_INT_IMAGE_1D_ARRAY 0x905D
784 #define GL_INT_IMAGE_2D_ARRAY 0x905E
785 #define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
786 #define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
787 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
788 #define GL_UNSIGNED_INT_IMAGE_1D 0x9062
789 #define GL_UNSIGNED_INT_IMAGE_2D 0x9063
790 #define GL_UNSIGNED_INT_IMAGE_3D 0x9064
791 #define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
792 #define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
793 #define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
794 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
795 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
796 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
797 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
798 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
799 #define GL_MAX_IMAGE_SAMPLES 0x906D
800 #define GL_IMAGE_BINDING_FORMAT 0x906E
801 #define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
802 #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
803 #define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
804 #define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
805 #define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
806 #define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
807 #define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
808 #define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
809 #define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
810 #define GL_ALL_BARRIER_BITS 0xFFFFFFFF
811 
812 #endif /* GL_ARB_shader_image_load_store */
813 
814 #ifdef __cplusplus
815 extern "C" {
816 #endif
817 
818 /* API */
819 #ifdef GLEW_MX
820 
821 #define glewContextInit(x) glewInit()
822 #define glewContextIsSupported(x, y) glewIsSupported(y)
823 
824 #endif /* GLEW_MX */
825 
826 GLenum glewInit (void);
827 GLboolean glewIsSupported (const char *name);
828 #define glewIsExtensionSupported(x) glewIsSupported(x)
829 
830 //GLboolean glewExperimental;
831 static GLboolean glewExperimental; // XXX Emscripten Added 'static' to work around a linkage issue. See https://github.com/emscripten-core/emscripten/issues/2025
832 
833 GLboolean glewGetExtension (const char *name);
834 const GLubyte * glewGetErrorString (GLenum error);
835 const GLubyte * glewGetString (GLenum name);
836 
837 #ifdef __cplusplus
838 }
839 #endif
840 
841 #endif /* __glew_h__ */
842