summarylogtreecommitdiffstats
path: root/glew.h
blob: ec8d9d984a191b09defe93a3819f0e342ee27ad7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
#ifndef __glew_h__
#define __glew_h__
#define __GLEW_H__

#include <epoxy/gl.h>

#ifdef __cplusplus
extern "C" {
#endif

/* ----------------------------- GL_VERSION_1_1 ---------------------------- */

#define GLEW_VERSION_1_1 epoxy_gl_version() >= 11

/* ---------------------------------- GLU ---------------------------------- */

#ifndef GLEW_NO_GLU
#  ifdef __APPLE__
#    include <Availability.h>
#    if defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
#      define GLEW_NO_GLU
#    endif
#  endif
#endif

#ifndef GLEW_NO_GLU
/* this is where we can safely include GLU */
#  if defined(__APPLE__) && defined(__MACH__)
#    include <OpenGL/glu.h>
#  else
#    include <GL/glu.h>
#  endif
#endif

/* ----------------------------- GL_VERSION_1_2 ---------------------------- */

#define GLEW_VERSION_1_2 epoxy_gl_version() >= 12
#define GLEW_VERSION_1_2_1 epoxy_gl_version() >= 12
#define GLEW_VERSION_1_3 epoxy_gl_version() >= 13
#define GLEW_VERSION_1_4 epoxy_gl_version() >= 14
#define GLEW_VERSION_1_5 epoxy_gl_version() >= 15
#define GLEW_VERSION_2_0 epoxy_gl_version() >= 20
#define GLEW_VERSION_2_1 epoxy_gl_version() >= 21
#define GLEW_VERSION_3_0 epoxy_gl_version() >= 30
#define GLEW_VERSION_3_1 epoxy_gl_version() >= 31
#define GLEW_VERSION_3_2 epoxy_gl_version() >= 32
#define GLEW_VERSION_3_3 epoxy_gl_version() >= 33
#define GLEW_VERSION_4_0 epoxy_gl_version() >= 40
#define GLEW_VERSION_4_1 epoxy_gl_version() >= 41
#define GLEW_VERSION_4_2 epoxy_gl_version() >= 42
#define GLEW_VERSION_4_3 epoxy_gl_version() >= 43
#define GLEW_VERSION_4_4 epoxy_gl_version() >= 44
#define GLEW_VERSION_4_5 epoxy_gl_version() >= 45

#define GLEW_3DFX_multisample epoxy_has_gl_extension("GL_3DFX_multisample")
#define GLEW_3DFX_tbuffer epoxy_has_gl_extension("GL_3DFX_tbuffer")
#define GLEW_3DFX_texture_compression_FXT1 epoxy_has_gl_extension("GL_3DFX_texture_compression_FXT1")
#define GLEW_AMD_blend_minmax_factor epoxy_has_gl_extension("GL_AMD_blend_minmax_factor")
#define GLEW_AMD_conservative_depth epoxy_has_gl_extension("GL_AMD_conservative_depth")
#define GLEW_AMD_debug_output epoxy_has_gl_extension("GL_AMD_debug_output")
#define GLEW_AMD_depth_clamp_separate epoxy_has_gl_extension("GL_AMD_depth_clamp_separate")
#define GLEW_AMD_draw_buffers_blend epoxy_has_gl_extension("GL_AMD_draw_buffers_blend")
#define GLEW_AMD_gcn_shader epoxy_has_gl_extension("GL_AMD_gcn_shader")
#define GLEW_AMD_gpu_shader_int64 epoxy_has_gl_extension("GL_AMD_gpu_shader_int64")
#define GLEW_AMD_interleaved_elements epoxy_has_gl_extension("GL_AMD_interleaved_elements")
#define GLEW_AMD_multi_draw_indirect epoxy_has_gl_extension("GL_AMD_multi_draw_indirect")
#define GLEW_AMD_name_gen_delete epoxy_has_gl_extension("GL_AMD_name_gen_delete")
#define GLEW_AMD_occlusion_query_event epoxy_has_gl_extension("GL_AMD_occlusion_query_event")
#define GLEW_AMD_performance_monitor epoxy_has_gl_extension("GL_AMD_performance_monitor")
#define GLEW_AMD_pinned_memory epoxy_has_gl_extension("GL_AMD_pinned_memory")
#define GLEW_AMD_query_buffer_object epoxy_has_gl_extension("GL_AMD_query_buffer_object")
#define GLEW_AMD_sample_positions epoxy_has_gl_extension("GL_AMD_sample_positions")
#define GLEW_AMD_seamless_cubemap_per_texture epoxy_has_gl_extension("GL_AMD_seamless_cubemap_per_texture")
#define GLEW_AMD_shader_atomic_counter_ops epoxy_has_gl_extension("GL_AMD_shader_atomic_counter_ops")
#define GLEW_AMD_shader_explicit_vertex_parameter epoxy_has_gl_extension("GL_AMD_shader_explicit_vertex_parameter")
#define GLEW_AMD_shader_stencil_export epoxy_has_gl_extension("GL_AMD_shader_stencil_export")
#define GLEW_AMD_shader_stencil_value_export epoxy_has_gl_extension("GL_AMD_shader_stencil_value_export")
#define GLEW_AMD_shader_trinary_minmax epoxy_has_gl_extension("GL_AMD_shader_trinary_minmax")
#define GLEW_AMD_sparse_texture epoxy_has_gl_extension("GL_AMD_sparse_texture")
#define GLEW_AMD_stencil_operation_extended epoxy_has_gl_extension("GL_AMD_stencil_operation_extended")
#define GLEW_AMD_texture_texture4 epoxy_has_gl_extension("GL_AMD_texture_texture4")
#define GLEW_AMD_transform_feedback3_lines_triangles epoxy_has_gl_extension("GL_AMD_transform_feedback3_lines_triangles")
#define GLEW_AMD_transform_feedback4 epoxy_has_gl_extension("GL_AMD_transform_feedback4")
#define GLEW_AMD_vertex_shader_layer epoxy_has_gl_extension("GL_AMD_vertex_shader_layer")
#define GLEW_AMD_vertex_shader_tessellator epoxy_has_gl_extension("GL_AMD_vertex_shader_tessellator")
#define GLEW_AMD_vertex_shader_viewport_index epoxy_has_gl_extension("GL_AMD_vertex_shader_viewport_index")
#define GLEW_ANGLE_depth_texture epoxy_has_gl_extension("GL_ANGLE_depth_texture")
#define GLEW_ANGLE_framebuffer_blit epoxy_has_gl_extension("GL_ANGLE_framebuffer_blit")
#define GLEW_ANGLE_framebuffer_multisample epoxy_has_gl_extension("GL_ANGLE_framebuffer_multisample")
#define GLEW_ANGLE_instanced_arrays epoxy_has_gl_extension("GL_ANGLE_instanced_arrays")
#define GLEW_ANGLE_pack_reverse_row_order epoxy_has_gl_extension("GL_ANGLE_pack_reverse_row_order")
#define GLEW_ANGLE_program_binary epoxy_has_gl_extension("GL_ANGLE_program_binary")
#define GLEW_ANGLE_texture_compression_dxt1 epoxy_has_gl_extension("GL_ANGLE_texture_compression_dxt1")
#define GLEW_ANGLE_texture_compression_dxt3 epoxy_has_gl_extension("GL_ANGLE_texture_compression_dxt3")
#define GLEW_ANGLE_texture_compression_dxt5 epoxy_has_gl_extension("GL_ANGLE_texture_compression_dxt5")
#define GLEW_ANGLE_texture_usage epoxy_has_gl_extension("GL_ANGLE_texture_usage")
#define GLEW_ANGLE_timer_query epoxy_has_gl_extension("GL_ANGLE_timer_query")
#define GLEW_ANGLE_translated_shader_source epoxy_has_gl_extension("GL_ANGLE_translated_shader_source")
#define GLEW_APPLE_aux_depth_stencil epoxy_has_gl_extension("GL_APPLE_aux_depth_stencil")
#define GLEW_APPLE_client_storage epoxy_has_gl_extension("GL_APPLE_client_storage")
#define GLEW_APPLE_element_array epoxy_has_gl_extension("GL_APPLE_element_array")
#define GLEW_APPLE_fence epoxy_has_gl_extension("GL_APPLE_fence")
#define GLEW_APPLE_float_pixels epoxy_has_gl_extension("GL_APPLE_float_pixels")
#define GLEW_APPLE_flush_buffer_range epoxy_has_gl_extension("GL_APPLE_flush_buffer_range")
#define GLEW_APPLE_object_purgeable epoxy_has_gl_extension("GL_APPLE_object_purgeable")
#define GLEW_APPLE_pixel_buffer epoxy_has_gl_extension("GL_APPLE_pixel_buffer")
#define GLEW_APPLE_rgb_422 epoxy_has_gl_extension("GL_APPLE_rgb_422")
#define GLEW_APPLE_row_bytes epoxy_has_gl_extension("GL_APPLE_row_bytes")
#define GLEW_APPLE_specular_vector epoxy_has_gl_extension("GL_APPLE_specular_vector")
#define GLEW_APPLE_texture_range epoxy_has_gl_extension("GL_APPLE_texture_range")
#define GLEW_APPLE_transform_hint epoxy_has_gl_extension("GL_APPLE_transform_hint")
#define GLEW_APPLE_vertex_array_object epoxy_has_gl_extension("GL_APPLE_vertex_array_object")
#define GLEW_APPLE_vertex_array_range epoxy_has_gl_extension("GL_APPLE_vertex_array_range")
#define GLEW_APPLE_vertex_program_evaluators epoxy_has_gl_extension("GL_APPLE_vertex_program_evaluators")
#define GLEW_APPLE_ycbcr_422 epoxy_has_gl_extension("GL_APPLE_ycbcr_422")
#define GLEW_ARB_ES2_compatibility epoxy_has_gl_extension("GL_ARB_ES2_compatibility")
#define GLEW_ARB_ES3_1_compatibility epoxy_has_gl_extension("GL_ARB_ES3_1_compatibility")
#define GLEW_ARB_ES3_2_compatibility epoxy_has_gl_extension("GL_ARB_ES3_2_compatibility")
#define GLEW_ARB_ES3_compatibility epoxy_has_gl_extension("GL_ARB_ES3_compatibility")
#define GLEW_ARB_arrays_of_arrays epoxy_has_gl_extension("GL_ARB_arrays_of_arrays")
#define GLEW_ARB_base_instance epoxy_has_gl_extension("GL_ARB_base_instance")
#define GLEW_ARB_bindless_texture epoxy_has_gl_extension("GL_ARB_bindless_texture")
#define GLEW_ARB_blend_func_extended epoxy_has_gl_extension("GL_ARB_blend_func_extended")
#define GLEW_ARB_buffer_storage epoxy_has_gl_extension("GL_ARB_buffer_storage")
#define GLEW_ARB_cl_event epoxy_has_gl_extension("GL_ARB_cl_event")
#define GLEW_ARB_clear_buffer_object epoxy_has_gl_extension("GL_ARB_clear_buffer_object")
#define GLEW_ARB_clear_texture epoxy_has_gl_extension("GL_ARB_clear_texture")
#define GLEW_ARB_clip_control epoxy_has_gl_extension("GL_ARB_clip_control")
#define GLEW_ARB_color_buffer_float epoxy_has_gl_extension("GL_ARB_color_buffer_float")
#define GLEW_ARB_compatibility epoxy_has_gl_extension("GL_ARB_compatibility")
#define GLEW_ARB_compressed_texture_pixel_storage epoxy_has_gl_extension("GL_ARB_compressed_texture_pixel_storage")
#define GLEW_ARB_compute_shader epoxy_has_gl_extension("GL_ARB_compute_shader")
#define GLEW_ARB_compute_variable_group_size epoxy_has_gl_extension("GL_ARB_compute_variable_group_size")
#define GLEW_ARB_conditional_render_inverted epoxy_has_gl_extension("GL_ARB_conditional_render_inverted")
#define GLEW_ARB_conservative_depth epoxy_has_gl_extension("GL_ARB_conservative_depth")
#define GLEW_ARB_copy_buffer epoxy_has_gl_extension("GL_ARB_copy_buffer")
#define GLEW_ARB_copy_image epoxy_has_gl_extension("GL_ARB_copy_image")
#define GLEW_ARB_cull_distance epoxy_has_gl_extension("GL_ARB_cull_distance")
#define GLEW_ARB_debug_output epoxy_has_gl_extension("GL_ARB_debug_output")
#define GLEW_ARB_depth_buffer_float epoxy_has_gl_extension("GL_ARB_depth_buffer_float")
#define GLEW_ARB_depth_clamp epoxy_has_gl_extension("GL_ARB_depth_clamp")
#define GLEW_ARB_depth_texture epoxy_has_gl_extension("GL_ARB_depth_texture")
#define GLEW_ARB_derivative_control epoxy_has_gl_extension("GL_ARB_derivative_control")
#define GLEW_ARB_direct_state_access epoxy_has_gl_extension("GL_ARB_direct_state_access")
#define GLEW_ARB_draw_buffers epoxy_has_gl_extension("GL_ARB_draw_buffers")
#define GLEW_ARB_draw_buffers_blend epoxy_has_gl_extension("GL_ARB_draw_buffers_blend")
#define GLEW_ARB_draw_elements_base_vertex epoxy_has_gl_extension("GL_ARB_draw_elements_base_vertex")
#define GLEW_ARB_draw_indirect epoxy_has_gl_extension("GL_ARB_draw_indirect")
#define GLEW_ARB_draw_instanced epoxy_has_gl_extension("GL_ARB_draw_instanced")
#define GLEW_ARB_enhanced_layouts epoxy_has_gl_extension("GL_ARB_enhanced_layouts")
#define GLEW_ARB_explicit_attrib_location epoxy_has_gl_extension("GL_ARB_explicit_attrib_location")
#define GLEW_ARB_explicit_uniform_location epoxy_has_gl_extension("GL_ARB_explicit_uniform_location")
#define GLEW_ARB_fragment_coord_conventions epoxy_has_gl_extension("GL_ARB_fragment_coord_conventions")
#define GLEW_ARB_fragment_layer_viewport epoxy_has_gl_extension("GL_ARB_fragment_layer_viewport")
#define GLEW_ARB_fragment_program epoxy_has_gl_extension("GL_ARB_fragment_program")
#define GLEW_ARB_fragment_program_shadow epoxy_has_gl_extension("GL_ARB_fragment_program_shadow")
#define GLEW_ARB_fragment_shader epoxy_has_gl_extension("GL_ARB_fragment_shader")
#define GLEW_ARB_fragment_shader_interlock epoxy_has_gl_extension("GL_ARB_fragment_shader_interlock")
#define GLEW_ARB_framebuffer_no_attachments epoxy_has_gl_extension("GL_ARB_framebuffer_no_attachments")
#define GLEW_ARB_framebuffer_object epoxy_has_gl_extension("GL_ARB_framebuffer_object")
#define GLEW_ARB_framebuffer_sRGB epoxy_has_gl_extension("GL_ARB_framebuffer_sRGB")
#define GLEW_ARB_geometry_shader4 epoxy_has_gl_extension("GL_ARB_geometry_shader4")
#define GLEW_ARB_get_program_binary epoxy_has_gl_extension("GL_ARB_get_program_binary")
#define GLEW_ARB_get_texture_sub_image epoxy_has_gl_extension("GL_ARB_get_texture_sub_image")
#define GLEW_ARB_gl_spirv epoxy_has_gl_extension("GL_ARB_gl_spirv")
#define GLEW_ARB_gpu_shader5 epoxy_has_gl_extension("GL_ARB_gpu_shader5")
#define GLEW_ARB_gpu_shader_fp64 epoxy_has_gl_extension("GL_ARB_gpu_shader_fp64")
#define GLEW_ARB_gpu_shader_int64 epoxy_has_gl_extension("GL_ARB_gpu_shader_int64")
#define GLEW_ARB_half_float_pixel epoxy_has_gl_extension("GL_ARB_half_float_pixel")
#define GLEW_ARB_half_float_vertex epoxy_has_gl_extension("GL_ARB_half_float_vertex")
#define GLEW_ARB_imaging epoxy_has_gl_extension("GL_ARB_imaging")
#define GLEW_ARB_indirect_parameters epoxy_has_gl_extension("GL_ARB_indirect_parameters")
#define GLEW_ARB_instanced_arrays epoxy_has_gl_extension("GL_ARB_instanced_arrays")
#define GLEW_ARB_internalformat_query epoxy_has_gl_extension("GL_ARB_internalformat_query")
#define GLEW_ARB_internalformat_query2 epoxy_has_gl_extension("GL_ARB_internalformat_query2")
#define GLEW_ARB_invalidate_subdata epoxy_has_gl_extension("GL_ARB_invalidate_subdata")
#define GLEW_ARB_map_buffer_alignment epoxy_has_gl_extension("GL_ARB_map_buffer_alignment")
#define GLEW_ARB_map_buffer_range epoxy_has_gl_extension("GL_ARB_map_buffer_range")
#define GLEW_ARB_matrix_palette epoxy_has_gl_extension("GL_ARB_matrix_palette")
#define GLEW_ARB_multi_bind epoxy_has_gl_extension("GL_ARB_multi_bind")
#define GLEW_ARB_multi_draw_indirect epoxy_has_gl_extension("GL_ARB_multi_draw_indirect")
#define GLEW_ARB_multisample epoxy_has_gl_extension("GL_ARB_multisample")
#define GLEW_ARB_multitexture epoxy_has_gl_extension("GL_ARB_multitexture")
#define GLEW_ARB_occlusion_query epoxy_has_gl_extension("GL_ARB_occlusion_query")
#define GLEW_ARB_occlusion_query2 epoxy_has_gl_extension("GL_ARB_occlusion_query2")
#define GLEW_ARB_parallel_shader_compile epoxy_has_gl_extension("GL_ARB_parallel_shader_compile")
#define GLEW_ARB_pipeline_statistics_query epoxy_has_gl_extension("GL_ARB_pipeline_statistics_query")
#define GLEW_ARB_pixel_buffer_object epoxy_has_gl_extension("GL_ARB_pixel_buffer_object")
#define GLEW_ARB_point_parameters epoxy_has_gl_extension("GL_ARB_point_parameters")
#define GLEW_ARB_point_sprite epoxy_has_gl_extension("GL_ARB_point_sprite")
#define GLEW_ARB_post_depth_coverage epoxy_has_gl_extension("GL_ARB_post_depth_coverage")
#define GLEW_ARB_program_interface_query epoxy_has_gl_extension("GL_ARB_program_interface_query")
#define GLEW_ARB_provoking_vertex epoxy_has_gl_extension("GL_ARB_provoking_vertex")
#define GLEW_ARB_query_buffer_object epoxy_has_gl_extension("GL_ARB_query_buffer_object")
#define GLEW_ARB_robust_buffer_access_behavior epoxy_has_gl_extension("GL_ARB_robust_buffer_access_behavior")
#define GLEW_ARB_robustness epoxy_has_gl_extension("GL_ARB_robustness")
#define GLEW_ARB_robustness_application_isolation epoxy_has_gl_extension("GL_ARB_robustness_application_isolation")
#define GLEW_ARB_robustness_share_group_isolation epoxy_has_gl_extension("GL_ARB_robustness_share_group_isolation")
#define GLEW_ARB_sample_locations epoxy_has_gl_extension("GL_ARB_sample_locations")
#define GLEW_ARB_sample_shading epoxy_has_gl_extension("GL_ARB_sample_shading")
#define GLEW_ARB_sampler_objects epoxy_has_gl_extension("GL_ARB_sampler_objects")
#define GLEW_ARB_seamless_cube_map epoxy_has_gl_extension("GL_ARB_seamless_cube_map")
#define GLEW_ARB_seamless_cubemap_per_texture epoxy_has_gl_extension("GL_ARB_seamless_cubemap_per_texture")
#define GLEW_ARB_separate_shader_objects epoxy_has_gl_extension("GL_ARB_separate_shader_objects")
#define GLEW_ARB_shader_atomic_counter_ops epoxy_has_gl_extension("GL_ARB_shader_atomic_counter_ops")
#define GLEW_ARB_shader_atomic_counters epoxy_has_gl_extension("GL_ARB_shader_atomic_counters")
#define GLEW_ARB_shader_ballot epoxy_has_gl_extension("GL_ARB_shader_ballot")
#define GLEW_ARB_shader_bit_encoding epoxy_has_gl_extension("GL_ARB_shader_bit_encoding")
#define GLEW_ARB_shader_clock epoxy_has_gl_extension("GL_ARB_shader_clock")
#define GLEW_ARB_shader_draw_parameters epoxy_has_gl_extension("GL_ARB_shader_draw_parameters")
#define GLEW_ARB_shader_group_vote epoxy_has_gl_extension("GL_ARB_shader_group_vote")
#define GLEW_ARB_shader_image_load_store epoxy_has_gl_extension("GL_ARB_shader_image_load_store")
#define GLEW_ARB_shader_image_size epoxy_has_gl_extension("GL_ARB_shader_image_size")
#define GLEW_ARB_shader_objects epoxy_has_gl_extension("GL_ARB_shader_objects")
#define GLEW_ARB_shader_precision epoxy_has_gl_extension("GL_ARB_shader_precision")
#define GLEW_ARB_shader_stencil_export epoxy_has_gl_extension("GL_ARB_shader_stencil_export")
#define GLEW_ARB_shader_storage_buffer_object epoxy_has_gl_extension("GL_ARB_shader_storage_buffer_object")
#define GLEW_ARB_shader_subroutine epoxy_has_gl_extension("GL_ARB_shader_subroutine")
#define GLEW_ARB_shader_texture_image_samples epoxy_has_gl_extension("GL_ARB_shader_texture_image_samples")
#define GLEW_ARB_shader_texture_lod epoxy_has_gl_extension("GL_ARB_shader_texture_lod")
#define GLEW_ARB_shader_viewport_layer_array epoxy_has_gl_extension("GL_ARB_shader_viewport_layer_array")
#define GLEW_ARB_shading_language_100 epoxy_has_gl_extension("GL_ARB_shading_language_100")
#define GLEW_ARB_shading_language_420pack epoxy_has_gl_extension("GL_ARB_shading_language_420pack")
#define GLEW_ARB_shading_language_include epoxy_has_gl_extension("GL_ARB_shading_language_include")
#define GLEW_ARB_shading_language_packing epoxy_has_gl_extension("GL_ARB_shading_language_packing")
#define GLEW_ARB_shadow epoxy_has_gl_extension("GL_ARB_shadow")
#define GLEW_ARB_shadow_ambient epoxy_has_gl_extension("GL_ARB_shadow_ambient")
#define GLEW_ARB_sparse_buffer epoxy_has_gl_extension("GL_ARB_sparse_buffer")
#define GLEW_ARB_sparse_texture epoxy_has_gl_extension("GL_ARB_sparse_texture")
#define GLEW_ARB_sparse_texture2 epoxy_has_gl_extension("GL_ARB_sparse_texture2")
#define GLEW_ARB_sparse_texture_clamp epoxy_has_gl_extension("GL_ARB_sparse_texture_clamp")
#define GLEW_ARB_stencil_texturing epoxy_has_gl_extension("GL_ARB_stencil_texturing")
#define GLEW_ARB_sync epoxy_has_gl_extension("GL_ARB_sync")
#define GLEW_ARB_tessellation_shader epoxy_has_gl_extension("GL_ARB_tessellation_shader")
#define GLEW_ARB_texture_barrier epoxy_has_gl_extension("GL_ARB_texture_barrier")
#define GLEW_ARB_texture_border_clamp epoxy_has_gl_extension("GL_ARB_texture_border_clamp")
#define GLEW_ARB_texture_buffer_object epoxy_has_gl_extension("GL_ARB_texture_buffer_object")
#define GLEW_ARB_texture_buffer_object_rgb32 epoxy_has_gl_extension("GL_ARB_texture_buffer_object_rgb32")
#define GLEW_ARB_texture_buffer_range epoxy_has_gl_extension("GL_ARB_texture_buffer_range")
#define GLEW_ARB_texture_compression epoxy_has_gl_extension("GL_ARB_texture_compression")
#define GLEW_ARB_texture_compression_bptc epoxy_has_gl_extension("GL_ARB_texture_compression_bptc")
#define GLEW_ARB_texture_compression_rgtc epoxy_has_gl_extension("GL_ARB_texture_compression_rgtc")
#define GLEW_ARB_texture_cube_map epoxy_has_gl_extension("GL_ARB_texture_cube_map")
#define GLEW_ARB_texture_cube_map_array epoxy_has_gl_extension("GL_ARB_texture_cube_map_array")
#define GLEW_ARB_texture_env_add epoxy_has_gl_extension("GL_ARB_texture_env_add")
#define GLEW_ARB_texture_env_combine epoxy_has_gl_extension("GL_ARB_texture_env_combine")
#define GLEW_ARB_texture_env_crossbar epoxy_has_gl_extension("GL_ARB_texture_env_crossbar")
#define GLEW_ARB_texture_env_dot3 epoxy_has_gl_extension("GL_ARB_texture_env_dot3")
#define GLEW_ARB_texture_filter_minmax epoxy_has_gl_extension("GL_ARB_texture_filter_minmax")
#define GLEW_ARB_texture_float epoxy_has_gl_extension("GL_ARB_texture_float")
#define GLEW_ARB_texture_gather epoxy_has_gl_extension("GL_ARB_texture_gather")
#define GLEW_ARB_texture_mirror_clamp_to_edge epoxy_has_gl_extension("GL_ARB_texture_mirror_clamp_to_edge")
#define GLEW_ARB_texture_mirrored_repeat epoxy_has_gl_extension("GL_ARB_texture_mirrored_repeat")
#define GLEW_ARB_texture_multisample epoxy_has_gl_extension("GL_ARB_texture_multisample")
#define GLEW_ARB_texture_non_power_of_two epoxy_has_gl_extension("GL_ARB_texture_non_power_of_two")
#define GLEW_ARB_texture_query_levels epoxy_has_gl_extension("GL_ARB_texture_query_levels")
#define GLEW_ARB_texture_query_lod epoxy_has_gl_extension("GL_ARB_texture_query_lod")
#define GLEW_ARB_texture_rectangle epoxy_has_gl_extension("GL_ARB_texture_rectangle")
#define GLEW_ARB_texture_rg epoxy_has_gl_extension("GL_ARB_texture_rg")
#define GLEW_ARB_texture_rgb10_a2ui epoxy_has_gl_extension("GL_ARB_texture_rgb10_a2ui")
#define GLEW_ARB_texture_stencil8 epoxy_has_gl_extension("GL_ARB_texture_stencil8")
#define GLEW_ARB_texture_storage epoxy_has_gl_extension("GL_ARB_texture_storage")
#define GLEW_ARB_texture_storage_multisample epoxy_has_gl_extension("GL_ARB_texture_storage_multisample")
#define GLEW_ARB_texture_swizzle epoxy_has_gl_extension("GL_ARB_texture_swizzle")
#define GLEW_ARB_texture_view epoxy_has_gl_extension("GL_ARB_texture_view")
#define GLEW_ARB_timer_query epoxy_has_gl_extension("GL_ARB_timer_query")
#define GLEW_ARB_transform_feedback2 epoxy_has_gl_extension("GL_ARB_transform_feedback2")
#define GLEW_ARB_transform_feedback3 epoxy_has_gl_extension("GL_ARB_transform_feedback3")
#define GLEW_ARB_transform_feedback_instanced epoxy_has_gl_extension("GL_ARB_transform_feedback_instanced")
#define GLEW_ARB_transform_feedback_overflow_query epoxy_has_gl_extension("GL_ARB_transform_feedback_overflow_query")
#define GLEW_ARB_transpose_matrix epoxy_has_gl_extension("GL_ARB_transpose_matrix")
#define GLEW_ARB_uniform_buffer_object epoxy_has_gl_extension("GL_ARB_uniform_buffer_object")
#define GLEW_ARB_vertex_array_bgra epoxy_has_gl_extension("GL_ARB_vertex_array_bgra")
#define GLEW_ARB_vertex_array_object epoxy_has_gl_extension("GL_ARB_vertex_array_object")
#define GLEW_ARB_vertex_attrib_64bit epoxy_has_gl_extension("GL_ARB_vertex_attrib_64bit")
#define GLEW_ARB_vertex_attrib_binding epoxy_has_gl_extension("GL_ARB_vertex_attrib_binding")
#define GLEW_ARB_vertex_blend epoxy_has_gl_extension("GL_ARB_vertex_blend")
#define GLEW_ARB_vertex_buffer_object epoxy_has_gl_extension("GL_ARB_vertex_buffer_object")
#define GLEW_ARB_vertex_program epoxy_has_gl_extension("GL_ARB_vertex_program")
#define GLEW_ARB_vertex_shader epoxy_has_gl_extension("GL_ARB_vertex_shader")
#define GLEW_ARB_vertex_type_10f_11f_11f_rev epoxy_has_gl_extension("GL_ARB_vertex_type_10f_11f_11f_rev")
#define GLEW_ARB_vertex_type_2_10_10_10_rev epoxy_has_gl_extension("GL_ARB_vertex_type_2_10_10_10_rev")
#define GLEW_ARB_viewport_array epoxy_has_gl_extension("GL_ARB_viewport_array")
#define GLEW_ARB_window_pos epoxy_has_gl_extension("GL_ARB_window_pos")
#define GLEW_ATIX_point_sprites epoxy_has_gl_extension("GL_ATIX_point_sprites")
#define GLEW_ATIX_texture_env_combine3 epoxy_has_gl_extension("GL_ATIX_texture_env_combine3")
#define GLEW_ATIX_texture_env_route epoxy_has_gl_extension("GL_ATIX_texture_env_route")
#define GLEW_ATIX_vertex_shader_output_point_size epoxy_has_gl_extension("GL_ATIX_vertex_shader_output_point_size")
#define GLEW_ATI_draw_buffers epoxy_has_gl_extension("GL_ATI_draw_buffers")
#define GLEW_ATI_element_array epoxy_has_gl_extension("GL_ATI_element_array")
#define GLEW_ATI_envmap_bumpmap epoxy_has_gl_extension("GL_ATI_envmap_bumpmap")
#define GLEW_ATI_fragment_shader epoxy_has_gl_extension("GL_ATI_fragment_shader")
#define GLEW_ATI_map_object_buffer epoxy_has_gl_extension("GL_ATI_map_object_buffer")
#define GLEW_ATI_meminfo epoxy_has_gl_extension("GL_ATI_meminfo")
#define GLEW_ATI_pn_triangles epoxy_has_gl_extension("GL_ATI_pn_triangles")
#define GLEW_ATI_separate_stencil epoxy_has_gl_extension("GL_ATI_separate_stencil")
#define GLEW_ATI_shader_texture_lod epoxy_has_gl_extension("GL_ATI_shader_texture_lod")
#define GLEW_ATI_text_fragment_shader epoxy_has_gl_extension("GL_ATI_text_fragment_shader")
#define GLEW_ATI_texture_compression_3dc epoxy_has_gl_extension("GL_ATI_texture_compression_3dc")
#define GLEW_ATI_texture_env_combine3 epoxy_has_gl_extension("GL_ATI_texture_env_combine3")
#define GLEW_ATI_texture_float epoxy_has_gl_extension("GL_ATI_texture_float")
#define GLEW_ATI_texture_mirror_once epoxy_has_gl_extension("GL_ATI_texture_mirror_once")
#define GLEW_ATI_vertex_array_object epoxy_has_gl_extension("GL_ATI_vertex_array_object")
#define GLEW_ATI_vertex_attrib_array_object epoxy_has_gl_extension("GL_ATI_vertex_attrib_array_object")
#define GLEW_ATI_vertex_streams epoxy_has_gl_extension("GL_ATI_vertex_streams")
#define GLEW_EGL_NV_robustness_video_memory_purge epoxy_has_gl_extension("GL_EGL_NV_robustness_video_memory_purge")
#define GLEW_EXT_422_pixels epoxy_has_gl_extension("GL_EXT_422_pixels")
#define GLEW_EXT_Cg_shader epoxy_has_gl_extension("GL_EXT_Cg_shader")
#define GLEW_EXT_abgr epoxy_has_gl_extension("GL_EXT_abgr")
#define GLEW_EXT_bgra epoxy_has_gl_extension("GL_EXT_bgra")
#define GLEW_EXT_bindable_uniform epoxy_has_gl_extension("GL_EXT_bindable_uniform")
#define GLEW_EXT_blend_color epoxy_has_gl_extension("GL_EXT_blend_color")
#define GLEW_EXT_blend_equation_separate epoxy_has_gl_extension("GL_EXT_blend_equation_separate")
#define GLEW_EXT_blend_func_separate epoxy_has_gl_extension("GL_EXT_blend_func_separate")
#define GLEW_EXT_blend_logic_op epoxy_has_gl_extension("GL_EXT_blend_logic_op")
#define GLEW_EXT_blend_minmax epoxy_has_gl_extension("GL_EXT_blend_minmax")
#define GLEW_EXT_blend_subtract epoxy_has_gl_extension("GL_EXT_blend_subtract")
#define GLEW_EXT_clip_volume_hint epoxy_has_gl_extension("GL_EXT_clip_volume_hint")
#define GLEW_EXT_cmyka epoxy_has_gl_extension("GL_EXT_cmyka")
#define GLEW_EXT_color_subtable epoxy_has_gl_extension("GL_EXT_color_subtable")
#define GLEW_EXT_compiled_vertex_array epoxy_has_gl_extension("GL_EXT_compiled_vertex_array")
#define GLEW_EXT_convolution epoxy_has_gl_extension("GL_EXT_convolution")
#define GLEW_EXT_coordinate_frame epoxy_has_gl_extension("GL_EXT_coordinate_frame")
#define GLEW_EXT_copy_texture epoxy_has_gl_extension("GL_EXT_copy_texture")
#define GLEW_EXT_cull_vertex epoxy_has_gl_extension("GL_EXT_cull_vertex")
#define GLEW_EXT_debug_label epoxy_has_gl_extension("GL_EXT_debug_label")
#define GLEW_EXT_debug_marker epoxy_has_gl_extension("GL_EXT_debug_marker")
#define GLEW_EXT_depth_bounds_test epoxy_has_gl_extension("GL_EXT_depth_bounds_test")
#define GLEW_EXT_direct_state_access epoxy_has_gl_extension("GL_EXT_direct_state_access")
#define GLEW_EXT_draw_buffers2 epoxy_has_gl_extension("GL_EXT_draw_buffers2")
#define GLEW_EXT_draw_instanced epoxy_has_gl_extension("GL_EXT_draw_instanced")
#define GLEW_EXT_draw_range_elements epoxy_has_gl_extension("GL_EXT_draw_range_elements")
#define GLEW_EXT_fog_coord epoxy_has_gl_extension("GL_EXT_fog_coord")
#define GLEW_EXT_fragment_lighting epoxy_has_gl_extension("GL_EXT_fragment_lighting")
#define GLEW_EXT_framebuffer_blit epoxy_has_gl_extension("GL_EXT_framebuffer_blit")
#define GLEW_EXT_framebuffer_multisample epoxy_has_gl_extension("GL_EXT_framebuffer_multisample")
#define GLEW_EXT_framebuffer_multisample_blit_scaled epoxy_has_gl_extension("GL_EXT_framebuffer_multisample_blit_scaled")
#define GLEW_EXT_framebuffer_object epoxy_has_gl_extension("GL_EXT_framebuffer_object")
#define GLEW_EXT_framebuffer_sRGB epoxy_has_gl_extension("GL_EXT_framebuffer_sRGB")
#define GLEW_EXT_geometry_shader4 epoxy_has_gl_extension("GL_EXT_geometry_shader4")
#define GLEW_EXT_gpu_program_parameters epoxy_has_gl_extension("GL_EXT_gpu_program_parameters")
#define GLEW_EXT_gpu_shader4 epoxy_has_gl_extension("GL_EXT_gpu_shader4")
#define GLEW_EXT_histogram epoxy_has_gl_extension("GL_EXT_histogram")
#define GLEW_EXT_index_array_formats epoxy_has_gl_extension("GL_EXT_index_array_formats")
#define GLEW_EXT_index_func epoxy_has_gl_extension("GL_EXT_index_func")
#define GLEW_EXT_index_material epoxy_has_gl_extension("GL_EXT_index_material")
#define GLEW_EXT_index_texture epoxy_has_gl_extension("GL_EXT_index_texture")
#define GLEW_EXT_light_texture epoxy_has_gl_extension("GL_EXT_light_texture")
#define GLEW_EXT_misc_attribute epoxy_has_gl_extension("GL_EXT_misc_attribute")
#define GLEW_EXT_multi_draw_arrays epoxy_has_gl_extension("GL_EXT_multi_draw_arrays")
#define GLEW_EXT_multisample epoxy_has_gl_extension("GL_EXT_multisample")
#define GLEW_EXT_packed_depth_stencil epoxy_has_gl_extension("GL_EXT_packed_depth_stencil")
#define GLEW_EXT_packed_float epoxy_has_gl_extension("GL_EXT_packed_float")
#define GLEW_EXT_packed_pixels epoxy_has_gl_extension("GL_EXT_packed_pixels")
#define GLEW_EXT_paletted_texture epoxy_has_gl_extension("GL_EXT_paletted_texture")
#define GLEW_EXT_pixel_buffer_object epoxy_has_gl_extension("GL_EXT_pixel_buffer_object")
#define GLEW_EXT_pixel_transform epoxy_has_gl_extension("GL_EXT_pixel_transform")
#define GLEW_EXT_pixel_transform_color_table epoxy_has_gl_extension("GL_EXT_pixel_transform_color_table")
#define GLEW_EXT_point_parameters epoxy_has_gl_extension("GL_EXT_point_parameters")
#define GLEW_EXT_polygon_offset epoxy_has_gl_extension("GL_EXT_polygon_offset")
#define GLEW_EXT_polygon_offset_clamp epoxy_has_gl_extension("GL_EXT_polygon_offset_clamp")
#define GLEW_EXT_post_depth_coverage epoxy_has_gl_extension("GL_EXT_post_depth_coverage")
#define GLEW_EXT_provoking_vertex epoxy_has_gl_extension("GL_EXT_provoking_vertex")
#define GLEW_EXT_raster_multisample epoxy_has_gl_extension("GL_EXT_raster_multisample")
#define GLEW_EXT_rescale_normal epoxy_has_gl_extension("GL_EXT_rescale_normal")
#define GLEW_EXT_scene_marker epoxy_has_gl_extension("GL_EXT_scene_marker")
#define GLEW_EXT_secondary_color epoxy_has_gl_extension("GL_EXT_secondary_color")
#define GLEW_EXT_separate_shader_objects epoxy_has_gl_extension("GL_EXT_separate_shader_objects")
#define GLEW_EXT_separate_specular_color epoxy_has_gl_extension("GL_EXT_separate_specular_color")
#define GLEW_EXT_shader_image_load_formatted epoxy_has_gl_extension("GL_EXT_shader_image_load_formatted")
#define GLEW_EXT_shader_image_load_store epoxy_has_gl_extension("GL_EXT_shader_image_load_store")
#define GLEW_EXT_shader_integer_mix epoxy_has_gl_extension("GL_EXT_shader_integer_mix")
#define GLEW_EXT_shadow_funcs epoxy_has_gl_extension("GL_EXT_shadow_funcs")
#define GLEW_EXT_shared_texture_palette epoxy_has_gl_extension("GL_EXT_shared_texture_palette")
#define GLEW_EXT_sparse_texture2 epoxy_has_gl_extension("GL_EXT_sparse_texture2")
#define GLEW_EXT_stencil_clear_tag epoxy_has_gl_extension("GL_EXT_stencil_clear_tag")
#define GLEW_EXT_stencil_two_side epoxy_has_gl_extension("GL_EXT_stencil_two_side")
#define GLEW_EXT_stencil_wrap epoxy_has_gl_extension("GL_EXT_stencil_wrap")
#define GLEW_EXT_subtexture epoxy_has_gl_extension("GL_EXT_subtexture")
#define GLEW_EXT_texture epoxy_has_gl_extension("GL_EXT_texture")
#define GLEW_EXT_texture3D epoxy_has_gl_extension("GL_EXT_texture3D")
#define GLEW_EXT_texture_array epoxy_has_gl_extension("GL_EXT_texture_array")
#define GLEW_EXT_texture_buffer_object epoxy_has_gl_extension("GL_EXT_texture_buffer_object")
#define GLEW_EXT_texture_compression_dxt1 epoxy_has_gl_extension("GL_EXT_texture_compression_dxt1")
#define GLEW_EXT_texture_compression_latc epoxy_has_gl_extension("GL_EXT_texture_compression_latc")
#define GLEW_EXT_texture_compression_rgtc epoxy_has_gl_extension("GL_EXT_texture_compression_rgtc")
#define GLEW_EXT_texture_compression_s3tc epoxy_has_gl_extension("GL_EXT_texture_compression_s3tc")
#define GLEW_EXT_texture_cube_map epoxy_has_gl_extension("GL_EXT_texture_cube_map")
#define GLEW_EXT_texture_edge_clamp epoxy_has_gl_extension("GL_EXT_texture_edge_clamp")
#define GLEW_EXT_texture_env epoxy_has_gl_extension("GL_EXT_texture_env")
#define GLEW_EXT_texture_env_add epoxy_has_gl_extension("GL_EXT_texture_env_add")
#define GLEW_EXT_texture_env_combine epoxy_has_gl_extension("GL_EXT_texture_env_combine")
#define GLEW_EXT_texture_env_dot3 epoxy_has_gl_extension("GL_EXT_texture_env_dot3")
#define GLEW_EXT_texture_filter_anisotropic epoxy_has_gl_extension("GL_EXT_texture_filter_anisotropic")
#define GLEW_EXT_texture_filter_minmax epoxy_has_gl_extension("GL_EXT_texture_filter_minmax")
#define GLEW_EXT_texture_integer epoxy_has_gl_extension("GL_EXT_texture_integer")
#define GLEW_EXT_texture_lod_bias epoxy_has_gl_extension("GL_EXT_texture_lod_bias")
#define GLEW_EXT_texture_mirror_clamp epoxy_has_gl_extension("GL_EXT_texture_mirror_clamp")
#define GLEW_EXT_texture_object epoxy_has_gl_extension("GL_EXT_texture_object")
#define GLEW_EXT_texture_perturb_normal epoxy_has_gl_extension("GL_EXT_texture_perturb_normal")
#define GLEW_EXT_texture_rectangle epoxy_has_gl_extension("GL_EXT_texture_rectangle")
#define GLEW_EXT_texture_sRGB epoxy_has_gl_extension("GL_EXT_texture_sRGB")
#define GLEW_EXT_texture_sRGB_decode epoxy_has_gl_extension("GL_EXT_texture_sRGB_decode")
#define GLEW_EXT_texture_shared_exponent epoxy_has_gl_extension("GL_EXT_texture_shared_exponent")
#define GLEW_EXT_texture_snorm epoxy_has_gl_extension("GL_EXT_texture_snorm")
#define GLEW_EXT_texture_swizzle epoxy_has_gl_extension("GL_EXT_texture_swizzle")
#define GLEW_EXT_timer_query epoxy_has_gl_extension("GL_EXT_timer_query")
#define GLEW_EXT_transform_feedback epoxy_has_gl_extension("GL_EXT_transform_feedback")
#define GLEW_EXT_vertex_array epoxy_has_gl_extension("GL_EXT_vertex_array")
#define GLEW_EXT_vertex_array_bgra epoxy_has_gl_extension("GL_EXT_vertex_array_bgra")
#define GLEW_EXT_vertex_attrib_64bit epoxy_has_gl_extension("GL_EXT_vertex_attrib_64bit")
#define GLEW_EXT_vertex_shader epoxy_has_gl_extension("GL_EXT_vertex_shader")
#define GLEW_EXT_vertex_weighting epoxy_has_gl_extension("GL_EXT_vertex_weighting")
#define GLEW_EXT_window_rectangles epoxy_has_gl_extension("GL_EXT_window_rectangles")
#define GLEW_EXT_x11_sync_object epoxy_has_gl_extension("GL_EXT_x11_sync_object")
#define GLEW_GREMEDY_frame_terminator epoxy_has_gl_extension("GL_GREMEDY_frame_terminator")
#define GLEW_GREMEDY_string_marker epoxy_has_gl_extension("GL_GREMEDY_string_marker")
#define GLEW_HP_convolution_border_modes epoxy_has_gl_extension("GL_HP_convolution_border_modes")
#define GLEW_HP_image_transform epoxy_has_gl_extension("GL_HP_image_transform")
#define GLEW_HP_occlusion_test epoxy_has_gl_extension("GL_HP_occlusion_test")
#define GLEW_HP_texture_lighting epoxy_has_gl_extension("GL_HP_texture_lighting")
#define GLEW_IBM_cull_vertex epoxy_has_gl_extension("GL_IBM_cull_vertex")
#define GLEW_IBM_multimode_draw_arrays epoxy_has_gl_extension("GL_IBM_multimode_draw_arrays")
#define GLEW_IBM_rasterpos_clip epoxy_has_gl_extension("GL_IBM_rasterpos_clip")
#define GLEW_IBM_static_data epoxy_has_gl_extension("GL_IBM_static_data")
#define GLEW_IBM_texture_mirrored_repeat epoxy_has_gl_extension("GL_IBM_texture_mirrored_repeat")
#define GLEW_IBM_vertex_array_lists epoxy_has_gl_extension("GL_IBM_vertex_array_lists")
#define GLEW_INGR_color_clamp epoxy_has_gl_extension("GL_INGR_color_clamp")
#define GLEW_INGR_interlace_read epoxy_has_gl_extension("GL_INGR_interlace_read")
#define GLEW_INTEL_conservative_rasterization epoxy_has_gl_extension("GL_INTEL_conservative_rasterization")
#define GLEW_INTEL_fragment_shader_ordering epoxy_has_gl_extension("GL_INTEL_fragment_shader_ordering")
#define GLEW_INTEL_framebuffer_CMAA epoxy_has_gl_extension("GL_INTEL_framebuffer_CMAA")
#define GLEW_INTEL_map_texture epoxy_has_gl_extension("GL_INTEL_map_texture")
#define GLEW_INTEL_parallel_arrays epoxy_has_gl_extension("GL_INTEL_parallel_arrays")
#define GLEW_INTEL_performance_query epoxy_has_gl_extension("GL_INTEL_performance_query")
#define GLEW_INTEL_texture_scissor epoxy_has_gl_extension("GL_INTEL_texture_scissor")
#define GLEW_KHR_blend_equation_advanced epoxy_has_gl_extension("GL_KHR_blend_equation_advanced")
#define GLEW_KHR_blend_equation_advanced_coherent epoxy_has_gl_extension("GL_KHR_blend_equation_advanced_coherent")
#define GLEW_KHR_context_flush_control epoxy_has_gl_extension("GL_KHR_context_flush_control")
#define GLEW_KHR_debug epoxy_has_gl_extension("GL_KHR_debug")
#define GLEW_KHR_no_error epoxy_has_gl_extension("GL_KHR_no_error")
#define GLEW_KHR_robust_buffer_access_behavior epoxy_has_gl_extension("GL_KHR_robust_buffer_access_behavior")
#define GLEW_KHR_robustness epoxy_has_gl_extension("GL_KHR_robustness")
#define GLEW_KHR_texture_compression_astc_hdr epoxy_has_gl_extension("GL_KHR_texture_compression_astc_hdr")
#define GLEW_KHR_texture_compression_astc_ldr epoxy_has_gl_extension("GL_KHR_texture_compression_astc_ldr")
#define GLEW_KHR_texture_compression_astc_sliced_3d epoxy_has_gl_extension("GL_KHR_texture_compression_astc_sliced_3d")
#define GLEW_KTX_buffer_region epoxy_has_gl_extension("GL_KTX_buffer_region")
#define GLEW_MESAX_texture_stack epoxy_has_gl_extension("GL_MESAX_texture_stack")
#define GLEW_MESA_pack_invert epoxy_has_gl_extension("GL_MESA_pack_invert")
#define GLEW_MESA_resize_buffers epoxy_has_gl_extension("GL_MESA_resize_buffers")
#define GLEW_MESA_shader_integer_functions epoxy_has_gl_extension("GL_MESA_shader_integer_functions")
#define GLEW_MESA_window_pos epoxy_has_gl_extension("GL_MESA_window_pos")
#define GLEW_MESA_ycbcr_texture epoxy_has_gl_extension("GL_MESA_ycbcr_texture")
#define GLEW_NVX_blend_equation_advanced_multi_draw_buffers epoxy_has_gl_extension("GL_NVX_blend_equation_advanced_multi_draw_buffers")
#define GLEW_NVX_conditional_render epoxy_has_gl_extension("GL_NVX_conditional_render")
#define GLEW_NVX_gpu_memory_info epoxy_has_gl_extension("GL_NVX_gpu_memory_info")
#define GLEW_NVX_linked_gpu_multicast epoxy_has_gl_extension("GL_NVX_linked_gpu_multicast")
#define GLEW_NV_bindless_multi_draw_indirect epoxy_has_gl_extension("GL_NV_bindless_multi_draw_indirect")
#define GLEW_NV_bindless_multi_draw_indirect_count epoxy_has_gl_extension("GL_NV_bindless_multi_draw_indirect_count")
#define GLEW_NV_bindless_texture epoxy_has_gl_extension("GL_NV_bindless_texture")
#define GLEW_NV_blend_equation_advanced epoxy_has_gl_extension("GL_NV_blend_equation_advanced")
#define GLEW_NV_blend_equation_advanced_coherent epoxy_has_gl_extension("GL_NV_blend_equation_advanced_coherent")
#define GLEW_NV_blend_square epoxy_has_gl_extension("GL_NV_blend_square")
#define GLEW_NV_clip_space_w_scaling epoxy_has_gl_extension("GL_NV_clip_space_w_scaling")
#define GLEW_NV_command_list epoxy_has_gl_extension("GL_NV_command_list")
#define GLEW_NV_compute_program5 epoxy_has_gl_extension("GL_NV_compute_program5")
#define GLEW_NV_conditional_render epoxy_has_gl_extension("GL_NV_conditional_render")
#define GLEW_NV_conservative_raster epoxy_has_gl_extension("GL_NV_conservative_raster")
#define GLEW_NV_conservative_raster_dilate epoxy_has_gl_extension("GL_NV_conservative_raster_dilate")
#define GLEW_NV_conservative_raster_pre_snap_triangles epoxy_has_gl_extension("GL_NV_conservative_raster_pre_snap_triangles")
#define GLEW_NV_copy_depth_to_color epoxy_has_gl_extension("GL_NV_copy_depth_to_color")
#define GLEW_NV_copy_image epoxy_has_gl_extension("GL_NV_copy_image")
#define GLEW_NV_deep_texture3D epoxy_has_gl_extension("GL_NV_deep_texture3D")
#define GLEW_NV_depth_buffer_float epoxy_has_gl_extension("GL_NV_depth_buffer_float")
#define GLEW_NV_depth_clamp epoxy_has_gl_extension("GL_NV_depth_clamp")
#define GLEW_NV_depth_range_unclamped epoxy_has_gl_extension("GL_NV_depth_range_unclamped")
#define GLEW_NV_draw_texture epoxy_has_gl_extension("GL_NV_draw_texture")
#define GLEW_NV_draw_vulkan_image epoxy_has_gl_extension("GL_NV_draw_vulkan_image")
#define GLEW_NV_evaluators epoxy_has_gl_extension("GL_NV_evaluators")
#define GLEW_NV_explicit_multisample epoxy_has_gl_extension("GL_NV_explicit_multisample")
#define GLEW_NV_fence epoxy_has_gl_extension("GL_NV_fence")
#define GLEW_NV_fill_rectangle epoxy_has_gl_extension("GL_NV_fill_rectangle")
#define GLEW_NV_float_buffer epoxy_has_gl_extension("GL_NV_float_buffer")
#define GLEW_NV_fog_distance epoxy_has_gl_extension("GL_NV_fog_distance")
#define GLEW_NV_fragment_coverage_to_color epoxy_has_gl_extension("GL_NV_fragment_coverage_to_color")
#define GLEW_NV_fragment_program epoxy_has_gl_extension("GL_NV_fragment_program")
#define GLEW_NV_fragment_program2 epoxy_has_gl_extension("GL_NV_fragment_program2")
#define GLEW_NV_fragment_program4 epoxy_has_gl_extension("GL_NV_fragment_program4")
#define GLEW_NV_fragment_program_option epoxy_has_gl_extension("GL_NV_fragment_program_option")
#define GLEW_NV_fragment_shader_interlock epoxy_has_gl_extension("GL_NV_fragment_shader_interlock")
#define GLEW_NV_framebuffer_mixed_samples epoxy_has_gl_extension("GL_NV_framebuffer_mixed_samples")
#define GLEW_NV_framebuffer_multisample_coverage epoxy_has_gl_extension("GL_NV_framebuffer_multisample_coverage")
#define GLEW_NV_geometry_program4 epoxy_has_gl_extension("GL_NV_geometry_program4")
#define GLEW_NV_geometry_shader4 epoxy_has_gl_extension("GL_NV_geometry_shader4")
#define GLEW_NV_geometry_shader_passthrough epoxy_has_gl_extension("GL_NV_geometry_shader_passthrough")
#define GLEW_NV_gpu_multicast epoxy_has_gl_extension("GL_NV_gpu_multicast")
#define GLEW_NV_gpu_program4 epoxy_has_gl_extension("GL_NV_gpu_program4")
#define GLEW_NV_gpu_program5 epoxy_has_gl_extension("GL_NV_gpu_program5")
#define GLEW_NV_gpu_program5_mem_extended epoxy_has_gl_extension("GL_NV_gpu_program5_mem_extended")
#define GLEW_NV_gpu_program_fp64 epoxy_has_gl_extension("GL_NV_gpu_program_fp64")
#define GLEW_NV_gpu_shader5 epoxy_has_gl_extension("GL_NV_gpu_shader5")
#define GLEW_NV_half_float epoxy_has_gl_extension("GL_NV_half_float")
#define GLEW_NV_internalformat_sample_query epoxy_has_gl_extension("GL_NV_internalformat_sample_query")
#define GLEW_NV_light_max_exponent epoxy_has_gl_extension("GL_NV_light_max_exponent")
#define GLEW_NV_multisample_coverage epoxy_has_gl_extension("GL_NV_multisample_coverage")
#define GLEW_NV_multisample_filter_hint epoxy_has_gl_extension("GL_NV_multisample_filter_hint")
#define GLEW_NV_occlusion_query epoxy_has_gl_extension("GL_NV_occlusion_query")
#define GLEW_NV_packed_depth_stencil epoxy_has_gl_extension("GL_NV_packed_depth_stencil")
#define GLEW_NV_parameter_buffer_object epoxy_has_gl_extension("GL_NV_parameter_buffer_object")
#define GLEW_NV_parameter_buffer_object2 epoxy_has_gl_extension("GL_NV_parameter_buffer_object2")
#define GLEW_NV_path_rendering epoxy_has_gl_extension("GL_NV_path_rendering")
#define GLEW_NV_path_rendering_shared_edge epoxy_has_gl_extension("GL_NV_path_rendering_shared_edge")
#define GLEW_NV_pixel_data_range epoxy_has_gl_extension("GL_NV_pixel_data_range")
#define GLEW_NV_point_sprite epoxy_has_gl_extension("GL_NV_point_sprite")
#define GLEW_NV_present_video epoxy_has_gl_extension("GL_NV_present_video")
#define GLEW_NV_primitive_restart epoxy_has_gl_extension("GL_NV_primitive_restart")
#define GLEW_NV_register_combiners epoxy_has_gl_extension("GL_NV_register_combiners")
#define GLEW_NV_register_combiners2 epoxy_has_gl_extension("GL_NV_register_combiners2")
#define GLEW_NV_robustness_video_memory_purge epoxy_has_gl_extension("GL_NV_robustness_video_memory_purge")
#define GLEW_NV_sample_locations epoxy_has_gl_extension("GL_NV_sample_locations")
#define GLEW_NV_sample_mask_override_coverage epoxy_has_gl_extension("GL_NV_sample_mask_override_coverage")
#define GLEW_NV_shader_atomic_counters epoxy_has_gl_extension("GL_NV_shader_atomic_counters")
#define GLEW_NV_shader_atomic_float epoxy_has_gl_extension("GL_NV_shader_atomic_float")
#define GLEW_NV_shader_atomic_float64 epoxy_has_gl_extension("GL_NV_shader_atomic_float64")
#define GLEW_NV_shader_atomic_fp16_vector epoxy_has_gl_extension("GL_NV_shader_atomic_fp16_vector")
#define GLEW_NV_shader_atomic_int64 epoxy_has_gl_extension("GL_NV_shader_atomic_int64")
#define GLEW_NV_shader_buffer_load epoxy_has_gl_extension("GL_NV_shader_buffer_load")
#define GLEW_NV_shader_storage_buffer_object epoxy_has_gl_extension("GL_NV_shader_storage_buffer_object")
#define GLEW_NV_shader_thread_group epoxy_has_gl_extension("GL_NV_shader_thread_group")
#define GLEW_NV_shader_thread_shuffle epoxy_has_gl_extension("GL_NV_shader_thread_shuffle")
#define GLEW_NV_stereo_view_rendering epoxy_has_gl_extension("GL_NV_stereo_view_rendering")
#define GLEW_NV_tessellation_program5 epoxy_has_gl_extension("GL_NV_tessellation_program5")
#define GLEW_NV_texgen_emboss epoxy_has_gl_extension("GL_NV_texgen_emboss")
#define GLEW_NV_texgen_reflection epoxy_has_gl_extension("GL_NV_texgen_reflection")
#define GLEW_NV_texture_barrier epoxy_has_gl_extension("GL_NV_texture_barrier")
#define GLEW_NV_texture_compression_vtc epoxy_has_gl_extension("GL_NV_texture_compression_vtc")
#define GLEW_NV_texture_env_combine4 epoxy_has_gl_extension("GL_NV_texture_env_combine4")
#define GLEW_NV_texture_expand_normal epoxy_has_gl_extension("GL_NV_texture_expand_normal")
#define GLEW_NV_texture_multisample epoxy_has_gl_extension("GL_NV_texture_multisample")
#define GLEW_NV_texture_rectangle epoxy_has_gl_extension("GL_NV_texture_rectangle")
#define GLEW_NV_texture_shader epoxy_has_gl_extension("GL_NV_texture_shader")
#define GLEW_NV_texture_shader2 epoxy_has_gl_extension("GL_NV_texture_shader2")
#define GLEW_NV_texture_shader3 epoxy_has_gl_extension("GL_NV_texture_shader3")
#define GLEW_NV_transform_feedback epoxy_has_gl_extension("GL_NV_transform_feedback")
#define GLEW_NV_transform_feedback2 epoxy_has_gl_extension("GL_NV_transform_feedback2")
#define GLEW_NV_uniform_buffer_unified_memory epoxy_has_gl_extension("GL_NV_uniform_buffer_unified_memory")
#define GLEW_NV_vdpau_interop epoxy_has_gl_extension("GL_NV_vdpau_interop")
#define GLEW_NV_vertex_array_range epoxy_has_gl_extension("GL_NV_vertex_array_range")
#define GLEW_NV_vertex_array_range2 epoxy_has_gl_extension("GL_NV_vertex_array_range2")
#define GLEW_NV_vertex_attrib_integer_64bit epoxy_has_gl_extension("GL_NV_vertex_attrib_integer_64bit")
#define GLEW_NV_vertex_buffer_unified_memory epoxy_has_gl_extension("GL_NV_vertex_buffer_unified_memory")
#define GLEW_NV_vertex_program epoxy_has_gl_extension("GL_NV_vertex_program")
#define GLEW_NV_vertex_program1_1 epoxy_has_gl_extension("GL_NV_vertex_program1_1")
#define GLEW_NV_vertex_program2 epoxy_has_gl_extension("GL_NV_vertex_program2")
#define GLEW_NV_vertex_program2_option epoxy_has_gl_extension("GL_NV_vertex_program2_option")
#define GLEW_NV_vertex_program3 epoxy_has_gl_extension("GL_NV_vertex_program3")
#define GLEW_NV_vertex_program4 epoxy_has_gl_extension("GL_NV_vertex_program4")
#define GLEW_NV_video_capture epoxy_has_gl_extension("GL_NV_video_capture")
#define GLEW_NV_viewport_array2 epoxy_has_gl_extension("GL_NV_viewport_array2")
#define GLEW_NV_viewport_swizzle epoxy_has_gl_extension("GL_NV_viewport_swizzle")
#define GLEW_OES_byte_coordinates epoxy_has_gl_extension("GL_OES_byte_coordinates")
#define GLEW_OES_compressed_paletted_texture epoxy_has_gl_extension("GL_OES_compressed_paletted_texture")
#define GLEW_OES_read_format epoxy_has_gl_extension("GL_OES_read_format")
#define GLEW_OES_single_precision epoxy_has_gl_extension("GL_OES_single_precision")
#define GLEW_OML_interlace epoxy_has_gl_extension("GL_OML_interlace")
#define GLEW_OML_resample epoxy_has_gl_extension("GL_OML_resample")
#define GLEW_OML_subsample epoxy_has_gl_extension("GL_OML_subsample")
#define GLEW_OVR_multiview epoxy_has_gl_extension("GL_OVR_multiview")
#define GLEW_OVR_multiview2 epoxy_has_gl_extension("GL_OVR_multiview2")
#define GLEW_PGI_misc_hints epoxy_has_gl_extension("GL_PGI_misc_hints")
#define GLEW_PGI_vertex_hints epoxy_has_gl_extension("GL_PGI_vertex_hints")
#define GLEW_REGAL_ES1_0_compatibility epoxy_has_gl_extension("GL_REGAL_ES1_0_compatibility")
#define GLEW_REGAL_ES1_1_compatibility epoxy_has_gl_extension("GL_REGAL_ES1_1_compatibility")
#define GLEW_REGAL_enable epoxy_has_gl_extension("GL_REGAL_enable")
#define GLEW_REGAL_error_string epoxy_has_gl_extension("GL_REGAL_error_string")
#define GLEW_REGAL_extension_query epoxy_has_gl_extension("GL_REGAL_extension_query")
#define GLEW_REGAL_log epoxy_has_gl_extension("GL_REGAL_log")
#define GLEW_REGAL_proc_address epoxy_has_gl_extension("GL_REGAL_proc_address")
#define GLEW_REND_screen_coordinates epoxy_has_gl_extension("GL_REND_screen_coordinates")
#define GLEW_S3_s3tc epoxy_has_gl_extension("GL_S3_s3tc")
#define GLEW_SGIS_color_range epoxy_has_gl_extension("GL_SGIS_color_range")
#define GLEW_SGIS_detail_texture epoxy_has_gl_extension("GL_SGIS_detail_texture")
#define GLEW_SGIS_fog_function epoxy_has_gl_extension("GL_SGIS_fog_function")
#define GLEW_SGIS_generate_mipmap epoxy_has_gl_extension("GL_SGIS_generate_mipmap")
#define GLEW_SGIS_multisample epoxy_has_gl_extension("GL_SGIS_multisample")
#define GLEW_SGIS_pixel_texture epoxy_has_gl_extension("GL_SGIS_pixel_texture")
#define GLEW_SGIS_point_line_texgen epoxy_has_gl_extension("GL_SGIS_point_line_texgen")
#define GLEW_SGIS_sharpen_texture epoxy_has_gl_extension("GL_SGIS_sharpen_texture")
#define GLEW_SGIS_texture4D epoxy_has_gl_extension("GL_SGIS_texture4D")
#define GLEW_SGIS_texture_border_clamp epoxy_has_gl_extension("GL_SGIS_texture_border_clamp")
#define GLEW_SGIS_texture_edge_clamp epoxy_has_gl_extension("GL_SGIS_texture_edge_clamp")
#define GLEW_SGIS_texture_filter4 epoxy_has_gl_extension("GL_SGIS_texture_filter4")
#define GLEW_SGIS_texture_lod epoxy_has_gl_extension("GL_SGIS_texture_lod")
#define GLEW_SGIS_texture_select epoxy_has_gl_extension("GL_SGIS_texture_select")
#define GLEW_SGIX_async epoxy_has_gl_extension("GL_SGIX_async")
#define GLEW_SGIX_async_histogram epoxy_has_gl_extension("GL_SGIX_async_histogram")
#define GLEW_SGIX_async_pixel epoxy_has_gl_extension("GL_SGIX_async_pixel")
#define GLEW_SGIX_blend_alpha_minmax epoxy_has_gl_extension("GL_SGIX_blend_alpha_minmax")
#define GLEW_SGIX_clipmap epoxy_has_gl_extension("GL_SGIX_clipmap")
#define GLEW_SGIX_convolution_accuracy epoxy_has_gl_extension("GL_SGIX_convolution_accuracy")
#define GLEW_SGIX_depth_texture epoxy_has_gl_extension("GL_SGIX_depth_texture")
#define GLEW_SGIX_flush_raster epoxy_has_gl_extension("GL_SGIX_flush_raster")
#define GLEW_SGIX_fog_offset epoxy_has_gl_extension("GL_SGIX_fog_offset")
#define GLEW_SGIX_fog_texture epoxy_has_gl_extension("GL_SGIX_fog_texture")
#define GLEW_SGIX_fragment_specular_lighting epoxy_has_gl_extension("GL_SGIX_fragment_specular_lighting")
#define GLEW_SGIX_framezoom epoxy_has_gl_extension("GL_SGIX_framezoom")
#define GLEW_SGIX_interlace epoxy_has_gl_extension("GL_SGIX_interlace")
#define GLEW_SGIX_ir_instrument1 epoxy_has_gl_extension("GL_SGIX_ir_instrument1")
#define GLEW_SGIX_list_priority epoxy_has_gl_extension("GL_SGIX_list_priority")
#define GLEW_SGIX_pixel_texture epoxy_has_gl_extension("GL_SGIX_pixel_texture")
#define GLEW_SGIX_pixel_texture_bits epoxy_has_gl_extension("GL_SGIX_pixel_texture_bits")
#define GLEW_SGIX_reference_plane epoxy_has_gl_extension("GL_SGIX_reference_plane")
#define GLEW_SGIX_resample epoxy_has_gl_extension("GL_SGIX_resample")
#define GLEW_SGIX_shadow epoxy_has_gl_extension("GL_SGIX_shadow")
#define GLEW_SGIX_shadow_ambient epoxy_has_gl_extension("GL_SGIX_shadow_ambient")
#define GLEW_SGIX_sprite epoxy_has_gl_extension("GL_SGIX_sprite")
#define GLEW_SGIX_tag_sample_buffer epoxy_has_gl_extension("GL_SGIX_tag_sample_buffer")
#define GLEW_SGIX_texture_add_env epoxy_has_gl_extension("GL_SGIX_texture_add_env")
#define GLEW_SGIX_texture_coordinate_clamp epoxy_has_gl_extension("GL_SGIX_texture_coordinate_clamp")
#define GLEW_SGIX_texture_lod_bias epoxy_has_gl_extension("GL_SGIX_texture_lod_bias")
#define GLEW_SGIX_texture_multi_buffer epoxy_has_gl_extension("GL_SGIX_texture_multi_buffer")
#define GLEW_SGIX_texture_range epoxy_has_gl_extension("GL_SGIX_texture_range")
#define GLEW_SGIX_texture_scale_bias epoxy_has_gl_extension("GL_SGIX_texture_scale_bias")
#define GLEW_SGIX_vertex_preclip epoxy_has_gl_extension("GL_SGIX_vertex_preclip")
#define GLEW_SGIX_vertex_preclip_hint epoxy_has_gl_extension("GL_SGIX_vertex_preclip_hint")
#define GLEW_SGIX_ycrcb epoxy_has_gl_extension("GL_SGIX_ycrcb")
#define GLEW_SGI_color_matrix epoxy_has_gl_extension("GL_SGI_color_matrix")
#define GLEW_SGI_color_table epoxy_has_gl_extension("GL_SGI_color_table")
#define GLEW_SGI_texture_color_table epoxy_has_gl_extension("GL_SGI_texture_color_table")
#define GLEW_SUNX_constant_data epoxy_has_gl_extension("GL_SUNX_constant_data")
#define GLEW_SUN_convolution_border_modes epoxy_has_gl_extension("GL_SUN_convolution_border_modes")
#define GLEW_SUN_global_alpha epoxy_has_gl_extension("GL_SUN_global_alpha")
#define GLEW_SUN_mesh_array epoxy_has_gl_extension("GL_SUN_mesh_array")
#define GLEW_SUN_read_video_pixels epoxy_has_gl_extension("GL_SUN_read_video_pixels")
#define GLEW_SUN_slice_accum epoxy_has_gl_extension("GL_SUN_slice_accum")
#define GLEW_SUN_triangle_list epoxy_has_gl_extension("GL_SUN_triangle_list")
#define GLEW_SUN_vertex epoxy_has_gl_extension("GL_SUN_vertex")
#define GLEW_WIN_phong_shading epoxy_has_gl_extension("GL_WIN_phong_shading")
#define GLEW_WIN_specular_fog epoxy_has_gl_extension("GL_WIN_specular_fog")
#define GLEW_WIN_swap_hint epoxy_has_gl_extension("GL_WIN_swap_hint")

/* ------------------------------------------------------------------------- */

/* error codes */
#define GLEW_OK 0
#define GLEW_NO_ERROR 0
#define GLEW_ERROR_NO_GL_VERSION 1  /* missing GL version */
#define GLEW_ERROR_GL_VERSION_10_ONLY 2  /* Need at least OpenGL 1.1 */
#define GLEW_ERROR_GLX_VERSION_11_ONLY 3  /* Need at least GLX 1.2 */

/* string codes */
#define GLEW_VERSION 1
#define GLEW_VERSION_MAJOR 2
#define GLEW_VERSION_MINOR 3
#define GLEW_VERSION_MICRO 4

/* ------------------------------------------------------------------------- */

/* GLEW version info */

/*
VERSION 2.0.0
VERSION_MAJOR 2
VERSION_MINOR 0
VERSION_MICRO 0
*/

/* API */
static inline GLenum glewInit (void)
{
    return GLEW_OK;
}

static inline GLboolean glewIsSupported (const char *name)
{
    return epoxy_has_gl_extension(name);
}

#define glewIsExtensionSupported(x) glewIsSupported(x)

static GLboolean glewExperimental = true;
static inline GLboolean glewGetExtension (const char *name)
{
    return epoxy_has_gl_extension(name);
}

static inline const char * glewGetErrorString (GLenum error)
{
    switch (error) {
    case GLEW_NO_ERROR:
        return "No error";
    case GLEW_ERROR_NO_GL_VERSION:
        return "Missing GL version";
    case GLEW_ERROR_GL_VERSION_10_ONLY:
        return "Wrong GL version"; // XXX
    case GLEW_ERROR_GLX_VERSION_11_ONLY:
        return "Wrong GLX version"; // XXX
    default:
        return "Unknown error";
    }
}

static inline const char * glewGetString (GLenum name)
{
    switch (name) {
    case GLEW_VERSION:
        return "99.0.0";
    }
}

#ifdef __cplusplus
}
#endif

#endif /* __glew_h__ */