1#![allow(non_upper_case_globals)]
2#![allow(clippy::too_many_arguments)]
3#![allow(clippy::trivially_copy_pass_by_ref)]
4#![allow(clippy::unreadable_literal)]
5#![allow(clippy::missing_safety_doc)]
6#![allow(clippy::pedantic)] // For anyone using pedantic and a source dep, this is needed
7
8use core::fmt::Debug;
9use core::hash::Hash;
10use std::collections::HashSet;
11
12mod version;
13pub use version::Version;
14
15#[cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))]
16mod native;
17#[cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))]
18pub use native::*;
19#[cfg(any(not(target_arch = "wasm32"), target_os = "emscripten"))]
20mod gl46;
21
22#[cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))]
23#[path = "web_sys.rs"]
24mod web;
25#[cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))]
26pub use web::*;
27
28pub type Shader = <Context as HasContext>::Shader;
29pub type Program = <Context as HasContext>::Program;
30pub type Buffer = <Context as HasContext>::Buffer;
31pub type VertexArray = <Context as HasContext>::VertexArray;
32pub type Texture = <Context as HasContext>::Texture;
33pub type Sampler = <Context as HasContext>::Sampler;
34pub type Fence = <Context as HasContext>::Fence;
35pub type Framebuffer = <Context as HasContext>::Framebuffer;
36pub type Renderbuffer = <Context as HasContext>::Renderbuffer;
37pub type Query = <Context as HasContext>::Query;
38pub type UniformLocation = <Context as HasContext>::UniformLocation;
39pub type TransformFeedback = <Context as HasContext>::TransformFeedback;
40pub type DebugCallback = Box<dyn FnMut(u32, u32, u32, u32, &str)>;
41
42pub struct ActiveUniform {
43 pub size: i32,
44 pub utype: u32,
45 pub name: String,
46}
47
48pub struct ActiveAttribute {
49 pub size: i32,
50 pub atype: u32,
51 pub name: String,
52}
53
54pub struct ActiveTransformFeedback {
55 pub size: i32,
56 pub tftype: u32,
57 pub name: String,
58}
59
60#[allow(dead_code)]
61#[derive(Debug)]
62pub struct DebugMessageLogEntry {
63 source: u32,
64 msg_type: u32,
65 id: u32,
66 severity: u32,
67 message: String,
68}
69
70pub enum PixelPackData<'a> {
71 BufferOffset(u32),
72 Slice(&'a mut [u8]),
73}
74
75pub enum PixelUnpackData<'a> {
76 BufferOffset(u32),
77 Slice(&'a [u8]),
78}
79
80pub enum CompressedPixelUnpackData<'a> {
81 BufferRange(core::ops::Range<u32>),
82 Slice(&'a [u8]),
83}
84
85pub trait HasContext {
86 type Shader: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
87 type Program: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
88 type Buffer: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
89 type VertexArray: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
90 type Texture: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
91 type Sampler: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
92 type Fence: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
93 type Framebuffer: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
94 type Renderbuffer: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
95 type Query: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
96 type TransformFeedback: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
97 type UniformLocation: Clone + Debug;
98
99 fn supported_extensions(&self) -> &HashSet<String>;
100
101 fn supports_debug(&self) -> bool;
102
103 fn version(&self) -> &Version;
104
105 unsafe fn create_framebuffer(&self) -> Result<Self::Framebuffer, String>;
106
107 unsafe fn is_framebuffer(&self, framebuffer: Self::Framebuffer) -> bool;
108
109 unsafe fn create_query(&self) -> Result<Self::Query, String>;
110
111 unsafe fn create_renderbuffer(&self) -> Result<Self::Renderbuffer, String>;
112
113 unsafe fn is_renderbuffer(&self, renderbuffer: Self::Renderbuffer) -> bool;
114
115 unsafe fn create_sampler(&self) -> Result<Self::Sampler, String>;
116
117 unsafe fn create_shader(&self, shader_type: u32) -> Result<Self::Shader, String>;
118
119 unsafe fn is_shader(&self, shader: Self::Shader) -> bool;
120
121 unsafe fn create_texture(&self) -> Result<Self::Texture, String>;
122
123 unsafe fn create_named_texture(&self, target: u32) -> Result<Self::Texture, String>;
124
125 unsafe fn is_texture(&self, texture: Self::Texture) -> bool;
126
127 unsafe fn delete_shader(&self, shader: Self::Shader);
128
129 unsafe fn shader_source(&self, shader: Self::Shader, source: &str);
130
131 unsafe fn compile_shader(&self, shader: Self::Shader);
132
133 unsafe fn get_shader_completion_status(&self, shader: Self::Shader) -> bool;
134
135 unsafe fn get_shader_compile_status(&self, shader: Self::Shader) -> bool;
136
137 unsafe fn get_shader_info_log(&self, shader: Self::Shader) -> String;
138
139 unsafe fn get_tex_image(
140 &self,
141 target: u32,
142 level: i32,
143 format: u32,
144 ty: u32,
145 pixels: PixelPackData,
146 );
147
148 unsafe fn create_program(&self) -> Result<Self::Program, String>;
149
150 unsafe fn is_program(&self, program: Self::Program) -> bool;
151
152 unsafe fn delete_program(&self, program: Self::Program);
153
154 unsafe fn attach_shader(&self, program: Self::Program, shader: Self::Shader);
155
156 unsafe fn detach_shader(&self, program: Self::Program, shader: Self::Shader);
157
158 unsafe fn link_program(&self, program: Self::Program);
159
160 unsafe fn get_program_completion_status(&self, program: Self::Program) -> bool;
161
162 unsafe fn get_program_link_status(&self, program: Self::Program) -> bool;
163
164 unsafe fn get_program_info_log(&self, program: Self::Program) -> String;
165
166 unsafe fn get_program_resource_i32(
167 &self,
168 program: Self::Program,
169 interface: u32,
170 index: u32,
171 properties: &[u32],
172 ) -> Vec<i32>;
173
174 unsafe fn get_active_uniforms(&self, program: Self::Program) -> u32;
175
176 unsafe fn get_active_uniform(
177 &self,
178 program: Self::Program,
179 index: u32,
180 ) -> Option<ActiveUniform>;
181
182 unsafe fn use_program(&self, program: Option<Self::Program>);
183
184 unsafe fn create_buffer(&self) -> Result<Self::Buffer, String>;
185
186 unsafe fn create_named_buffer(&self) -> Result<Self::Buffer, String>;
187
188 unsafe fn is_buffer(&self, buffer: Self::Buffer) -> bool;
189
190 unsafe fn bind_buffer(&self, target: u32, buffer: Option<Self::Buffer>);
191
192 unsafe fn bind_buffer_base(&self, target: u32, index: u32, buffer: Option<Self::Buffer>);
193
194 unsafe fn bind_buffer_range(
195 &self,
196 target: u32,
197 index: u32,
198 buffer: Option<Self::Buffer>,
199 offset: i32,
200 size: i32,
201 );
202
203 unsafe fn bind_vertex_buffer(
204 &self,
205 binding_index: u32,
206 buffer: Option<Buffer>,
207 offset: i32,
208 stride: i32,
209 );
210
211 unsafe fn bind_framebuffer(&self, target: u32, framebuffer: Option<Self::Framebuffer>);
212
213 unsafe fn bind_renderbuffer(&self, target: u32, renderbuffer: Option<Self::Renderbuffer>);
214
215 unsafe fn blit_framebuffer(
216 &self,
217 src_x0: i32,
218 src_y0: i32,
219 src_x1: i32,
220 src_y1: i32,
221 dst_x0: i32,
222 dst_y0: i32,
223 dst_x1: i32,
224 dst_y1: i32,
225 mask: u32,
226 filter: u32,
227 );
228
229 unsafe fn create_vertex_array(&self) -> Result<Self::VertexArray, String>;
230
231 unsafe fn delete_vertex_array(&self, vertex_array: Self::VertexArray);
232
233 unsafe fn bind_vertex_array(&self, vertex_array: Option<Self::VertexArray>);
234
235 unsafe fn clear_color(&self, red: f32, green: f32, blue: f32, alpha: f32);
236
237 unsafe fn supports_f64_precision() -> bool;
238
239 unsafe fn clear_depth_f64(&self, depth: f64);
240
241 unsafe fn clear_depth_f32(&self, depth: f32);
242
243 unsafe fn clear_stencil(&self, stencil: i32);
244
245 unsafe fn clear(&self, mask: u32);
246
247 unsafe fn patch_parameter_i32(&self, parameter: u32, value: i32);
248
249 unsafe fn pixel_store_i32(&self, parameter: u32, value: i32);
250
251 unsafe fn pixel_store_bool(&self, parameter: u32, value: bool);
252
253 unsafe fn bind_frag_data_location(&self, program: Self::Program, color_number: u32, name: &str);
254
255 unsafe fn buffer_data_size(&self, target: u32, size: i32, usage: u32);
256
257 unsafe fn buffer_data_u8_slice(&self, target: u32, data: &[u8], usage: u32);
258
259 unsafe fn named_buffer_data_u8_slice(&self, buffer: Self::Buffer, data: &[u8], usage: u32);
260
261 unsafe fn buffer_sub_data_u8_slice(&self, target: u32, offset: i32, src_data: &[u8]);
262
263 unsafe fn get_buffer_sub_data(&self, target: u32, offset: i32, dst_data: &mut [u8]);
264
265 unsafe fn buffer_storage(&self, target: u32, size: i32, data: Option<&[u8]>, flags: u32);
266
267 unsafe fn check_framebuffer_status(&self, target: u32) -> u32;
268
269 unsafe fn clear_buffer_i32_slice(&self, target: u32, draw_buffer: u32, values: &[i32]);
270
271 unsafe fn clear_buffer_u32_slice(&self, target: u32, draw_buffer: u32, values: &[u32]);
272
273 unsafe fn clear_buffer_f32_slice(&self, target: u32, draw_buffer: u32, values: &[f32]);
274
275 unsafe fn clear_buffer_depth_stencil(
276 &self,
277 target: u32,
278 draw_buffer: u32,
279 depth: f32,
280 stencil: i32,
281 );
282
283 unsafe fn client_wait_sync(&self, fence: Self::Fence, flags: u32, timeout: i32) -> u32;
284 unsafe fn wait_sync(&self, fence: Self::Fence, flags: u32, timeout: u64);
285
286 unsafe fn copy_buffer_sub_data(
287 &self,
288 src_target: u32,
289 dst_target: u32,
290 src_offset: i32,
291 dst_offset: i32,
292 size: i32,
293 );
294
295 unsafe fn copy_image_sub_data(
296 &self,
297 src_name: Self::Texture,
298 src_target: u32,
299 src_level: i32,
300 src_x: i32,
301 src_y: i32,
302 src_z: i32,
303 dst_name: Self::Texture,
304 dst_target: u32,
305 dst_level: i32,
306 dst_x: i32,
307 dst_y: i32,
308 dst_z: i32,
309 src_width: i32,
310 src_height: i32,
311 src_depth: i32,
312 );
313
314 unsafe fn copy_tex_image_2d(
315 &self,
316 target: u32,
317 level: i32,
318 internal_format: u32,
319 x: i32,
320 y: i32,
321 width: i32,
322 height: i32,
323 border: i32,
324 );
325
326 unsafe fn copy_tex_sub_image_2d(
327 &self,
328 target: u32,
329 level: i32,
330 x_offset: i32,
331 y_offset: i32,
332 x: i32,
333 y: i32,
334 width: i32,
335 height: i32,
336 );
337
338 unsafe fn copy_tex_sub_image_3d(
339 &self,
340 target: u32,
341 level: i32,
342 x_offset: i32,
343 y_offset: i32,
344 z_offset: i32,
345 x: i32,
346 y: i32,
347 width: i32,
348 height: i32,
349 );
350
351 unsafe fn delete_buffer(&self, buffer: Self::Buffer);
352
353 unsafe fn delete_framebuffer(&self, framebuffer: Self::Framebuffer);
354
355 unsafe fn delete_query(&self, query: Self::Query);
356
357 unsafe fn delete_renderbuffer(&self, renderbuffer: Self::Renderbuffer);
358
359 unsafe fn delete_sampler(&self, texture: Self::Sampler);
360
361 unsafe fn delete_sync(&self, fence: Self::Fence);
362
363 unsafe fn delete_texture(&self, texture: Self::Texture);
364
365 unsafe fn disable(&self, parameter: u32);
366
367 unsafe fn disable_draw_buffer(&self, parameter: u32, draw_buffer: u32);
368
369 unsafe fn disable_vertex_attrib_array(&self, index: u32);
370
371 unsafe fn dispatch_compute(&self, groups_x: u32, groups_y: u32, groups_z: u32);
372
373 unsafe fn dispatch_compute_indirect(&self, offset: i32);
374
375 unsafe fn draw_arrays(&self, mode: u32, first: i32, count: i32);
376
377 unsafe fn draw_arrays_instanced(&self, mode: u32, first: i32, count: i32, instance_count: i32);
378
379 unsafe fn draw_arrays_instanced_base_instance(
380 &self,
381 mode: u32,
382 first: i32,
383 count: i32,
384 instance_count: i32,
385 base_instance: u32,
386 );
387
388 unsafe fn draw_arrays_indirect_offset(&self, mode: u32, offset: i32);
389
390 unsafe fn draw_buffer(&self, buffer: u32);
391
392 unsafe fn draw_buffers(&self, buffers: &[u32]);
393
394 unsafe fn draw_elements(&self, mode: u32, count: i32, element_type: u32, offset: i32);
395
396 unsafe fn draw_elements_base_vertex(
397 &self,
398 mode: u32,
399 count: i32,
400 element_type: u32,
401 offset: i32,
402 base_vertex: i32,
403 );
404
405 unsafe fn draw_elements_instanced(
406 &self,
407 mode: u32,
408 count: i32,
409 element_type: u32,
410 offset: i32,
411 instance_count: i32,
412 );
413
414 unsafe fn draw_elements_instanced_base_vertex(
415 &self,
416 mode: u32,
417 count: i32,
418 element_type: u32,
419 offset: i32,
420 instance_count: i32,
421 base_vertex: i32,
422 );
423
424 unsafe fn draw_elements_instanced_base_vertex_base_instance(
425 &self,
426 mode: u32,
427 count: i32,
428 element_type: u32,
429 offset: i32,
430 instance_count: i32,
431 base_vertex: i32,
432 base_instance: u32,
433 );
434
435 unsafe fn draw_elements_indirect_offset(&self, mode: u32, element_type: u32, offset: i32);
436
437 unsafe fn enable(&self, parameter: u32);
438
439 unsafe fn is_enabled(&self, parameter: u32) -> bool;
440
441 unsafe fn enable_draw_buffer(&self, parameter: u32, draw_buffer: u32);
442
443 unsafe fn enable_vertex_array_attrib(&self, vao: Self::VertexArray, index: u32);
444
445 unsafe fn enable_vertex_attrib_array(&self, index: u32);
446
447 unsafe fn flush(&self);
448
449 unsafe fn framebuffer_renderbuffer(
450 &self,
451 target: u32,
452 attachment: u32,
453 renderbuffer_target: u32,
454 renderbuffer: Option<Self::Renderbuffer>,
455 );
456
457 unsafe fn framebuffer_texture(
458 &self,
459 target: u32,
460 attachment: u32,
461 texture: Option<Self::Texture>,
462 level: i32,
463 );
464
465 unsafe fn framebuffer_texture_2d(
466 &self,
467 target: u32,
468 attachment: u32,
469 texture_target: u32,
470 texture: Option<Self::Texture>,
471 level: i32,
472 );
473
474 unsafe fn framebuffer_texture_3d(
475 &self,
476 target: u32,
477 attachment: u32,
478 texture_target: u32,
479 texture: Option<Self::Texture>,
480 level: i32,
481 layer: i32,
482 );
483
484 unsafe fn framebuffer_texture_layer(
485 &self,
486 target: u32,
487 attachment: u32,
488 texture: Option<Self::Texture>,
489 level: i32,
490 layer: i32,
491 );
492
493 unsafe fn front_face(&self, value: u32);
494
495 unsafe fn get_error(&self) -> u32;
496
497 unsafe fn get_tex_parameter_i32(&self, target: u32, parameter: u32) -> i32;
498
499 unsafe fn get_buffer_parameter_i32(&self, target: u32, parameter: u32) -> i32;
500
501 unsafe fn get_parameter_i32(&self, parameter: u32) -> i32;
502
503 unsafe fn get_parameter_i32_slice(&self, parameter: u32, out: &mut [i32]);
504
505 unsafe fn get_parameter_f32(&self, parameter: u32) -> f32;
506
507 unsafe fn get_parameter_f32_slice(&self, parameter: u32, out: &mut [f32]);
508
509 unsafe fn get_parameter_indexed_i32(&self, parameter: u32, index: u32) -> i32;
510
511 unsafe fn get_parameter_indexed_string(&self, parameter: u32, index: u32) -> String;
512
513 unsafe fn get_parameter_string(&self, parameter: u32) -> String;
514
515 unsafe fn get_active_uniform_block_parameter_i32(
516 &self,
517 program: Self::Program,
518 uniform_block_index: u32,
519 parameter: u32,
520 ) -> i32;
521
522 unsafe fn get_active_uniform_block_parameter_i32_slice(
523 &self,
524 program: Self::Program,
525 uniform_block_index: u32,
526 parameter: u32,
527 out: &mut [i32],
528 );
529
530 unsafe fn get_active_uniform_block_name(
531 &self,
532 program: Self::Program,
533 uniform_block_index: u32,
534 ) -> String;
535
536 unsafe fn get_uniform_location(
537 &self,
538 program: Self::Program,
539 name: &str,
540 ) -> Option<Self::UniformLocation>;
541
542 unsafe fn get_attrib_location(&self, program: Self::Program, name: &str) -> Option<u32>;
543
544 unsafe fn bind_attrib_location(&self, program: Self::Program, index: u32, name: &str);
545
546 unsafe fn get_active_attributes(&self, program: Self::Program) -> u32;
547
548 unsafe fn get_active_attribute(
549 &self,
550 program: Self::Program,
551 index: u32,
552 ) -> Option<ActiveAttribute>;
553
554 unsafe fn get_sync_status(&self, fence: Self::Fence) -> u32;
555
556 unsafe fn is_sync(&self, fence: Self::Fence) -> bool;
557
558 unsafe fn renderbuffer_storage(
559 &self,
560 target: u32,
561 internal_format: u32,
562 width: i32,
563 height: i32,
564 );
565
566 unsafe fn renderbuffer_storage_multisample(
567 &self,
568 target: u32,
569 samples: i32,
570 internal_format: u32,
571 width: i32,
572 height: i32,
573 );
574
575 unsafe fn sampler_parameter_f32(&self, sampler: Self::Sampler, name: u32, value: f32);
576
577 unsafe fn sampler_parameter_f32_slice(&self, sampler: Self::Sampler, name: u32, value: &[f32]);
578
579 unsafe fn sampler_parameter_i32(&self, sampler: Self::Sampler, name: u32, value: i32);
580
581 unsafe fn generate_mipmap(&self, target: u32);
582
583 unsafe fn generate_texture_mipmap(&self, texture: Self::Texture);
584
585 unsafe fn tex_image_1d(
586 &self,
587 target: u32,
588 level: i32,
589 internal_format: i32,
590 width: i32,
591 border: i32,
592 format: u32,
593 ty: u32,
594 pixels: Option<&[u8]>,
595 );
596
597 unsafe fn compressed_tex_image_1d(
598 &self,
599 target: u32,
600 level: i32,
601 internal_format: i32,
602 width: i32,
603 border: i32,
604 image_size: i32,
605 pixels: &[u8],
606 );
607
608 unsafe fn tex_image_2d(
609 &self,
610 target: u32,
611 level: i32,
612 internal_format: i32,
613 width: i32,
614 height: i32,
615 border: i32,
616 format: u32,
617 ty: u32,
618 pixels: Option<&[u8]>,
619 );
620
621 unsafe fn tex_image_2d_multisample(
622 &self,
623 target: u32,
624 samples: i32,
625 internal_format: i32,
626 width: i32,
627 height: i32,
628 fixed_sample_locations: bool,
629 );
630
631 unsafe fn compressed_tex_image_2d(
632 &self,
633 target: u32,
634 level: i32,
635 internal_format: i32,
636 width: i32,
637 height: i32,
638 border: i32,
639 image_size: i32,
640 pixels: &[u8],
641 );
642
643 unsafe fn tex_image_3d(
644 &self,
645 target: u32,
646 level: i32,
647 internal_format: i32,
648 width: i32,
649 height: i32,
650 depth: i32,
651 border: i32,
652 format: u32,
653 ty: u32,
654 pixels: Option<&[u8]>,
655 );
656
657 unsafe fn compressed_tex_image_3d(
658 &self,
659 target: u32,
660 level: i32,
661 internal_format: i32,
662 width: i32,
663 height: i32,
664 depth: i32,
665 border: i32,
666 image_size: i32,
667 pixels: &[u8],
668 );
669
670 unsafe fn tex_storage_1d(&self, target: u32, levels: i32, internal_format: u32, width: i32);
671
672 unsafe fn tex_storage_2d(
673 &self,
674 target: u32,
675 levels: i32,
676 internal_format: u32,
677 width: i32,
678 height: i32,
679 );
680
681 unsafe fn tex_storage_2d_multisample(
682 &self,
683 target: u32,
684 samples: i32,
685 internal_format: u32,
686 width: i32,
687 height: i32,
688 fixed_sample_locations: bool,
689 );
690
691 unsafe fn tex_storage_3d(
692 &self,
693 target: u32,
694 levels: i32,
695 internal_format: u32,
696 width: i32,
697 height: i32,
698 depth: i32,
699 );
700
701 unsafe fn texture_storage_3d(
702 &self,
703 texture: Self::Texture,
704 levels: i32,
705 internal_format: u32,
706 width: i32,
707 height: i32,
708 depth: i32,
709 );
710
711 unsafe fn get_uniform_i32(
712 &self,
713 program: Self::Program,
714 location: &Self::UniformLocation,
715 v: &mut [i32],
716 );
717
718 unsafe fn get_uniform_f32(
719 &self,
720 program: Self::Program,
721 location: &Self::UniformLocation,
722 v: &mut [f32],
723 );
724
725 unsafe fn uniform_1_i32(&self, location: Option<&Self::UniformLocation>, x: i32);
726
727 unsafe fn uniform_2_i32(&self, location: Option<&Self::UniformLocation>, x: i32, y: i32);
728
729 unsafe fn uniform_3_i32(
730 &self,
731 location: Option<&Self::UniformLocation>,
732 x: i32,
733 y: i32,
734 z: i32,
735 );
736
737 unsafe fn uniform_4_i32(
738 &self,
739 location: Option<&Self::UniformLocation>,
740 x: i32,
741 y: i32,
742 z: i32,
743 w: i32,
744 );
745
746 unsafe fn uniform_1_i32_slice(&self, location: Option<&Self::UniformLocation>, v: &[i32]);
747
748 unsafe fn uniform_2_i32_slice(&self, location: Option<&Self::UniformLocation>, v: &[i32]);
749
750 unsafe fn uniform_3_i32_slice(&self, location: Option<&Self::UniformLocation>, v: &[i32]);
751
752 unsafe fn uniform_4_i32_slice(&self, location: Option<&Self::UniformLocation>, v: &[i32]);
753
754 unsafe fn uniform_1_u32(&self, location: Option<&Self::UniformLocation>, x: u32);
755
756 unsafe fn uniform_2_u32(&self, location: Option<&Self::UniformLocation>, x: u32, y: u32);
757
758 unsafe fn uniform_3_u32(
759 &self,
760 location: Option<&Self::UniformLocation>,
761 x: u32,
762 y: u32,
763 z: u32,
764 );
765
766 unsafe fn uniform_4_u32(
767 &self,
768 location: Option<&Self::UniformLocation>,
769 x: u32,
770 y: u32,
771 z: u32,
772 w: u32,
773 );
774
775 unsafe fn uniform_1_u32_slice(&self, location: Option<&Self::UniformLocation>, v: &[u32]);
776
777 unsafe fn uniform_2_u32_slice(&self, location: Option<&Self::UniformLocation>, v: &[u32]);
778
779 unsafe fn uniform_3_u32_slice(&self, location: Option<&Self::UniformLocation>, v: &[u32]);
780
781 unsafe fn uniform_4_u32_slice(&self, location: Option<&Self::UniformLocation>, v: &[u32]);
782
783 unsafe fn uniform_1_f32(&self, location: Option<&Self::UniformLocation>, x: f32);
784
785 unsafe fn uniform_2_f32(&self, location: Option<&Self::UniformLocation>, x: f32, y: f32);
786
787 unsafe fn uniform_3_f32(
788 &self,
789 location: Option<&Self::UniformLocation>,
790 x: f32,
791 y: f32,
792 z: f32,
793 );
794
795 unsafe fn uniform_4_f32(
796 &self,
797 location: Option<&Self::UniformLocation>,
798 x: f32,
799 y: f32,
800 z: f32,
801 w: f32,
802 );
803
804 unsafe fn uniform_1_f32_slice(&self, location: Option<&Self::UniformLocation>, v: &[f32]);
805
806 unsafe fn uniform_2_f32_slice(&self, location: Option<&Self::UniformLocation>, v: &[f32]);
807
808 unsafe fn uniform_3_f32_slice(&self, location: Option<&Self::UniformLocation>, v: &[f32]);
809
810 unsafe fn uniform_4_f32_slice(&self, location: Option<&Self::UniformLocation>, v: &[f32]);
811
812 unsafe fn uniform_matrix_2_f32_slice(
813 &self,
814 location: Option<&Self::UniformLocation>,
815 transpose: bool,
816 v: &[f32],
817 );
818
819 unsafe fn uniform_matrix_2x3_f32_slice(
820 &self,
821 location: Option<&Self::UniformLocation>,
822 transpose: bool,
823 v: &[f32],
824 );
825
826 unsafe fn uniform_matrix_2x4_f32_slice(
827 &self,
828 location: Option<&Self::UniformLocation>,
829 transpose: bool,
830 v: &[f32],
831 );
832
833 unsafe fn uniform_matrix_3x2_f32_slice(
834 &self,
835 location: Option<&Self::UniformLocation>,
836 transpose: bool,
837 v: &[f32],
838 );
839
840 unsafe fn uniform_matrix_3_f32_slice(
841 &self,
842 location: Option<&Self::UniformLocation>,
843 transpose: bool,
844 v: &[f32],
845 );
846
847 unsafe fn uniform_matrix_3x4_f32_slice(
848 &self,
849 location: Option<&Self::UniformLocation>,
850 transpose: bool,
851 v: &[f32],
852 );
853
854 unsafe fn uniform_matrix_4x2_f32_slice(
855 &self,
856 location: Option<&Self::UniformLocation>,
857 transpose: bool,
858 v: &[f32],
859 );
860
861 unsafe fn uniform_matrix_4x3_f32_slice(
862 &self,
863 location: Option<&Self::UniformLocation>,
864 transpose: bool,
865 v: &[f32],
866 );
867
868 unsafe fn uniform_matrix_4_f32_slice(
869 &self,
870 location: Option<&Self::UniformLocation>,
871 transpose: bool,
872 v: &[f32],
873 );
874
875 unsafe fn unmap_buffer(&self, target: u32);
876
877 unsafe fn cull_face(&self, value: u32);
878
879 unsafe fn color_mask(&self, red: bool, green: bool, blue: bool, alpha: bool);
880
881 unsafe fn color_mask_draw_buffer(
882 &self,
883 buffer: u32,
884 red: bool,
885 green: bool,
886 blue: bool,
887 alpha: bool,
888 );
889
890 unsafe fn depth_mask(&self, value: bool);
891
892 unsafe fn blend_color(&self, red: f32, green: f32, blue: f32, alpha: f32);
893
894 unsafe fn line_width(&self, width: f32);
895
896 unsafe fn map_buffer_range(
897 &self,
898 target: u32,
899 offset: i32,
900 length: i32,
901 access: u32,
902 ) -> *mut u8;
903
904 unsafe fn flush_mapped_buffer_range(&self, target: u32, offset: i32, length: i32);
905
906 unsafe fn invalidate_buffer_sub_data(&self, target: u32, offset: i32, length: i32);
907
908 unsafe fn invalidate_framebuffer(&self, target: u32, attachments: &[u32]);
909
910 unsafe fn polygon_offset(&self, factor: f32, units: f32);
911
912 unsafe fn polygon_mode(&self, face: u32, mode: u32);
913
914 unsafe fn finish(&self);
915
916 unsafe fn bind_texture(&self, target: u32, texture: Option<Self::Texture>);
917
918 unsafe fn bind_sampler(&self, unit: u32, sampler: Option<Self::Sampler>);
919
920 unsafe fn active_texture(&self, unit: u32);
921
922 unsafe fn fence_sync(&self, condition: u32, flags: u32) -> Result<Self::Fence, String>;
923
924 unsafe fn tex_parameter_f32(&self, target: u32, parameter: u32, value: f32);
925
926 unsafe fn tex_parameter_i32(&self, target: u32, parameter: u32, value: i32);
927
928 unsafe fn texture_parameter_i32(&self, texture: Self::Texture, parameter: u32, value: i32);
929
930 unsafe fn tex_parameter_f32_slice(&self, target: u32, parameter: u32, values: &[f32]);
931
932 unsafe fn tex_parameter_i32_slice(&self, target: u32, parameter: u32, values: &[i32]);
933
934 unsafe fn tex_sub_image_2d(
935 &self,
936 target: u32,
937 level: i32,
938 x_offset: i32,
939 y_offset: i32,
940 width: i32,
941 height: i32,
942 format: u32,
943 ty: u32,
944 pixels: PixelUnpackData,
945 );
946
947 unsafe fn compressed_tex_sub_image_2d(
948 &self,
949 target: u32,
950 level: i32,
951 x_offset: i32,
952 y_offset: i32,
953 width: i32,
954 height: i32,
955 format: u32,
956 pixels: CompressedPixelUnpackData,
957 );
958
959 unsafe fn tex_sub_image_3d(
960 &self,
961 target: u32,
962 level: i32,
963 x_offset: i32,
964 y_offset: i32,
965 z_offset: i32,
966 width: i32,
967 height: i32,
968 depth: i32,
969 format: u32,
970 ty: u32,
971 pixels: PixelUnpackData,
972 );
973
974 unsafe fn texture_sub_image_3d(
975 &self,
976 texture: Self::Texture,
977 level: i32,
978 x_offset: i32,
979 y_offset: i32,
980 z_offset: i32,
981 width: i32,
982 height: i32,
983 depth: i32,
984 format: u32,
985 ty: u32,
986 pixels: PixelUnpackData,
987 );
988
989 unsafe fn compressed_tex_sub_image_3d(
990 &self,
991 target: u32,
992 level: i32,
993 x_offset: i32,
994 y_offset: i32,
995 z_offset: i32,
996 width: i32,
997 height: i32,
998 depth: i32,
999 format: u32,
1000 pixels: CompressedPixelUnpackData,
1001 );
1002
1003 unsafe fn depth_func(&self, func: u32);
1004
1005 unsafe fn depth_range_f32(&self, near: f32, far: f32);
1006
1007 unsafe fn depth_range_f64(&self, near: f64, far: f64);
1008
1009 unsafe fn depth_range_f64_slice(&self, first: u32, count: i32, values: &[[f64; 2]]);
1010
1011 unsafe fn scissor(&self, x: i32, y: i32, width: i32, height: i32);
1012
1013 unsafe fn scissor_slice(&self, first: u32, count: i32, scissors: &[[i32; 4]]);
1014
1015 unsafe fn vertex_array_attrib_binding_f32(
1016 &self,
1017 vao: Self::VertexArray,
1018 index: u32,
1019 binding_index: u32,
1020 );
1021
1022 unsafe fn vertex_array_attrib_format_f32(
1023 &self,
1024 vao: Self::VertexArray,
1025 index: u32,
1026 size: i32,
1027 data_type: u32,
1028 normalized: bool,
1029 relative_offset: u32,
1030 );
1031
1032 unsafe fn vertex_array_attrib_format_i32(
1033 &self,
1034 vao: Self::VertexArray,
1035 index: u32,
1036 size: i32,
1037 data_type: u32,
1038 relative_offset: u32,
1039 );
1040
1041 unsafe fn vertex_array_element_buffer(
1042 &self,
1043 vao: Self::VertexArray,
1044 buffer: Option<Self::Buffer>,
1045 );
1046
1047 unsafe fn vertex_array_vertex_buffer(
1048 &self,
1049 vao: Self::VertexArray,
1050 binding_index: u32,
1051 buffer: Option<Self::Buffer>,
1052 offset: i32,
1053 stride: i32,
1054 );
1055
1056 unsafe fn vertex_attrib_divisor(&self, index: u32, divisor: u32);
1057
1058 unsafe fn vertex_attrib_pointer_f32(
1059 &self,
1060 index: u32,
1061 size: i32,
1062 data_type: u32,
1063 normalized: bool,
1064 stride: i32,
1065 offset: i32,
1066 );
1067
1068 unsafe fn vertex_attrib_pointer_i32(
1069 &self,
1070 index: u32,
1071 size: i32,
1072 data_type: u32,
1073 stride: i32,
1074 offset: i32,
1075 );
1076
1077 unsafe fn vertex_attrib_pointer_f64(
1078 &self,
1079 index: u32,
1080 size: i32,
1081 data_type: u32,
1082 stride: i32,
1083 offset: i32,
1084 );
1085
1086 unsafe fn vertex_attrib_format_f32(
1087 &self,
1088 index: u32,
1089 size: i32,
1090 data_type: u32,
1091 normalized: bool,
1092 relative_offset: u32,
1093 );
1094
1095 unsafe fn vertex_attrib_format_i32(
1096 &self,
1097 index: u32,
1098 size: i32,
1099 data_type: u32,
1100 relative_offset: u32,
1101 );
1102
1103 unsafe fn vertex_attrib_1_f32(&self, index: u32, x: f32);
1104
1105 unsafe fn vertex_attrib_2_f32(&self, index: u32, x: f32, y: f32);
1106
1107 unsafe fn vertex_attrib_3_f32(&self, index: u32, x: f32, y: f32, z: f32);
1108
1109 unsafe fn vertex_attrib_4_f32(&self, index: u32, x: f32, y: f32, z: f32, w: f32);
1110
1111 unsafe fn vertex_attrib_1_f32_slice(&self, index: u32, v: &[f32]);
1112
1113 unsafe fn vertex_attrib_2_f32_slice(&self, index: u32, v: &[f32]);
1114
1115 unsafe fn vertex_attrib_3_f32_slice(&self, index: u32, v: &[f32]);
1116
1117 unsafe fn vertex_attrib_4_f32_slice(&self, index: u32, v: &[f32]);
1118
1119 unsafe fn vertex_attrib_binding(&self, attrib_index: u32, binding_index: u32);
1120
1121 unsafe fn vertex_binding_divisor(&self, binding_index: u32, divisor: u32);
1122
1123 unsafe fn viewport(&self, x: i32, y: i32, width: i32, height: i32);
1124
1125 unsafe fn viewport_f32_slice(&self, first: u32, count: i32, values: &[[f32; 4]]);
1126
1127 unsafe fn blend_equation(&self, mode: u32);
1128
1129 unsafe fn blend_equation_draw_buffer(&self, draw_buffer: u32, mode: u32);
1130
1131 unsafe fn blend_equation_separate(&self, mode_rgb: u32, mode_alpha: u32);
1132
1133 unsafe fn blend_equation_separate_draw_buffer(
1134 &self,
1135 buffer: u32,
1136 mode_rgb: u32,
1137 mode_alpha: u32,
1138 );
1139
1140 unsafe fn blend_func(&self, src: u32, dst: u32);
1141
1142 unsafe fn blend_func_draw_buffer(&self, draw_buffer: u32, src: u32, dst: u32);
1143
1144 unsafe fn blend_func_separate(
1145 &self,
1146 src_rgb: u32,
1147 dst_rgb: u32,
1148 src_alpha: u32,
1149 dst_alpha: u32,
1150 );
1151
1152 unsafe fn blend_func_separate_draw_buffer(
1153 &self,
1154 draw_buffer: u32,
1155 src_rgb: u32,
1156 dst_rgb: u32,
1157 src_alpha: u32,
1158 dst_alpha: u32,
1159 );
1160
1161 unsafe fn stencil_func(&self, func: u32, reference: i32, mask: u32);
1162
1163 unsafe fn stencil_func_separate(&self, face: u32, func: u32, reference: i32, mask: u32);
1164
1165 unsafe fn stencil_mask(&self, mask: u32);
1166
1167 unsafe fn stencil_mask_separate(&self, face: u32, mask: u32);
1168
1169 unsafe fn stencil_op(&self, stencil_fail: u32, depth_fail: u32, pass: u32);
1170
1171 unsafe fn stencil_op_separate(&self, face: u32, stencil_fail: u32, depth_fail: u32, pass: u32);
1172
1173 unsafe fn debug_message_control(
1174 &self,
1175 source: u32,
1176 msg_type: u32,
1177 severity: u32,
1178 ids: &[u32],
1179 enabled: bool,
1180 );
1181
1182 unsafe fn debug_message_insert<S>(
1183 &self,
1184 source: u32,
1185 msg_type: u32,
1186 id: u32,
1187 severity: u32,
1188 msg: S,
1189 ) where
1190 S: AsRef<str>;
1191
1192 unsafe fn debug_message_callback<F>(&mut self, callback: F)
1193 where
1194 F: FnMut(u32, u32, u32, u32, &str) + 'static;
1195
1196 unsafe fn get_debug_message_log(&self, count: u32) -> Vec<DebugMessageLogEntry>;
1197
1198 unsafe fn push_debug_group<S>(&self, source: u32, id: u32, message: S)
1199 where
1200 S: AsRef<str>;
1201
1202 unsafe fn pop_debug_group(&self);
1203
1204 unsafe fn object_label<S>(&self, identifier: u32, name: u32, label: Option<S>)
1205 where
1206 S: AsRef<str>;
1207
1208 unsafe fn get_object_label(&self, identifier: u32, name: u32) -> String;
1209
1210 unsafe fn object_ptr_label<S>(&self, sync: Self::Fence, label: Option<S>)
1211 where
1212 S: AsRef<str>;
1213
1214 unsafe fn get_object_ptr_label(&self, sync: Self::Fence) -> String;
1215
1216 unsafe fn get_uniform_block_index(&self, program: Self::Program, name: &str) -> Option<u32>;
1217
1218 unsafe fn uniform_block_binding(&self, program: Self::Program, index: u32, binding: u32);
1219
1220 unsafe fn get_shader_storage_block_index(
1221 &self,
1222 program: Self::Program,
1223 name: &str,
1224 ) -> Option<u32>;
1225
1226 unsafe fn shader_storage_block_binding(&self, program: Self::Program, index: u32, binding: u32);
1227
1228 unsafe fn read_buffer(&self, src: u32);
1229
1230 unsafe fn read_pixels(
1231 &self,
1232 x: i32,
1233 y: i32,
1234 width: i32,
1235 height: i32,
1236 format: u32,
1237 gltype: u32,
1238 pixels: PixelPackData,
1239 );
1240
1241 unsafe fn begin_query(&self, target: u32, query: Self::Query);
1242
1243 unsafe fn end_query(&self, target: u32);
1244
1245 unsafe fn query_counter(&self, query: Self::Query, target: u32);
1246
1247 unsafe fn get_query_parameter_u32(&self, query: Self::Query, parameter: u32) -> u32;
1248
1249 unsafe fn get_query_parameter_u64_with_offset(
1250 &self,
1251 query: Self::Query,
1252 parameter: u32,
1253 offset: usize,
1254 );
1255
1256 unsafe fn delete_transform_feedback(&self, transform_feedback: Self::TransformFeedback);
1257
1258 unsafe fn create_transform_feedback(&self) -> Result<Self::TransformFeedback, String>;
1259
1260 unsafe fn bind_transform_feedback(
1261 &self,
1262 target: u32,
1263 transform_feedback: Option<Self::TransformFeedback>,
1264 );
1265
1266 unsafe fn begin_transform_feedback(&self, primitive_mode: u32);
1267
1268 unsafe fn end_transform_feedback(&self);
1269
1270 unsafe fn pause_transform_feedback(&self);
1271
1272 unsafe fn resume_transform_feedback(&self);
1273
1274 unsafe fn transform_feedback_varyings(
1275 &self,
1276 program: Self::Program,
1277 varyings: &[&str],
1278 buffer_mode: u32,
1279 );
1280
1281 unsafe fn get_transform_feedback_varying(
1282 &self,
1283 program: Self::Program,
1284 index: u32,
1285 ) -> Option<ActiveTransformFeedback>;
1286
1287 unsafe fn memory_barrier(&self, barriers: u32);
1288
1289 unsafe fn memory_barrier_by_region(&self, barriers: u32);
1290
1291 unsafe fn bind_image_texture(
1292 &self,
1293 unit: u32,
1294 texture: Self::Texture,
1295 level: i32,
1296 layered: bool,
1297 layer: i32,
1298 access: u32,
1299 format: u32,
1300 );
1301
1302 unsafe fn max_shader_compiler_threads(&self, count: u32);
1303}
1304
1305pub const ACTIVE_ATOMIC_COUNTER_BUFFERS: u32 = 0x92D9;
1306
1307pub const ACTIVE_ATTRIBUTES: u32 = 0x8B89;
1308
1309pub const ACTIVE_ATTRIBUTE_MAX_LENGTH: u32 = 0x8B8A;
1310
1311pub const ACTIVE_PROGRAM: u32 = 0x8259;
1312
1313pub const ACTIVE_RESOURCES: u32 = 0x92F5;
1314
1315pub const ACTIVE_SUBROUTINES: u32 = 0x8DE5;
1316
1317pub const ACTIVE_SUBROUTINE_MAX_LENGTH: u32 = 0x8E48;
1318
1319pub const ACTIVE_SUBROUTINE_UNIFORMS: u32 = 0x8DE6;
1320
1321pub const ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 0x8E47;
1322
1323pub const ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH: u32 = 0x8E49;
1324
1325pub const ACTIVE_TEXTURE: u32 = 0x84E0;
1326
1327pub const ACTIVE_UNIFORMS: u32 = 0x8B86;
1328
1329pub const ACTIVE_UNIFORM_BLOCKS: u32 = 0x8A36;
1330
1331pub const ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: u32 = 0x8A35;
1332
1333pub const ACTIVE_UNIFORM_MAX_LENGTH: u32 = 0x8B87;
1334
1335pub const ACTIVE_VARIABLES: u32 = 0x9305;
1336
1337pub const ALIASED_LINE_WIDTH_RANGE: u32 = 0x846E;
1338
1339pub const ALL_BARRIER_BITS: u32 = 0xFFFFFFFF;
1340
1341pub const ALL_SHADER_BITS: u32 = 0xFFFFFFFF;
1342
1343pub const ALPHA: u32 = 0x1906;
1344
1345pub const ALREADY_SIGNALED: u32 = 0x911A;
1346
1347pub const ALWAYS: u32 = 0x0207;
1348
1349pub const AND: u32 = 0x1501;
1350
1351pub const AND_INVERTED: u32 = 0x1504;
1352
1353pub const AND_REVERSE: u32 = 0x1502;
1354
1355pub const ANY_SAMPLES_PASSED: u32 = 0x8C2F;
1356
1357pub const ANY_SAMPLES_PASSED_CONSERVATIVE: u32 = 0x8D6A;
1358
1359pub const ARRAY_BUFFER: u32 = 0x8892;
1360
1361pub const ARRAY_BUFFER_BINDING: u32 = 0x8894;
1362
1363pub const ARRAY_SIZE: u32 = 0x92FB;
1364
1365pub const ARRAY_STRIDE: u32 = 0x92FE;
1366
1367pub const ATOMIC_COUNTER_BARRIER_BIT: u32 = 0x00001000;
1368
1369pub const ATOMIC_COUNTER_BUFFER: u32 = 0x92C0;
1370
1371pub const ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS: u32 = 0x92C5;
1372
1373pub const ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES: u32 = 0x92C6;
1374
1375pub const ATOMIC_COUNTER_BUFFER_BINDING: u32 = 0x92C1;
1376
1377pub const ATOMIC_COUNTER_BUFFER_DATA_SIZE: u32 = 0x92C4;
1378
1379pub const ATOMIC_COUNTER_BUFFER_INDEX: u32 = 0x9301;
1380
1381pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER: u32 = 0x90ED;
1382
1383pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER: u32 = 0x92CB;
1384
1385pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER: u32 = 0x92CA;
1386
1387pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 0x92C8;
1388
1389pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 0x92C9;
1390
1391pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER: u32 = 0x92C7;
1392
1393pub const ATOMIC_COUNTER_BUFFER_SIZE: u32 = 0x92C3;
1394
1395pub const ATOMIC_COUNTER_BUFFER_START: u32 = 0x92C2;
1396
1397pub const ATTACHED_SHADERS: u32 = 0x8B85;
1398
1399pub const AUTO_GENERATE_MIPMAP: u32 = 0x8295;
1400
1401pub const BACK: u32 = 0x0405;
1402
1403pub const BACK_LEFT: u32 = 0x0402;
1404
1405pub const BACK_RIGHT: u32 = 0x0403;
1406
1407pub const BGR: u32 = 0x80E0;
1408
1409pub const BGRA: u32 = 0x80E1;
1410
1411pub const BGRA_INTEGER: u32 = 0x8D9B;
1412
1413pub const BGR_INTEGER: u32 = 0x8D9A;
1414
1415pub const BLEND: u32 = 0x0BE2;
1416
1417pub const BLEND_COLOR: u32 = 0x8005;
1418
1419pub const BLEND_DST: u32 = 0x0BE0;
1420
1421pub const BLEND_DST_ALPHA: u32 = 0x80CA;
1422
1423pub const BLEND_DST_RGB: u32 = 0x80C8;
1424
1425pub const BLEND_EQUATION: u32 = 0x8009;
1426
1427pub const BLEND_EQUATION_ALPHA: u32 = 0x883D;
1428
1429pub const BLEND_EQUATION_RGB: u32 = 0x8009;
1430
1431pub const BLEND_SRC: u32 = 0x0BE1;
1432
1433pub const BLEND_SRC_ALPHA: u32 = 0x80CB;
1434
1435pub const BLEND_SRC_RGB: u32 = 0x80C9;
1436
1437pub const BLOCK_INDEX: u32 = 0x92FD;
1438
1439pub const BLUE: u32 = 0x1905;
1440
1441pub const BLUE_INTEGER: u32 = 0x8D96;
1442
1443pub const BOOL: u32 = 0x8B56;
1444
1445pub const BOOL_VEC2: u32 = 0x8B57;
1446
1447pub const BOOL_VEC3: u32 = 0x8B58;
1448
1449pub const BOOL_VEC4: u32 = 0x8B59;
1450
1451pub const BUFFER: u32 = 0x82E0;
1452
1453pub const BUFFER_ACCESS: u32 = 0x88BB;
1454
1455pub const BUFFER_ACCESS_FLAGS: u32 = 0x911F;
1456
1457pub const BUFFER_BINDING: u32 = 0x9302;
1458
1459pub const BUFFER_DATA_SIZE: u32 = 0x9303;
1460
1461pub const BUFFER_IMMUTABLE_STORAGE: u32 = 0x821F;
1462
1463pub const BUFFER_MAPPED: u32 = 0x88BC;
1464
1465pub const BUFFER_MAP_LENGTH: u32 = 0x9120;
1466
1467pub const BUFFER_MAP_OFFSET: u32 = 0x9121;
1468
1469pub const BUFFER_MAP_POINTER: u32 = 0x88BD;
1470
1471pub const BUFFER_SIZE: u32 = 0x8764;
1472
1473pub const BUFFER_STORAGE_FLAGS: u32 = 0x8220;
1474
1475pub const BUFFER_UPDATE_BARRIER_BIT: u32 = 0x00000200;
1476
1477pub const BUFFER_USAGE: u32 = 0x8765;
1478
1479pub const BUFFER_VARIABLE: u32 = 0x92E5;
1480
1481pub const BYTE: u32 = 0x1400;
1482
1483pub const CAVEAT_SUPPORT: u32 = 0x82B8;
1484
1485pub const CCW: u32 = 0x0901;
1486
1487pub const CLAMP_READ_COLOR: u32 = 0x891C;
1488
1489pub const CLAMP_TO_BORDER: u32 = 0x812D;
1490
1491pub const CLAMP_TO_EDGE: u32 = 0x812F;
1492
1493pub const CLEAR: u32 = 0x1500;
1494
1495pub const CLEAR_BUFFER: u32 = 0x82B4;
1496
1497pub const CLEAR_TEXTURE: u32 = 0x9365;
1498
1499pub const CLIENT_MAPPED_BUFFER_BARRIER_BIT: u32 = 0x00004000;
1500
1501pub const CLIENT_STORAGE_BIT: u32 = 0x0200;
1502
1503pub const CLIPPING_INPUT_PRIMITIVES: u32 = 0x82F6;
1504
1505pub const CLIPPING_OUTPUT_PRIMITIVES: u32 = 0x82F7;
1506
1507pub const CLIP_DEPTH_MODE: u32 = 0x935D;
1508
1509pub const CLIP_DISTANCE0: u32 = 0x3000;
1510
1511pub const CLIP_DISTANCE1: u32 = 0x3001;
1512
1513pub const CLIP_DISTANCE2: u32 = 0x3002;
1514
1515pub const CLIP_DISTANCE3: u32 = 0x3003;
1516
1517pub const CLIP_DISTANCE4: u32 = 0x3004;
1518
1519pub const CLIP_DISTANCE5: u32 = 0x3005;
1520
1521pub const CLIP_DISTANCE6: u32 = 0x3006;
1522
1523pub const CLIP_DISTANCE7: u32 = 0x3007;
1524
1525pub const CLIP_ORIGIN: u32 = 0x935C;
1526
1527pub const COLOR: u32 = 0x1800;
1528
1529pub const COLOR_ATTACHMENT0: u32 = 0x8CE0;
1530
1531pub const COLOR_ATTACHMENT1: u32 = 0x8CE1;
1532
1533pub const COLOR_ATTACHMENT10: u32 = 0x8CEA;
1534
1535pub const COLOR_ATTACHMENT11: u32 = 0x8CEB;
1536
1537pub const COLOR_ATTACHMENT12: u32 = 0x8CEC;
1538
1539pub const COLOR_ATTACHMENT13: u32 = 0x8CED;
1540
1541pub const COLOR_ATTACHMENT14: u32 = 0x8CEE;
1542
1543pub const COLOR_ATTACHMENT15: u32 = 0x8CEF;
1544
1545pub const COLOR_ATTACHMENT16: u32 = 0x8CF0;
1546
1547pub const COLOR_ATTACHMENT17: u32 = 0x8CF1;
1548
1549pub const COLOR_ATTACHMENT18: u32 = 0x8CF2;
1550
1551pub const COLOR_ATTACHMENT19: u32 = 0x8CF3;
1552
1553pub const COLOR_ATTACHMENT2: u32 = 0x8CE2;
1554
1555pub const COLOR_ATTACHMENT20: u32 = 0x8CF4;
1556
1557pub const COLOR_ATTACHMENT21: u32 = 0x8CF5;
1558
1559pub const COLOR_ATTACHMENT22: u32 = 0x8CF6;
1560
1561pub const COLOR_ATTACHMENT23: u32 = 0x8CF7;
1562
1563pub const COLOR_ATTACHMENT24: u32 = 0x8CF8;
1564
1565pub const COLOR_ATTACHMENT25: u32 = 0x8CF9;
1566
1567pub const COLOR_ATTACHMENT26: u32 = 0x8CFA;
1568
1569pub const COLOR_ATTACHMENT27: u32 = 0x8CFB;
1570
1571pub const COLOR_ATTACHMENT28: u32 = 0x8CFC;
1572
1573pub const COLOR_ATTACHMENT29: u32 = 0x8CFD;
1574
1575pub const COLOR_ATTACHMENT3: u32 = 0x8CE3;
1576
1577pub const COLOR_ATTACHMENT30: u32 = 0x8CFE;
1578
1579pub const COLOR_ATTACHMENT31: u32 = 0x8CFF;
1580
1581pub const COLOR_ATTACHMENT4: u32 = 0x8CE4;
1582
1583pub const COLOR_ATTACHMENT5: u32 = 0x8CE5;
1584
1585pub const COLOR_ATTACHMENT6: u32 = 0x8CE6;
1586
1587pub const COLOR_ATTACHMENT7: u32 = 0x8CE7;
1588
1589pub const COLOR_ATTACHMENT8: u32 = 0x8CE8;
1590
1591pub const COLOR_ATTACHMENT9: u32 = 0x8CE9;
1592
1593pub const COLOR_BUFFER_BIT: u32 = 0x00004000;
1594
1595pub const COLOR_CLEAR_VALUE: u32 = 0x0C22;
1596
1597pub const COLOR_COMPONENTS: u32 = 0x8283;
1598
1599pub const COLOR_ENCODING: u32 = 0x8296;
1600
1601pub const COLOR_LOGIC_OP: u32 = 0x0BF2;
1602
1603pub const COLOR_RENDERABLE: u32 = 0x8286;
1604
1605pub const COLOR_WRITEMASK: u32 = 0x0C23;
1606
1607pub const COMMAND_BARRIER_BIT: u32 = 0x00000040;
1608
1609pub const COMPARE_REF_TO_TEXTURE: u32 = 0x884E;
1610
1611pub const COMPATIBLE_SUBROUTINES: u32 = 0x8E4B;
1612
1613pub const COMPILE_STATUS: u32 = 0x8B81;
1614
1615pub const COMPLETION_STATUS: u32 = 0x91B1;
1616
1617pub const COMPRESSED_R11_EAC: u32 = 0x9270;
1618
1619pub const COMPRESSED_RED: u32 = 0x8225;
1620
1621pub const COMPRESSED_RED_RGTC1: u32 = 0x8DBB;
1622
1623pub const COMPRESSED_RG: u32 = 0x8226;
1624
1625pub const COMPRESSED_RG11_EAC: u32 = 0x9272;
1626
1627pub const COMPRESSED_RGB: u32 = 0x84ED;
1628
1629pub const COMPRESSED_RGB8_ETC2: u32 = 0x9274;
1630
1631pub const COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 0x9276;
1632
1633pub const COMPRESSED_RGBA: u32 = 0x84EE;
1634
1635pub const COMPRESSED_RGBA8_ETC2_EAC: u32 = 0x9278;
1636
1637pub const COMPRESSED_RGBA_BPTC_UNORM: u32 = 0x8E8C;
1638
1639pub const COMPRESSED_RGB_BPTC_SIGNED_FLOAT: u32 = 0x8E8E;
1640
1641pub const COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT: u32 = 0x8E8F;
1642
1643pub const COMPRESSED_RG_RGTC2: u32 = 0x8DBD;
1644
1645pub const COMPRESSED_SIGNED_R11_EAC: u32 = 0x9271;
1646
1647pub const COMPRESSED_SIGNED_RED_RGTC1: u32 = 0x8DBC;
1648
1649pub const COMPRESSED_SIGNED_RG11_EAC: u32 = 0x9273;
1650
1651pub const COMPRESSED_SIGNED_RG_RGTC2: u32 = 0x8DBE;
1652
1653pub const COMPRESSED_SRGB: u32 = 0x8C48;
1654
1655pub const COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: u32 = 0x9279;
1656
1657pub const COMPRESSED_SRGB8_ETC2: u32 = 0x9275;
1658
1659pub const COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 0x9277;
1660
1661pub const COMPRESSED_SRGB_ALPHA: u32 = 0x8C49;
1662
1663pub const COMPRESSED_SRGB_ALPHA_BPTC_UNORM: u32 = 0x8E8D;
1664
1665pub const COMPRESSED_RGB_S3TC_DXT1_EXT: u32 = 0x83F0;
1666
1667pub const COMPRESSED_RGBA_S3TC_DXT1_EXT: u32 = 0x83F1;
1668
1669pub const COMPRESSED_RGBA_S3TC_DXT3_EXT: u32 = 0x83F2;
1670
1671pub const COMPRESSED_RGBA_S3TC_DXT5_EXT: u32 = 0x83F3;
1672
1673pub const COMPRESSED_SRGB_S3TC_DXT1_EXT: u32 = 0x8C4C;
1674
1675pub const COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: u32 = 0x8C4D;
1676
1677pub const COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: u32 = 0x8C4E;
1678
1679pub const COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: u32 = 0x8C4F;
1680
1681pub const COMPRESSED_RGBA_ASTC_4x4_KHR: u32 = 0x93B0;
1682
1683pub const COMPRESSED_RGBA_ASTC_5x4_KHR: u32 = 0x93B1;
1684
1685pub const COMPRESSED_RGBA_ASTC_5x5_KHR: u32 = 0x93B2;
1686
1687pub const COMPRESSED_RGBA_ASTC_6x5_KHR: u32 = 0x93B3;
1688
1689pub const COMPRESSED_RGBA_ASTC_6x6_KHR: u32 = 0x93B4;
1690
1691pub const COMPRESSED_RGBA_ASTC_8x5_KHR: u32 = 0x93B5;
1692
1693pub const COMPRESSED_RGBA_ASTC_8x6_KHR: u32 = 0x93B6;
1694
1695pub const COMPRESSED_RGBA_ASTC_8x8_KHR: u32 = 0x93B7;
1696
1697pub const COMPRESSED_RGBA_ASTC_10x5_KHR: u32 = 0x93B8;
1698
1699pub const COMPRESSED_RGBA_ASTC_10x6_KHR: u32 = 0x93B9;
1700
1701pub const COMPRESSED_RGBA_ASTC_10x8_KHR: u32 = 0x93BA;
1702
1703pub const COMPRESSED_RGBA_ASTC_10x10_KHR: u32 = 0x93BB;
1704
1705pub const COMPRESSED_RGBA_ASTC_12x10_KHR: u32 = 0x93BC;
1706
1707pub const COMPRESSED_RGBA_ASTC_12x12_KHR: u32 = 0x93BD;
1708
1709pub const COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: u32 = 0x93D0;
1710
1711pub const COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: u32 = 0x93D1;
1712
1713pub const COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: u32 = 0x93D2;
1714
1715pub const COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: u32 = 0x93D3;
1716
1717pub const COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: u32 = 0x93D4;
1718
1719pub const COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: u32 = 0x93D5;
1720
1721pub const COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: u32 = 0x93D6;
1722
1723pub const COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: u32 = 0x93D7;
1724
1725pub const COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: u32 = 0x93D8;
1726
1727pub const COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: u32 = 0x93D9;
1728
1729pub const COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: u32 = 0x93DA;
1730
1731pub const COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: u32 = 0x93DB;
1732
1733pub const COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: u32 = 0x93DC;
1734
1735pub const COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: u32 = 0x93DD;
1736
1737pub const COMPRESSED_TEXTURE_FORMATS: u32 = 0x86A3;
1738
1739pub const COMPUTE_SHADER: u32 = 0x91B9;
1740
1741pub const COMPUTE_SHADER_BIT: u32 = 0x00000020;
1742
1743pub const COMPUTE_SHADER_INVOCATIONS: u32 = 0x82F5;
1744
1745pub const COMPUTE_SUBROUTINE: u32 = 0x92ED;
1746
1747pub const COMPUTE_SUBROUTINE_UNIFORM: u32 = 0x92F3;
1748
1749pub const COMPUTE_TEXTURE: u32 = 0x82A0;
1750
1751pub const COMPUTE_WORK_GROUP_SIZE: u32 = 0x8267;
1752
1753pub const CONDITION_SATISFIED: u32 = 0x911C;
1754
1755pub const CONSTANT_ALPHA: u32 = 0x8003;
1756
1757pub const CONSTANT_COLOR: u32 = 0x8001;
1758
1759pub const CONTEXT_COMPATIBILITY_PROFILE_BIT: u32 = 0x00000002;
1760
1761pub const CONTEXT_CORE_PROFILE_BIT: u32 = 0x00000001;
1762
1763pub const CONTEXT_FLAGS: u32 = 0x821E;
1764
1765pub const CONTEXT_FLAG_DEBUG_BIT: u32 = 0x00000002;
1766
1767pub const CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT: u32 = 0x00000001;
1768
1769pub const CONTEXT_FLAG_NO_ERROR_BIT: u32 = 0x00000008;
1770
1771pub const CONTEXT_FLAG_ROBUST_ACCESS_BIT: u32 = 0x00000004;
1772
1773pub const CONTEXT_LOST: u32 = 0x0507;
1774
1775pub const CONTEXT_PROFILE_MASK: u32 = 0x9126;
1776
1777pub const CONTEXT_RELEASE_BEHAVIOR: u32 = 0x82FB;
1778
1779pub const CONTEXT_RELEASE_BEHAVIOR_FLUSH: u32 = 0x82FC;
1780
1781pub const COPY: u32 = 0x1503;
1782
1783pub const COPY_INVERTED: u32 = 0x150C;
1784
1785pub const COPY_READ_BUFFER: u32 = 0x8F36;
1786
1787pub const COPY_READ_BUFFER_BINDING: u32 = 0x8F36;
1788
1789pub const COPY_WRITE_BUFFER: u32 = 0x8F37;
1790
1791pub const COPY_WRITE_BUFFER_BINDING: u32 = 0x8F37;
1792
1793pub const CULL_FACE: u32 = 0x0B44;
1794
1795pub const CULL_FACE_MODE: u32 = 0x0B45;
1796
1797pub const CURRENT_PROGRAM: u32 = 0x8B8D;
1798
1799pub const CURRENT_QUERY: u32 = 0x8865;
1800
1801pub const CURRENT_VERTEX_ATTRIB: u32 = 0x8626;
1802
1803pub const CW: u32 = 0x0900;
1804
1805pub const DEBUG_CALLBACK_FUNCTION: u32 = 0x8244;
1806
1807pub const DEBUG_CALLBACK_USER_PARAM: u32 = 0x8245;
1808
1809pub const DEBUG_GROUP_STACK_DEPTH: u32 = 0x826D;
1810
1811pub const DEBUG_LOGGED_MESSAGES: u32 = 0x9145;
1812
1813pub const DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: u32 = 0x8243;
1814
1815pub const DEBUG_OUTPUT: u32 = 0x92E0;
1816
1817pub const DEBUG_OUTPUT_SYNCHRONOUS: u32 = 0x8242;
1818
1819pub const DEBUG_SEVERITY_HIGH: u32 = 0x9146;
1820
1821pub const DEBUG_SEVERITY_LOW: u32 = 0x9148;
1822
1823pub const DEBUG_SEVERITY_MEDIUM: u32 = 0x9147;
1824
1825pub const DEBUG_SEVERITY_NOTIFICATION: u32 = 0x826B;
1826
1827pub const DEBUG_SOURCE_API: u32 = 0x8246;
1828
1829pub const DEBUG_SOURCE_APPLICATION: u32 = 0x824A;
1830
1831pub const DEBUG_SOURCE_OTHER: u32 = 0x824B;
1832
1833pub const DEBUG_SOURCE_SHADER_COMPILER: u32 = 0x8248;
1834
1835pub const DEBUG_SOURCE_THIRD_PARTY: u32 = 0x8249;
1836
1837pub const DEBUG_SOURCE_WINDOW_SYSTEM: u32 = 0x8247;
1838
1839pub const DEBUG_TYPE_DEPRECATED_BEHAVIOR: u32 = 0x824D;
1840
1841pub const DEBUG_TYPE_ERROR: u32 = 0x824C;
1842
1843pub const DEBUG_TYPE_MARKER: u32 = 0x8268;
1844
1845pub const DEBUG_TYPE_OTHER: u32 = 0x8251;
1846
1847pub const DEBUG_TYPE_PERFORMANCE: u32 = 0x8250;
1848
1849pub const DEBUG_TYPE_POP_GROUP: u32 = 0x826A;
1850
1851pub const DEBUG_TYPE_PORTABILITY: u32 = 0x824F;
1852
1853pub const DEBUG_TYPE_PUSH_GROUP: u32 = 0x8269;
1854
1855pub const DEBUG_TYPE_UNDEFINED_BEHAVIOR: u32 = 0x824E;
1856
1857pub const DECR: u32 = 0x1E03;
1858
1859pub const DECR_WRAP: u32 = 0x8508;
1860
1861pub const DELETE_STATUS: u32 = 0x8B80;
1862
1863pub const DEPTH: u32 = 0x1801;
1864
1865pub const DEPTH24_STENCIL8: u32 = 0x88F0;
1866
1867pub const DEPTH32F_STENCIL8: u32 = 0x8CAD;
1868
1869pub const DEPTH_ATTACHMENT: u32 = 0x8D00;
1870
1871pub const DEPTH_BUFFER_BIT: u32 = 0x00000100;
1872
1873pub const DEPTH_CLAMP: u32 = 0x864F;
1874
1875pub const DEPTH_CLEAR_VALUE: u32 = 0x0B73;
1876
1877pub const DEPTH_COMPONENT: u32 = 0x1902;
1878
1879pub const DEPTH_COMPONENT16: u32 = 0x81A5;
1880
1881pub const DEPTH_COMPONENT24: u32 = 0x81A6;
1882
1883pub const DEPTH_COMPONENT32: u32 = 0x81A7;
1884
1885pub const DEPTH_COMPONENT32F: u32 = 0x8CAC;
1886
1887pub const DEPTH_COMPONENTS: u32 = 0x8284;
1888
1889pub const DEPTH_FUNC: u32 = 0x0B74;
1890
1891pub const DEPTH_RANGE: u32 = 0x0B70;
1892
1893pub const DEPTH_RENDERABLE: u32 = 0x8287;
1894
1895pub const DEPTH_STENCIL: u32 = 0x84F9;
1896
1897pub const DEPTH_STENCIL_ATTACHMENT: u32 = 0x821A;
1898
1899pub const DEPTH_STENCIL_TEXTURE_MODE: u32 = 0x90EA;
1900
1901pub const DEPTH_TEST: u32 = 0x0B71;
1902
1903pub const DEPTH_WRITEMASK: u32 = 0x0B72;
1904
1905pub const DISPATCH_INDIRECT_BUFFER: u32 = 0x90EE;
1906
1907pub const DISPATCH_INDIRECT_BUFFER_BINDING: u32 = 0x90EF;
1908
1909pub const DISPLAY_LIST: u32 = 0x82E7;
1910
1911pub const DITHER: u32 = 0x0BD0;
1912
1913pub const DONT_CARE: u32 = 0x1100;
1914
1915pub const DOUBLE: u32 = 0x140A;
1916
1917pub const DOUBLEBUFFER: u32 = 0x0C32;
1918
1919pub const DOUBLE_MAT2: u32 = 0x8F46;
1920
1921pub const DOUBLE_MAT2x3: u32 = 0x8F49;
1922
1923pub const DOUBLE_MAT2x4: u32 = 0x8F4A;
1924
1925pub const DOUBLE_MAT3: u32 = 0x8F47;
1926
1927pub const DOUBLE_MAT3x2: u32 = 0x8F4B;
1928
1929pub const DOUBLE_MAT3x4: u32 = 0x8F4C;
1930
1931pub const DOUBLE_MAT4: u32 = 0x8F48;
1932
1933pub const DOUBLE_MAT4x2: u32 = 0x8F4D;
1934
1935pub const DOUBLE_MAT4x3: u32 = 0x8F4E;
1936
1937pub const DOUBLE_VEC2: u32 = 0x8FFC;
1938
1939pub const DOUBLE_VEC3: u32 = 0x8FFD;
1940
1941pub const DOUBLE_VEC4: u32 = 0x8FFE;
1942
1943pub const DRAW_BUFFER: u32 = 0x0C01;
1944
1945pub const DRAW_BUFFER0: u32 = 0x8825;
1946
1947pub const DRAW_BUFFER1: u32 = 0x8826;
1948
1949pub const DRAW_BUFFER10: u32 = 0x882F;
1950
1951pub const DRAW_BUFFER11: u32 = 0x8830;
1952
1953pub const DRAW_BUFFER12: u32 = 0x8831;
1954
1955pub const DRAW_BUFFER13: u32 = 0x8832;
1956
1957pub const DRAW_BUFFER14: u32 = 0x8833;
1958
1959pub const DRAW_BUFFER15: u32 = 0x8834;
1960
1961pub const DRAW_BUFFER2: u32 = 0x8827;
1962
1963pub const DRAW_BUFFER3: u32 = 0x8828;
1964
1965pub const DRAW_BUFFER4: u32 = 0x8829;
1966
1967pub const DRAW_BUFFER5: u32 = 0x882A;
1968
1969pub const DRAW_BUFFER6: u32 = 0x882B;
1970
1971pub const DRAW_BUFFER7: u32 = 0x882C;
1972
1973pub const DRAW_BUFFER8: u32 = 0x882D;
1974
1975pub const DRAW_BUFFER9: u32 = 0x882E;
1976
1977pub const DRAW_FRAMEBUFFER: u32 = 0x8CA9;
1978
1979pub const DRAW_FRAMEBUFFER_BINDING: u32 = 0x8CA6;
1980
1981pub const DRAW_INDIRECT_BUFFER: u32 = 0x8F3F;
1982
1983pub const DRAW_INDIRECT_BUFFER_BINDING: u32 = 0x8F43;
1984
1985pub const DST_ALPHA: u32 = 0x0304;
1986
1987pub const DST_COLOR: u32 = 0x0306;
1988
1989pub const DYNAMIC_COPY: u32 = 0x88EA;
1990
1991pub const DYNAMIC_DRAW: u32 = 0x88E8;
1992
1993pub const DYNAMIC_READ: u32 = 0x88E9;
1994
1995pub const DYNAMIC_STORAGE_BIT: u32 = 0x0100;
1996
1997pub const ELEMENT_ARRAY_BARRIER_BIT: u32 = 0x00000002;
1998
1999pub const ELEMENT_ARRAY_BUFFER: u32 = 0x8893;
2000
2001pub const ELEMENT_ARRAY_BUFFER_BINDING: u32 = 0x8895;
2002
2003pub const EQUAL: u32 = 0x0202;
2004
2005pub const EQUIV: u32 = 0x1509;
2006
2007pub const EXTENSIONS: u32 = 0x1F03;
2008
2009pub const FALSE: u8 = 0;
2010
2011pub const FASTEST: u32 = 0x1101;
2012
2013pub const FILL: u32 = 0x1B02;
2014
2015pub const FILTER: u32 = 0x829A;
2016
2017pub const FIRST_VERTEX_CONVENTION: u32 = 0x8E4D;
2018
2019pub const FIXED: u32 = 0x140C;
2020
2021pub const FIXED_ONLY: u32 = 0x891D;
2022
2023pub const FLOAT: u32 = 0x1406;
2024
2025pub const FLOAT_32_UNSIGNED_INT_24_8_REV: u32 = 0x8DAD;
2026
2027pub const FLOAT_MAT2: u32 = 0x8B5A;
2028
2029pub const FLOAT_MAT2x3: u32 = 0x8B65;
2030
2031pub const FLOAT_MAT2x4: u32 = 0x8B66;
2032
2033pub const FLOAT_MAT3: u32 = 0x8B5B;
2034
2035pub const FLOAT_MAT3x2: u32 = 0x8B67;
2036
2037pub const FLOAT_MAT3x4: u32 = 0x8B68;
2038
2039pub const FLOAT_MAT4: u32 = 0x8B5C;
2040
2041pub const FLOAT_MAT4x2: u32 = 0x8B69;
2042
2043pub const FLOAT_MAT4x3: u32 = 0x8B6A;
2044
2045pub const FLOAT_VEC2: u32 = 0x8B50;
2046
2047pub const FLOAT_VEC3: u32 = 0x8B51;
2048
2049pub const FLOAT_VEC4: u32 = 0x8B52;
2050
2051pub const FRACTIONAL_EVEN: u32 = 0x8E7C;
2052
2053pub const FRACTIONAL_ODD: u32 = 0x8E7B;
2054
2055pub const FRAGMENT_INTERPOLATION_OFFSET_BITS: u32 = 0x8E5D;
2056
2057pub const FRAGMENT_SHADER: u32 = 0x8B30;
2058
2059pub const FRAGMENT_SHADER_BIT: u32 = 0x00000002;
2060
2061pub const FRAGMENT_SHADER_DERIVATIVE_HINT: u32 = 0x8B8B;
2062
2063pub const FRAGMENT_SHADER_INVOCATIONS: u32 = 0x82F4;
2064
2065pub const FRAGMENT_SUBROUTINE: u32 = 0x92EC;
2066
2067pub const FRAGMENT_SUBROUTINE_UNIFORM: u32 = 0x92F2;
2068
2069pub const FRAGMENT_TEXTURE: u32 = 0x829F;
2070
2071pub const FRAMEBUFFER: u32 = 0x8D40;
2072
2073pub const FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: u32 = 0x8215;
2074
2075pub const FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: u32 = 0x8214;
2076
2077pub const FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: u32 = 0x8210;
2078
2079pub const FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: u32 = 0x8211;
2080
2081pub const FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: u32 = 0x8216;
2082
2083pub const FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: u32 = 0x8213;
2084
2085pub const FRAMEBUFFER_ATTACHMENT_LAYERED: u32 = 0x8DA7;
2086
2087pub const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: u32 = 0x8CD1;
2088
2089pub const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: u32 = 0x8CD0;
2090
2091pub const FRAMEBUFFER_ATTACHMENT_RED_SIZE: u32 = 0x8212;
2092
2093pub const FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: u32 = 0x8217;
2094
2095pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: u32 = 0x8CD3;
2096
2097pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: u32 = 0x8CD4;
2098
2099pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: u32 = 0x8CD2;
2100
2101pub const FRAMEBUFFER_BARRIER_BIT: u32 = 0x00000400;
2102
2103pub const FRAMEBUFFER_BINDING: u32 = 0x8CA6;
2104
2105pub const FRAMEBUFFER_BLEND: u32 = 0x828B;
2106
2107pub const FRAMEBUFFER_COMPLETE: u32 = 0x8CD5;
2108
2109pub const FRAMEBUFFER_DEFAULT: u32 = 0x8218;
2110
2111pub const FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: u32 = 0x9314;
2112
2113pub const FRAMEBUFFER_DEFAULT_HEIGHT: u32 = 0x9311;
2114
2115pub const FRAMEBUFFER_DEFAULT_LAYERS: u32 = 0x9312;
2116
2117pub const FRAMEBUFFER_DEFAULT_SAMPLES: u32 = 0x9313;
2118
2119pub const FRAMEBUFFER_DEFAULT_WIDTH: u32 = 0x9310;
2120
2121pub const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: u32 = 0x8CD6;
2122
2123pub const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: u32 = 0x8CD9;
2124
2125pub const FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: u32 = 0x8CDB;
2126
2127pub const FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: u32 = 0x8DA8;
2128
2129pub const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: u32 = 0x8CD7;
2130
2131pub const FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: u32 = 0x8D56;
2132
2133pub const FRAMEBUFFER_INCOMPLETE_READ_BUFFER: u32 = 0x8CDC;
2134
2135pub const FRAMEBUFFER_RENDERABLE: u32 = 0x8289;
2136
2137pub const FRAMEBUFFER_RENDERABLE_LAYERED: u32 = 0x828A;
2138
2139pub const FRAMEBUFFER_SRGB: u32 = 0x8DB9;
2140
2141pub const FRAMEBUFFER_UNDEFINED: u32 = 0x8219;
2142
2143pub const FRAMEBUFFER_UNSUPPORTED: u32 = 0x8CDD;
2144
2145pub const FRONT: u32 = 0x0404;
2146
2147pub const FRONT_AND_BACK: u32 = 0x0408;
2148
2149pub const FRONT_FACE: u32 = 0x0B46;
2150
2151pub const FRONT_LEFT: u32 = 0x0400;
2152
2153pub const FRONT_RIGHT: u32 = 0x0401;
2154
2155pub const FULL_SUPPORT: u32 = 0x82B7;
2156
2157pub const FUNC_ADD: u32 = 0x8006;
2158
2159pub const FUNC_REVERSE_SUBTRACT: u32 = 0x800B;
2160
2161pub const FUNC_SUBTRACT: u32 = 0x800A;
2162
2163pub const GEOMETRY_INPUT_TYPE: u32 = 0x8917;
2164
2165pub const GEOMETRY_OUTPUT_TYPE: u32 = 0x8918;
2166
2167pub const GEOMETRY_SHADER: u32 = 0x8DD9;
2168
2169pub const GEOMETRY_SHADER_BIT: u32 = 0x00000004;
2170
2171pub const GEOMETRY_SHADER_INVOCATIONS: u32 = 0x887F;
2172
2173pub const GEOMETRY_SHADER_PRIMITIVES_EMITTED: u32 = 0x82F3;
2174
2175pub const GEOMETRY_SUBROUTINE: u32 = 0x92EB;
2176
2177pub const GEOMETRY_SUBROUTINE_UNIFORM: u32 = 0x92F1;
2178
2179pub const GEOMETRY_TEXTURE: u32 = 0x829E;
2180
2181pub const GEOMETRY_VERTICES_OUT: u32 = 0x8916;
2182
2183pub const GEQUAL: u32 = 0x0206;
2184
2185pub const GET_TEXTURE_IMAGE_FORMAT: u32 = 0x8291;
2186
2187pub const GET_TEXTURE_IMAGE_TYPE: u32 = 0x8292;
2188
2189pub const GREATER: u32 = 0x0204;
2190
2191pub const GREEN: u32 = 0x1904;
2192
2193pub const GREEN_INTEGER: u32 = 0x8D95;
2194
2195pub const GUILTY_CONTEXT_RESET: u32 = 0x8253;
2196
2197pub const HALF_FLOAT: u32 = 0x140B;
2198
2199pub const HIGH_FLOAT: u32 = 0x8DF2;
2200
2201pub const HIGH_INT: u32 = 0x8DF5;
2202
2203pub const IMAGE_1D: u32 = 0x904C;
2204
2205pub const IMAGE_1D_ARRAY: u32 = 0x9052;
2206
2207pub const IMAGE_2D: u32 = 0x904D;
2208
2209pub const IMAGE_2D_ARRAY: u32 = 0x9053;
2210
2211pub const IMAGE_2D_MULTISAMPLE: u32 = 0x9055;
2212
2213pub const IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 0x9056;
2214
2215pub const IMAGE_2D_RECT: u32 = 0x904F;
2216
2217pub const IMAGE_3D: u32 = 0x904E;
2218
2219pub const IMAGE_BINDING_ACCESS: u32 = 0x8F3E;
2220
2221pub const IMAGE_BINDING_FORMAT: u32 = 0x906E;
2222
2223pub const IMAGE_BINDING_LAYER: u32 = 0x8F3D;
2224
2225pub const IMAGE_BINDING_LAYERED: u32 = 0x8F3C;
2226
2227pub const IMAGE_BINDING_LEVEL: u32 = 0x8F3B;
2228
2229pub const IMAGE_BINDING_NAME: u32 = 0x8F3A;
2230
2231pub const IMAGE_BUFFER: u32 = 0x9051;
2232
2233pub const IMAGE_CLASS_10_10_10_2: u32 = 0x82C3;
2234
2235pub const IMAGE_CLASS_11_11_10: u32 = 0x82C2;
2236
2237pub const IMAGE_CLASS_1_X_16: u32 = 0x82BE;
2238
2239pub const IMAGE_CLASS_1_X_32: u32 = 0x82BB;
2240
2241pub const IMAGE_CLASS_1_X_8: u32 = 0x82C1;
2242
2243pub const IMAGE_CLASS_2_X_16: u32 = 0x82BD;
2244
2245pub const IMAGE_CLASS_2_X_32: u32 = 0x82BA;
2246
2247pub const IMAGE_CLASS_2_X_8: u32 = 0x82C0;
2248
2249pub const IMAGE_CLASS_4_X_16: u32 = 0x82BC;
2250
2251pub const IMAGE_CLASS_4_X_32: u32 = 0x82B9;
2252
2253pub const IMAGE_CLASS_4_X_8: u32 = 0x82BF;
2254
2255pub const IMAGE_COMPATIBILITY_CLASS: u32 = 0x82A8;
2256
2257pub const IMAGE_CUBE: u32 = 0x9050;
2258
2259pub const IMAGE_CUBE_MAP_ARRAY: u32 = 0x9054;
2260
2261pub const IMAGE_FORMAT_COMPATIBILITY_BY_CLASS: u32 = 0x90C9;
2262
2263pub const IMAGE_FORMAT_COMPATIBILITY_BY_SIZE: u32 = 0x90C8;
2264
2265pub const IMAGE_FORMAT_COMPATIBILITY_TYPE: u32 = 0x90C7;
2266
2267pub const IMAGE_PIXEL_FORMAT: u32 = 0x82A9;
2268
2269pub const IMAGE_PIXEL_TYPE: u32 = 0x82AA;
2270
2271pub const IMAGE_TEXEL_SIZE: u32 = 0x82A7;
2272
2273pub const IMPLEMENTATION_COLOR_READ_FORMAT: u32 = 0x8B9B;
2274
2275pub const IMPLEMENTATION_COLOR_READ_TYPE: u32 = 0x8B9A;
2276
2277pub const INCR: u32 = 0x1E02;
2278
2279pub const INCR_WRAP: u32 = 0x8507;
2280
2281pub const INDEX: u32 = 0x8222;
2282
2283pub const INFO_LOG_LENGTH: u32 = 0x8B84;
2284
2285pub const INNOCENT_CONTEXT_RESET: u32 = 0x8254;
2286
2287pub const INT: u32 = 0x1404;
2288
2289pub const INTERLEAVED_ATTRIBS: u32 = 0x8C8C;
2290
2291pub const INTERNALFORMAT_ALPHA_SIZE: u32 = 0x8274;
2292
2293pub const INTERNALFORMAT_ALPHA_TYPE: u32 = 0x827B;
2294
2295pub const INTERNALFORMAT_BLUE_SIZE: u32 = 0x8273;
2296
2297pub const INTERNALFORMAT_BLUE_TYPE: u32 = 0x827A;
2298
2299pub const INTERNALFORMAT_DEPTH_SIZE: u32 = 0x8275;
2300
2301pub const INTERNALFORMAT_DEPTH_TYPE: u32 = 0x827C;
2302
2303pub const INTERNALFORMAT_GREEN_SIZE: u32 = 0x8272;
2304
2305pub const INTERNALFORMAT_GREEN_TYPE: u32 = 0x8279;
2306
2307pub const INTERNALFORMAT_PREFERRED: u32 = 0x8270;
2308
2309pub const INTERNALFORMAT_RED_SIZE: u32 = 0x8271;
2310
2311pub const INTERNALFORMAT_RED_TYPE: u32 = 0x8278;
2312
2313pub const INTERNALFORMAT_SHARED_SIZE: u32 = 0x8277;
2314
2315pub const INTERNALFORMAT_STENCIL_SIZE: u32 = 0x8276;
2316
2317pub const INTERNALFORMAT_STENCIL_TYPE: u32 = 0x827D;
2318
2319pub const INTERNALFORMAT_SUPPORTED: u32 = 0x826F;
2320
2321pub const INT_2_10_10_10_REV: u32 = 0x8D9F;
2322
2323pub const INT_IMAGE_1D: u32 = 0x9057;
2324
2325pub const INT_IMAGE_1D_ARRAY: u32 = 0x905D;
2326
2327pub const INT_IMAGE_2D: u32 = 0x9058;
2328
2329pub const INT_IMAGE_2D_ARRAY: u32 = 0x905E;
2330
2331pub const INT_IMAGE_2D_MULTISAMPLE: u32 = 0x9060;
2332
2333pub const INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 0x9061;
2334
2335pub const INT_IMAGE_2D_RECT: u32 = 0x905A;
2336
2337pub const INT_IMAGE_3D: u32 = 0x9059;
2338
2339pub const INT_IMAGE_BUFFER: u32 = 0x905C;
2340
2341pub const INT_IMAGE_CUBE: u32 = 0x905B;
2342
2343pub const INT_IMAGE_CUBE_MAP_ARRAY: u32 = 0x905F;
2344
2345pub const INT_SAMPLER_1D: u32 = 0x8DC9;
2346
2347pub const INT_SAMPLER_1D_ARRAY: u32 = 0x8DCE;
2348
2349pub const INT_SAMPLER_2D: u32 = 0x8DCA;
2350
2351pub const INT_SAMPLER_2D_ARRAY: u32 = 0x8DCF;
2352
2353pub const INT_SAMPLER_2D_MULTISAMPLE: u32 = 0x9109;
2354
2355pub const INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 0x910C;
2356
2357pub const INT_SAMPLER_2D_RECT: u32 = 0x8DCD;
2358
2359pub const INT_SAMPLER_3D: u32 = 0x8DCB;
2360
2361pub const INT_SAMPLER_BUFFER: u32 = 0x8DD0;
2362
2363pub const INT_SAMPLER_CUBE: u32 = 0x8DCC;
2364
2365pub const INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 0x900E;
2366
2367pub const INT_VEC2: u32 = 0x8B53;
2368
2369pub const INT_VEC3: u32 = 0x8B54;
2370
2371pub const INT_VEC4: u32 = 0x8B55;
2372
2373pub const INVALID_ENUM: u32 = 0x0500;
2374
2375pub const INVALID_FRAMEBUFFER_OPERATION: u32 = 0x0506;
2376
2377pub const INVALID_INDEX: u32 = 0xFFFFFFFF;
2378
2379pub const INVALID_OPERATION: u32 = 0x0502;
2380
2381pub const INVALID_VALUE: u32 = 0x0501;
2382
2383pub const INVERT: u32 = 0x150A;
2384
2385pub const ISOLINES: u32 = 0x8E7A;
2386
2387pub const IS_PER_PATCH: u32 = 0x92E7;
2388
2389pub const IS_ROW_MAJOR: u32 = 0x9300;
2390
2391pub const KEEP: u32 = 0x1E00;
2392
2393pub const LAST_VERTEX_CONVENTION: u32 = 0x8E4E;
2394
2395pub const LAYER_PROVOKING_VERTEX: u32 = 0x825E;
2396
2397pub const LEFT: u32 = 0x0406;
2398
2399pub const LEQUAL: u32 = 0x0203;
2400
2401pub const LESS: u32 = 0x0201;
2402
2403pub const LINE: u32 = 0x1B01;
2404
2405pub const LINEAR: u32 = 0x2601;
2406
2407pub const LINEAR_MIPMAP_LINEAR: u32 = 0x2703;
2408
2409pub const LINEAR_MIPMAP_NEAREST: u32 = 0x2701;
2410
2411pub const LINES: u32 = 0x0001;
2412
2413pub const LINES_ADJACENCY: u32 = 0x000A;
2414
2415pub const LINE_LOOP: u32 = 0x0002;
2416
2417pub const LINE_SMOOTH: u32 = 0x0B20;
2418
2419pub const LINE_SMOOTH_HINT: u32 = 0x0C52;
2420
2421pub const LINE_STRIP: u32 = 0x0003;
2422
2423pub const LINE_STRIP_ADJACENCY: u32 = 0x000B;
2424
2425pub const LINE_WIDTH: u32 = 0x0B21;
2426
2427pub const LINE_WIDTH_GRANULARITY: u32 = 0x0B23;
2428
2429pub const LINE_WIDTH_RANGE: u32 = 0x0B22;
2430
2431pub const LINK_STATUS: u32 = 0x8B82;
2432
2433pub const LOCATION: u32 = 0x930E;
2434
2435pub const LOCATION_COMPONENT: u32 = 0x934A;
2436
2437pub const LOCATION_INDEX: u32 = 0x930F;
2438
2439pub const LOGIC_OP_MODE: u32 = 0x0BF0;
2440
2441pub const LOSE_CONTEXT_ON_RESET: u32 = 0x8252;
2442
2443pub const LOWER_LEFT: u32 = 0x8CA1;
2444
2445pub const LOW_FLOAT: u32 = 0x8DF0;
2446
2447pub const LOW_INT: u32 = 0x8DF3;
2448
2449pub const LUMINANCE: u32 = 0x1909;
2450
2451pub const LUMINANCE_ALPHA: u32 = 0x190A;
2452
2453pub const MAJOR_VERSION: u32 = 0x821B;
2454
2455pub const MANUAL_GENERATE_MIPMAP: u32 = 0x8294;
2456
2457pub const MAP_COHERENT_BIT: u32 = 0x0080;
2458
2459pub const MAP_FLUSH_EXPLICIT_BIT: u32 = 0x0010;
2460
2461pub const MAP_INVALIDATE_BUFFER_BIT: u32 = 0x0008;
2462
2463pub const MAP_INVALIDATE_RANGE_BIT: u32 = 0x0004;
2464
2465pub const MAP_PERSISTENT_BIT: u32 = 0x0040;
2466
2467pub const MAP_READ_BIT: u32 = 0x0001;
2468
2469pub const MAP_UNSYNCHRONIZED_BIT: u32 = 0x0020;
2470
2471pub const MAP_WRITE_BIT: u32 = 0x0002;
2472
2473pub const MATRIX_STRIDE: u32 = 0x92FF;
2474
2475pub const MAX: u32 = 0x8008;
2476
2477pub const MAX_3D_TEXTURE_SIZE: u32 = 0x8073;
2478
2479pub const MAX_ARRAY_TEXTURE_LAYERS: u32 = 0x88FF;
2480
2481pub const MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: u32 = 0x92DC;
2482
2483pub const MAX_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 0x92D8;
2484
2485pub const MAX_CLIP_DISTANCES: u32 = 0x0D32;
2486
2487pub const MAX_COLOR_ATTACHMENTS: u32 = 0x8CDF;
2488
2489pub const MAX_COLOR_TEXTURE_SAMPLES: u32 = 0x910E;
2490
2491pub const MAX_COMBINED_ATOMIC_COUNTERS: u32 = 0x92D7;
2492
2493pub const MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: u32 = 0x92D1;
2494
2495pub const MAX_COMBINED_CLIP_AND_CULL_DISTANCES: u32 = 0x82FA;
2496
2497pub const MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: u32 = 0x8266;
2498
2499pub const MAX_COMBINED_DIMENSIONS: u32 = 0x8282;
2500
2501pub const MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: u32 = 0x8A33;
2502
2503pub const MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: u32 = 0x8A32;
2504
2505pub const MAX_COMBINED_IMAGE_UNIFORMS: u32 = 0x90CF;
2506
2507pub const MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS: u32 = 0x8F39;
2508
2509pub const MAX_COMBINED_SHADER_OUTPUT_RESOURCES: u32 = 0x8F39;
2510
2511pub const MAX_COMBINED_SHADER_STORAGE_BLOCKS: u32 = 0x90DC;
2512
2513pub const MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 0x8E1E;
2514
2515pub const MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 0x8E1F;
2516
2517pub const MAX_COMBINED_TEXTURE_IMAGE_UNITS: u32 = 0x8B4D;
2518
2519pub const MAX_COMBINED_UNIFORM_BLOCKS: u32 = 0x8A2E;
2520
2521pub const MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: u32 = 0x8A31;
2522
2523pub const MAX_COMPUTE_ATOMIC_COUNTERS: u32 = 0x8265;
2524
2525pub const MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: u32 = 0x8264;
2526
2527pub const MAX_COMPUTE_IMAGE_UNIFORMS: u32 = 0x91BD;
2528
2529pub const MAX_COMPUTE_SHADER_STORAGE_BLOCKS: u32 = 0x90DB;
2530
2531pub const MAX_COMPUTE_SHARED_MEMORY_SIZE: u32 = 0x8262;
2532
2533pub const MAX_COMPUTE_TEXTURE_IMAGE_UNITS: u32 = 0x91BC;
2534
2535pub const MAX_COMPUTE_UNIFORM_BLOCKS: u32 = 0x91BB;
2536
2537pub const MAX_COMPUTE_UNIFORM_COMPONENTS: u32 = 0x8263;
2538
2539pub const MAX_COMPUTE_WORK_GROUP_COUNT: u32 = 0x91BE;
2540
2541pub const MAX_COMPUTE_WORK_GROUP_INVOCATIONS: u32 = 0x90EB;
2542
2543pub const MAX_COMPUTE_WORK_GROUP_SIZE: u32 = 0x91BF;
2544
2545pub const MAX_CUBE_MAP_TEXTURE_SIZE: u32 = 0x851C;
2546
2547pub const MAX_CULL_DISTANCES: u32 = 0x82F9;
2548
2549pub const MAX_DEBUG_GROUP_STACK_DEPTH: u32 = 0x826C;
2550
2551pub const MAX_DEBUG_LOGGED_MESSAGES: u32 = 0x9144;
2552
2553pub const MAX_DEBUG_MESSAGE_LENGTH: u32 = 0x9143;
2554
2555pub const MAX_DEPTH: u32 = 0x8280;
2556
2557pub const MAX_DEPTH_TEXTURE_SAMPLES: u32 = 0x910F;
2558
2559pub const MAX_DRAW_BUFFERS: u32 = 0x8824;
2560
2561pub const MAX_DUAL_SOURCE_DRAW_BUFFERS: u32 = 0x88FC;
2562
2563pub const MAX_ELEMENTS_INDICES: u32 = 0x80E9;
2564
2565pub const MAX_ELEMENTS_VERTICES: u32 = 0x80E8;
2566
2567pub const MAX_ELEMENT_INDEX: u32 = 0x8D6B;
2568
2569pub const MAX_FRAGMENT_ATOMIC_COUNTERS: u32 = 0x92D6;
2570
2571pub const MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: u32 = 0x92D0;
2572
2573pub const MAX_FRAGMENT_IMAGE_UNIFORMS: u32 = 0x90CE;
2574
2575pub const MAX_FRAGMENT_INPUT_COMPONENTS: u32 = 0x9125;
2576
2577pub const MAX_FRAGMENT_INTERPOLATION_OFFSET: u32 = 0x8E5C;
2578
2579pub const MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: u32 = 0x90DA;
2580
2581pub const MAX_FRAGMENT_UNIFORM_BLOCKS: u32 = 0x8A2D;
2582
2583pub const MAX_FRAGMENT_UNIFORM_COMPONENTS: u32 = 0x8B49;
2584
2585pub const MAX_FRAGMENT_UNIFORM_VECTORS: u32 = 0x8DFD;
2586
2587pub const MAX_FRAMEBUFFER_HEIGHT: u32 = 0x9316;
2588
2589pub const MAX_FRAMEBUFFER_LAYERS: u32 = 0x9317;
2590
2591pub const MAX_FRAMEBUFFER_SAMPLES: u32 = 0x9318;
2592
2593pub const MAX_FRAMEBUFFER_WIDTH: u32 = 0x9315;
2594
2595pub const MAX_GEOMETRY_ATOMIC_COUNTERS: u32 = 0x92D5;
2596
2597pub const MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: u32 = 0x92CF;
2598
2599pub const MAX_GEOMETRY_IMAGE_UNIFORMS: u32 = 0x90CD;
2600
2601pub const MAX_GEOMETRY_INPUT_COMPONENTS: u32 = 0x9123;
2602
2603pub const MAX_GEOMETRY_OUTPUT_COMPONENTS: u32 = 0x9124;
2604
2605pub const MAX_GEOMETRY_OUTPUT_VERTICES: u32 = 0x8DE0;
2606
2607pub const MAX_GEOMETRY_SHADER_INVOCATIONS: u32 = 0x8E5A;
2608
2609pub const MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: u32 = 0x90D7;
2610
2611pub const MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: u32 = 0x8C29;
2612
2613pub const MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: u32 = 0x8DE1;
2614
2615pub const MAX_GEOMETRY_UNIFORM_BLOCKS: u32 = 0x8A2C;
2616
2617pub const MAX_GEOMETRY_UNIFORM_COMPONENTS: u32 = 0x8DDF;
2618
2619pub const MAX_HEIGHT: u32 = 0x827F;
2620
2621pub const MAX_IMAGE_SAMPLES: u32 = 0x906D;
2622
2623pub const MAX_IMAGE_UNITS: u32 = 0x8F38;
2624
2625pub const MAX_INTEGER_SAMPLES: u32 = 0x9110;
2626
2627pub const MAX_LABEL_LENGTH: u32 = 0x82E8;
2628
2629pub const MAX_LAYERS: u32 = 0x8281;
2630
2631pub const MAX_NAME_LENGTH: u32 = 0x92F6;
2632
2633pub const MAX_NUM_ACTIVE_VARIABLES: u32 = 0x92F7;
2634
2635pub const MAX_NUM_COMPATIBLE_SUBROUTINES: u32 = 0x92F8;
2636
2637pub const MAX_PATCH_VERTICES: u32 = 0x8E7D;
2638
2639pub const MAX_PROGRAM_TEXEL_OFFSET: u32 = 0x8905;
2640
2641pub const MAX_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 0x8E5F;
2642
2643pub const MAX_RECTANGLE_TEXTURE_SIZE: u32 = 0x84F8;
2644
2645pub const MAX_RENDERBUFFER_SIZE: u32 = 0x84E8;
2646
2647pub const MAX_SAMPLES: u32 = 0x8D57;
2648
2649pub const MAX_SAMPLE_MASK_WORDS: u32 = 0x8E59;
2650
2651pub const MAX_SERVER_WAIT_TIMEOUT: u32 = 0x9111;
2652
2653pub const MAX_SHADER_COMPILER_THREADS: u32 = 0x91B0;
2654
2655pub const MAX_SHADER_STORAGE_BLOCK_SIZE: u32 = 0x90DE;
2656
2657pub const MAX_SHADER_STORAGE_BUFFER_BINDINGS: u32 = 0x90DD;
2658
2659pub const MAX_SUBROUTINES: u32 = 0x8DE7;
2660
2661pub const MAX_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 0x8DE8;
2662
2663pub const MAX_TESS_CONTROL_ATOMIC_COUNTERS: u32 = 0x92D3;
2664
2665pub const MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: u32 = 0x92CD;
2666
2667pub const MAX_TESS_CONTROL_IMAGE_UNIFORMS: u32 = 0x90CB;
2668
2669pub const MAX_TESS_CONTROL_INPUT_COMPONENTS: u32 = 0x886C;
2670
2671pub const MAX_TESS_CONTROL_OUTPUT_COMPONENTS: u32 = 0x8E83;
2672
2673pub const MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: u32 = 0x90D8;
2674
2675pub const MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: u32 = 0x8E81;
2676
2677pub const MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: u32 = 0x8E85;
2678
2679pub const MAX_TESS_CONTROL_UNIFORM_BLOCKS: u32 = 0x8E89;
2680
2681pub const MAX_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 0x8E7F;
2682
2683pub const MAX_TESS_EVALUATION_ATOMIC_COUNTERS: u32 = 0x92D4;
2684
2685pub const MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: u32 = 0x92CE;
2686
2687pub const MAX_TESS_EVALUATION_IMAGE_UNIFORMS: u32 = 0x90CC;
2688
2689pub const MAX_TESS_EVALUATION_INPUT_COMPONENTS: u32 = 0x886D;
2690
2691pub const MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: u32 = 0x8E86;
2692
2693pub const MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: u32 = 0x90D9;
2694
2695pub const MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: u32 = 0x8E82;
2696
2697pub const MAX_TESS_EVALUATION_UNIFORM_BLOCKS: u32 = 0x8E8A;
2698
2699pub const MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 0x8E80;
2700
2701pub const MAX_TESS_GEN_LEVEL: u32 = 0x8E7E;
2702
2703pub const MAX_TESS_PATCH_COMPONENTS: u32 = 0x8E84;
2704
2705pub const MAX_TEXTURE_BUFFER_SIZE: u32 = 0x8C2B;
2706
2707pub const MAX_TEXTURE_IMAGE_UNITS: u32 = 0x8872;
2708
2709pub const MAX_TEXTURE_LOD_BIAS: u32 = 0x84FD;
2710
2711pub const MAX_TEXTURE_MAX_ANISOTROPY: u32 = 0x84FF;
2712
2713pub const MAX_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 0x84FF;
2714
2715pub const MAX_TEXTURE_SIZE: u32 = 0x0D33;
2716
2717pub const MAX_TRANSFORM_FEEDBACK_BUFFERS: u32 = 0x8E70;
2718
2719pub const MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: u32 = 0x8C8A;
2720
2721pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: u32 = 0x8C8B;
2722
2723pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: u32 = 0x8C80;
2724
2725pub const MAX_UNIFORM_BLOCK_SIZE: u32 = 0x8A30;
2726
2727pub const MAX_UNIFORM_BUFFER_BINDINGS: u32 = 0x8A2F;
2728
2729pub const MAX_UNIFORM_LOCATIONS: u32 = 0x826E;
2730
2731pub const MAX_VARYING_COMPONENTS: u32 = 0x8B4B;
2732
2733pub const MAX_VARYING_FLOATS: u32 = 0x8B4B;
2734
2735pub const MAX_VARYING_VECTORS: u32 = 0x8DFC;
2736
2737pub const MAX_VERTEX_ATOMIC_COUNTERS: u32 = 0x92D2;
2738
2739pub const MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: u32 = 0x92CC;
2740
2741pub const MAX_VERTEX_ATTRIBS: u32 = 0x8869;
2742
2743pub const MAX_VERTEX_ATTRIB_BINDINGS: u32 = 0x82DA;
2744
2745pub const MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 0x82D9;
2746
2747pub const MAX_VERTEX_ATTRIB_STRIDE: u32 = 0x82E5;
2748
2749pub const MAX_VERTEX_IMAGE_UNIFORMS: u32 = 0x90CA;
2750
2751pub const MAX_VERTEX_OUTPUT_COMPONENTS: u32 = 0x9122;
2752
2753pub const MAX_VERTEX_SHADER_STORAGE_BLOCKS: u32 = 0x90D6;
2754
2755pub const MAX_VERTEX_STREAMS: u32 = 0x8E71;
2756
2757pub const MAX_VERTEX_TEXTURE_IMAGE_UNITS: u32 = 0x8B4C;
2758
2759pub const MAX_VERTEX_UNIFORM_BLOCKS: u32 = 0x8A2B;
2760
2761pub const MAX_VERTEX_UNIFORM_COMPONENTS: u32 = 0x8B4A;
2762
2763pub const MAX_VERTEX_UNIFORM_VECTORS: u32 = 0x8DFB;
2764
2765pub const MAX_VIEWPORTS: u32 = 0x825B;
2766
2767pub const MAX_VIEWPORT_DIMS: u32 = 0x0D3A;
2768
2769pub const MAX_WIDTH: u32 = 0x827E;
2770
2771pub const MEDIUM_FLOAT: u32 = 0x8DF1;
2772
2773pub const MEDIUM_INT: u32 = 0x8DF4;
2774
2775pub const MIN: u32 = 0x8007;
2776
2777pub const MINOR_VERSION: u32 = 0x821C;
2778
2779pub const MIN_FRAGMENT_INTERPOLATION_OFFSET: u32 = 0x8E5B;
2780
2781pub const MIN_MAP_BUFFER_ALIGNMENT: u32 = 0x90BC;
2782
2783pub const MIN_PROGRAM_TEXEL_OFFSET: u32 = 0x8904;
2784
2785pub const MIN_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 0x8E5E;
2786
2787pub const MIN_SAMPLE_SHADING_VALUE: u32 = 0x8C37;
2788
2789pub const MIPMAP: u32 = 0x8293;
2790
2791pub const MIRRORED_REPEAT: u32 = 0x8370;
2792
2793pub const MIRROR_CLAMP_TO_EDGE: u32 = 0x8743;
2794
2795pub const MULTISAMPLE: u32 = 0x809D;
2796
2797pub const NAME_LENGTH: u32 = 0x92F9;
2798
2799pub const NAND: u32 = 0x150E;
2800
2801pub const NEAREST: u32 = 0x2600;
2802
2803pub const NEAREST_MIPMAP_LINEAR: u32 = 0x2702;
2804
2805pub const NEAREST_MIPMAP_NEAREST: u32 = 0x2700;
2806
2807pub const NEGATIVE_ONE_TO_ONE: u32 = 0x935E;
2808
2809pub const NEVER: u32 = 0x0200;
2810
2811pub const NICEST: u32 = 0x1102;
2812
2813pub const NONE: u32 = 0;
2814
2815pub const NOOP: u32 = 0x1505;
2816
2817pub const NOR: u32 = 0x1508;
2818
2819pub const NOTEQUAL: u32 = 0x0205;
2820
2821pub const NO_ERROR: u32 = 0;
2822
2823pub const NO_RESET_NOTIFICATION: u32 = 0x8261;
2824
2825pub const NUM_ACTIVE_VARIABLES: u32 = 0x9304;
2826
2827pub const NUM_COMPATIBLE_SUBROUTINES: u32 = 0x8E4A;
2828
2829pub const NUM_COMPRESSED_TEXTURE_FORMATS: u32 = 0x86A2;
2830
2831pub const NUM_EXTENSIONS: u32 = 0x821D;
2832
2833pub const NUM_PROGRAM_BINARY_FORMATS: u32 = 0x87FE;
2834
2835pub const NUM_SAMPLE_COUNTS: u32 = 0x9380;
2836
2837pub const NUM_SHADER_BINARY_FORMATS: u32 = 0x8DF9;
2838
2839pub const NUM_SHADING_LANGUAGE_VERSIONS: u32 = 0x82E9;
2840
2841pub const NUM_SPIR_V_EXTENSIONS: u32 = 0x9554;
2842
2843pub const OBJECT_TYPE: u32 = 0x9112;
2844
2845pub const OFFSET: u32 = 0x92FC;
2846
2847pub const ONE: u32 = 1;
2848
2849pub const ONE_MINUS_CONSTANT_ALPHA: u32 = 0x8004;
2850
2851pub const ONE_MINUS_CONSTANT_COLOR: u32 = 0x8002;
2852
2853pub const ONE_MINUS_DST_ALPHA: u32 = 0x0305;
2854
2855pub const ONE_MINUS_DST_COLOR: u32 = 0x0307;
2856
2857pub const ONE_MINUS_SRC1_ALPHA: u32 = 0x88FB;
2858
2859pub const ONE_MINUS_SRC1_COLOR: u32 = 0x88FA;
2860
2861pub const ONE_MINUS_SRC_ALPHA: u32 = 0x0303;
2862
2863pub const ONE_MINUS_SRC_COLOR: u32 = 0x0301;
2864
2865pub const OR: u32 = 0x1507;
2866
2867pub const OR_INVERTED: u32 = 0x150D;
2868
2869pub const OR_REVERSE: u32 = 0x150B;
2870
2871pub const OUT_OF_MEMORY: u32 = 0x0505;
2872
2873pub const PACK_ALIGNMENT: u32 = 0x0D05;
2874
2875pub const PACK_COMPRESSED_BLOCK_DEPTH: u32 = 0x912D;
2876
2877pub const PACK_COMPRESSED_BLOCK_HEIGHT: u32 = 0x912C;
2878
2879pub const PACK_COMPRESSED_BLOCK_SIZE: u32 = 0x912E;
2880
2881pub const PACK_COMPRESSED_BLOCK_WIDTH: u32 = 0x912B;
2882
2883pub const PACK_IMAGE_HEIGHT: u32 = 0x806C;
2884
2885pub const PACK_LSB_FIRST: u32 = 0x0D01;
2886
2887pub const PACK_ROW_LENGTH: u32 = 0x0D02;
2888
2889pub const PACK_SKIP_IMAGES: u32 = 0x806B;
2890
2891pub const PACK_SKIP_PIXELS: u32 = 0x0D04;
2892
2893pub const PACK_SKIP_ROWS: u32 = 0x0D03;
2894
2895pub const PACK_SWAP_BYTES: u32 = 0x0D00;
2896
2897pub const PARAMETER_BUFFER: u32 = 0x80EE;
2898
2899pub const PARAMETER_BUFFER_BINDING: u32 = 0x80EF;
2900
2901pub const PATCHES: u32 = 0x000E;
2902
2903pub const PATCH_DEFAULT_INNER_LEVEL: u32 = 0x8E73;
2904
2905pub const PATCH_DEFAULT_OUTER_LEVEL: u32 = 0x8E74;
2906
2907pub const PATCH_VERTICES: u32 = 0x8E72;
2908
2909pub const PIXEL_BUFFER_BARRIER_BIT: u32 = 0x00000080;
2910
2911pub const PIXEL_PACK_BUFFER: u32 = 0x88EB;
2912
2913pub const PIXEL_PACK_BUFFER_BINDING: u32 = 0x88ED;
2914
2915pub const PIXEL_UNPACK_BUFFER: u32 = 0x88EC;
2916
2917pub const PIXEL_UNPACK_BUFFER_BINDING: u32 = 0x88EF;
2918
2919pub const POINT: u32 = 0x1B00;
2920
2921pub const POINTS: u32 = 0x0000;
2922
2923pub const POINT_FADE_THRESHOLD_SIZE: u32 = 0x8128;
2924
2925pub const POINT_SIZE: u32 = 0x0B11;
2926
2927pub const POINT_SIZE_GRANULARITY: u32 = 0x0B13;
2928
2929pub const POINT_SIZE_RANGE: u32 = 0x0B12;
2930
2931pub const POINT_SPRITE_COORD_ORIGIN: u32 = 0x8CA0;
2932
2933pub const POLYGON_MODE: u32 = 0x0B40;
2934
2935pub const POLYGON_OFFSET_CLAMP: u32 = 0x8E1B;
2936
2937pub const POLYGON_OFFSET_FACTOR: u32 = 0x8038;
2938
2939pub const POLYGON_OFFSET_FILL: u32 = 0x8037;
2940
2941pub const POLYGON_OFFSET_LINE: u32 = 0x2A02;
2942
2943pub const POLYGON_OFFSET_POINT: u32 = 0x2A01;
2944
2945pub const POLYGON_OFFSET_UNITS: u32 = 0x2A00;
2946
2947pub const POLYGON_SMOOTH: u32 = 0x0B41;
2948
2949pub const POLYGON_SMOOTH_HINT: u32 = 0x0C53;
2950
2951pub const PRIMITIVES_GENERATED: u32 = 0x8C87;
2952
2953pub const PRIMITIVES_SUBMITTED: u32 = 0x82EF;
2954
2955pub const PRIMITIVE_RESTART: u32 = 0x8F9D;
2956
2957pub const PRIMITIVE_RESTART_FIXED_INDEX: u32 = 0x8D69;
2958
2959pub const PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: u32 = 0x8221;
2960
2961pub const PRIMITIVE_RESTART_INDEX: u32 = 0x8F9E;
2962
2963pub const PROGRAM: u32 = 0x82E2;
2964
2965pub const PROGRAM_BINARY_FORMATS: u32 = 0x87FF;
2966
2967pub const PROGRAM_BINARY_LENGTH: u32 = 0x8741;
2968
2969pub const PROGRAM_BINARY_RETRIEVABLE_HINT: u32 = 0x8257;
2970
2971pub const PROGRAM_INPUT: u32 = 0x92E3;
2972
2973pub const PROGRAM_OUTPUT: u32 = 0x92E4;
2974
2975pub const PROGRAM_PIPELINE: u32 = 0x82E4;
2976
2977pub const PROGRAM_PIPELINE_BINDING: u32 = 0x825A;
2978
2979pub const PROGRAM_POINT_SIZE: u32 = 0x8642;
2980
2981pub const PROGRAM_SEPARABLE: u32 = 0x8258;
2982
2983pub const PROVOKING_VERTEX: u32 = 0x8E4F;
2984
2985pub const PROXY_TEXTURE_1D: u32 = 0x8063;
2986
2987pub const PROXY_TEXTURE_1D_ARRAY: u32 = 0x8C19;
2988
2989pub const PROXY_TEXTURE_2D: u32 = 0x8064;
2990
2991pub const PROXY_TEXTURE_2D_ARRAY: u32 = 0x8C1B;
2992
2993pub const PROXY_TEXTURE_2D_MULTISAMPLE: u32 = 0x9101;
2994
2995pub const PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 0x9103;
2996
2997pub const PROXY_TEXTURE_3D: u32 = 0x8070;
2998
2999pub const PROXY_TEXTURE_CUBE_MAP: u32 = 0x851B;
3000
3001pub const PROXY_TEXTURE_CUBE_MAP_ARRAY: u32 = 0x900B;
3002
3003pub const PROXY_TEXTURE_RECTANGLE: u32 = 0x84F7;
3004
3005pub const QUADS: u32 = 0x0007;
3006
3007pub const QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: u32 = 0x8E4C;
3008
3009pub const QUERY: u32 = 0x82E3;
3010
3011pub const QUERY_BUFFER: u32 = 0x9192;
3012
3013pub const QUERY_BUFFER_BARRIER_BIT: u32 = 0x00008000;
3014
3015pub const QUERY_BUFFER_BINDING: u32 = 0x9193;
3016
3017pub const QUERY_BY_REGION_NO_WAIT: u32 = 0x8E16;
3018
3019pub const QUERY_BY_REGION_NO_WAIT_INVERTED: u32 = 0x8E1A;
3020
3021pub const QUERY_BY_REGION_WAIT: u32 = 0x8E15;
3022
3023pub const QUERY_BY_REGION_WAIT_INVERTED: u32 = 0x8E19;
3024
3025pub const QUERY_COUNTER_BITS: u32 = 0x8864;
3026
3027pub const QUERY_NO_WAIT: u32 = 0x8E14;
3028
3029pub const QUERY_NO_WAIT_INVERTED: u32 = 0x8E18;
3030
3031pub const QUERY_RESULT: u32 = 0x8866;
3032
3033pub const QUERY_RESULT_AVAILABLE: u32 = 0x8867;
3034
3035pub const QUERY_RESULT_NO_WAIT: u32 = 0x9194;
3036
3037pub const QUERY_TARGET: u32 = 0x82EA;
3038
3039pub const QUERY_WAIT: u32 = 0x8E13;
3040
3041pub const QUERY_WAIT_INVERTED: u32 = 0x8E17;
3042
3043pub const R11F_G11F_B10F: u32 = 0x8C3A;
3044
3045pub const R16: u32 = 0x822A;
3046
3047pub const R16F: u32 = 0x822D;
3048
3049pub const R16I: u32 = 0x8233;
3050
3051pub const R16UI: u32 = 0x8234;
3052
3053pub const R16_SNORM: u32 = 0x8F98;
3054
3055pub const R32F: u32 = 0x822E;
3056
3057pub const R32I: u32 = 0x8235;
3058
3059pub const R32UI: u32 = 0x8236;
3060
3061pub const R3_G3_B2: u32 = 0x2A10;
3062
3063pub const R8: u32 = 0x8229;
3064
3065pub const R8I: u32 = 0x8231;
3066
3067pub const R8UI: u32 = 0x8232;
3068
3069pub const R8_SNORM: u32 = 0x8F94;
3070
3071pub const RASTERIZER_DISCARD: u32 = 0x8C89;
3072
3073pub const READ_BUFFER: u32 = 0x0C02;
3074
3075pub const READ_FRAMEBUFFER: u32 = 0x8CA8;
3076
3077pub const READ_FRAMEBUFFER_BINDING: u32 = 0x8CAA;
3078
3079pub const READ_ONLY: u32 = 0x88B8;
3080
3081pub const READ_PIXELS: u32 = 0x828C;
3082
3083pub const READ_PIXELS_FORMAT: u32 = 0x828D;
3084
3085pub const READ_PIXELS_TYPE: u32 = 0x828E;
3086
3087pub const READ_WRITE: u32 = 0x88BA;
3088
3089pub const RED: u32 = 0x1903;
3090
3091pub const RED_INTEGER: u32 = 0x8D94;
3092
3093pub const REFERENCED_BY_COMPUTE_SHADER: u32 = 0x930B;
3094
3095pub const REFERENCED_BY_FRAGMENT_SHADER: u32 = 0x930A;
3096
3097pub const REFERENCED_BY_GEOMETRY_SHADER: u32 = 0x9309;
3098
3099pub const REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 0x9307;
3100
3101pub const REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 0x9308;
3102
3103pub const REFERENCED_BY_VERTEX_SHADER: u32 = 0x9306;
3104
3105pub const RENDERBUFFER: u32 = 0x8D41;
3106
3107pub const RENDERBUFFER_ALPHA_SIZE: u32 = 0x8D53;
3108
3109pub const RENDERBUFFER_BINDING: u32 = 0x8CA7;
3110
3111pub const RENDERBUFFER_BLUE_SIZE: u32 = 0x8D52;
3112
3113pub const RENDERBUFFER_DEPTH_SIZE: u32 = 0x8D54;
3114
3115pub const RENDERBUFFER_GREEN_SIZE: u32 = 0x8D51;
3116
3117pub const RENDERBUFFER_HEIGHT: u32 = 0x8D43;
3118
3119pub const RENDERBUFFER_INTERNAL_FORMAT: u32 = 0x8D44;
3120
3121pub const RENDERBUFFER_RED_SIZE: u32 = 0x8D50;
3122
3123pub const RENDERBUFFER_SAMPLES: u32 = 0x8CAB;
3124
3125pub const RENDERBUFFER_STENCIL_SIZE: u32 = 0x8D55;
3126
3127pub const RENDERBUFFER_WIDTH: u32 = 0x8D42;
3128
3129pub const RENDERER: u32 = 0x1F01;
3130
3131pub const REPEAT: u32 = 0x2901;
3132
3133pub const REPLACE: u32 = 0x1E01;
3134
3135pub const RESET_NOTIFICATION_STRATEGY: u32 = 0x8256;
3136
3137pub const RG: u32 = 0x8227;
3138
3139pub const RG16: u32 = 0x822C;
3140
3141pub const RG16F: u32 = 0x822F;
3142
3143pub const RG16I: u32 = 0x8239;
3144
3145pub const RG16UI: u32 = 0x823A;
3146
3147pub const RG16_SNORM: u32 = 0x8F99;
3148
3149pub const RG32F: u32 = 0x8230;
3150
3151pub const RG32I: u32 = 0x823B;
3152
3153pub const RG32UI: u32 = 0x823C;
3154
3155pub const RG8: u32 = 0x822B;
3156
3157pub const RG8I: u32 = 0x8237;
3158
3159pub const RG8UI: u32 = 0x8238;
3160
3161pub const RG8_SNORM: u32 = 0x8F95;
3162
3163pub const RGB: u32 = 0x1907;
3164
3165pub const RGB10: u32 = 0x8052;
3166
3167pub const RGB10_A2: u32 = 0x8059;
3168
3169pub const RGB10_A2UI: u32 = 0x906F;
3170
3171pub const RGB12: u32 = 0x8053;
3172
3173pub const RGB16: u32 = 0x8054;
3174
3175pub const RGB16F: u32 = 0x881B;
3176
3177pub const RGB16I: u32 = 0x8D89;
3178
3179pub const RGB16UI: u32 = 0x8D77;
3180
3181pub const RGB16_SNORM: u32 = 0x8F9A;
3182
3183pub const RGB32F: u32 = 0x8815;
3184
3185pub const RGB32I: u32 = 0x8D83;
3186
3187pub const RGB32UI: u32 = 0x8D71;
3188
3189pub const RGB4: u32 = 0x804F;
3190
3191pub const RGB5: u32 = 0x8050;
3192
3193pub const RGB565: u32 = 0x8D62;
3194
3195pub const RGB5_A1: u32 = 0x8057;
3196
3197pub const RGB8: u32 = 0x8051;
3198
3199pub const RGB8I: u32 = 0x8D8F;
3200
3201pub const RGB8UI: u32 = 0x8D7D;
3202
3203pub const RGB8_SNORM: u32 = 0x8F96;
3204
3205pub const RGB9_E5: u32 = 0x8C3D;
3206
3207pub const RGBA: u32 = 0x1908;
3208
3209pub const RGBA12: u32 = 0x805A;
3210
3211pub const RGBA16: u32 = 0x805B;
3212
3213pub const RGBA16F: u32 = 0x881A;
3214
3215pub const RGBA16I: u32 = 0x8D88;
3216
3217pub const RGBA16UI: u32 = 0x8D76;
3218
3219pub const RGBA16_SNORM: u32 = 0x8F9B;
3220
3221pub const RGBA2: u32 = 0x8055;
3222
3223pub const RGBA32F: u32 = 0x8814;
3224
3225pub const RGBA32I: u32 = 0x8D82;
3226
3227pub const RGBA32UI: u32 = 0x8D70;
3228
3229pub const RGBA4: u32 = 0x8056;
3230
3231pub const RGBA8: u32 = 0x8058;
3232
3233pub const RGBA8I: u32 = 0x8D8E;
3234
3235pub const RGBA8UI: u32 = 0x8D7C;
3236
3237pub const RGBA8_SNORM: u32 = 0x8F97;
3238
3239pub const RGBA_INTEGER: u32 = 0x8D99;
3240
3241pub const RGB_INTEGER: u32 = 0x8D98;
3242
3243pub const RG_INTEGER: u32 = 0x8228;
3244
3245pub const RIGHT: u32 = 0x0407;
3246
3247pub const SAMPLER: u32 = 0x82E6;
3248
3249pub const SAMPLER_1D: u32 = 0x8B5D;
3250
3251pub const SAMPLER_1D_ARRAY: u32 = 0x8DC0;
3252
3253pub const SAMPLER_1D_ARRAY_SHADOW: u32 = 0x8DC3;
3254
3255pub const SAMPLER_1D_SHADOW: u32 = 0x8B61;
3256
3257pub const SAMPLER_2D: u32 = 0x8B5E;
3258
3259pub const SAMPLER_2D_ARRAY: u32 = 0x8DC1;
3260
3261pub const SAMPLER_2D_ARRAY_SHADOW: u32 = 0x8DC4;
3262
3263pub const SAMPLER_2D_MULTISAMPLE: u32 = 0x9108;
3264
3265pub const SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 0x910B;
3266
3267pub const SAMPLER_2D_RECT: u32 = 0x8B63;
3268
3269pub const SAMPLER_2D_RECT_SHADOW: u32 = 0x8B64;
3270
3271pub const SAMPLER_2D_SHADOW: u32 = 0x8B62;
3272
3273pub const SAMPLER_3D: u32 = 0x8B5F;
3274
3275pub const SAMPLER_BINDING: u32 = 0x8919;
3276
3277pub const SAMPLER_BUFFER: u32 = 0x8DC2;
3278
3279pub const SAMPLER_CUBE: u32 = 0x8B60;
3280
3281pub const SAMPLER_CUBE_MAP_ARRAY: u32 = 0x900C;
3282
3283pub const SAMPLER_CUBE_MAP_ARRAY_SHADOW: u32 = 0x900D;
3284
3285pub const SAMPLER_CUBE_SHADOW: u32 = 0x8DC5;
3286
3287pub const SAMPLES: u32 = 0x80A9;
3288
3289pub const SAMPLES_PASSED: u32 = 0x8914;
3290
3291pub const SAMPLE_ALPHA_TO_COVERAGE: u32 = 0x809E;
3292
3293pub const SAMPLE_ALPHA_TO_ONE: u32 = 0x809F;
3294
3295pub const SAMPLE_BUFFERS: u32 = 0x80A8;
3296
3297pub const SAMPLE_COVERAGE: u32 = 0x80A0;
3298
3299pub const SAMPLE_COVERAGE_INVERT: u32 = 0x80AB;
3300
3301pub const SAMPLE_COVERAGE_VALUE: u32 = 0x80AA;
3302
3303pub const SAMPLE_MASK: u32 = 0x8E51;
3304
3305pub const SAMPLE_MASK_VALUE: u32 = 0x8E52;
3306
3307pub const SAMPLE_POSITION: u32 = 0x8E50;
3308
3309pub const SAMPLE_SHADING: u32 = 0x8C36;
3310
3311pub const SCISSOR_BOX: u32 = 0x0C10;
3312
3313pub const SCISSOR_TEST: u32 = 0x0C11;
3314
3315pub const SEPARATE_ATTRIBS: u32 = 0x8C8D;
3316
3317pub const SET: u32 = 0x150F;
3318
3319pub const SHADER: u32 = 0x82E1;
3320
3321pub const SHADER_BINARY_FORMATS: u32 = 0x8DF8;
3322
3323pub const SHADER_BINARY_FORMAT_SPIR_V: u32 = 0x9551;
3324
3325pub const SHADER_COMPILER: u32 = 0x8DFA;
3326
3327pub const SHADER_IMAGE_ACCESS_BARRIER_BIT: u32 = 0x00000020;
3328
3329pub const SHADER_IMAGE_ATOMIC: u32 = 0x82A6;
3330
3331pub const SHADER_IMAGE_LOAD: u32 = 0x82A4;
3332
3333pub const SHADER_IMAGE_STORE: u32 = 0x82A5;
3334
3335pub const SHADER_SOURCE_LENGTH: u32 = 0x8B88;
3336
3337pub const SHADER_STORAGE_BARRIER_BIT: u32 = 0x00002000;
3338
3339pub const SHADER_STORAGE_BLOCK: u32 = 0x92E6;
3340
3341pub const SHADER_STORAGE_BUFFER: u32 = 0x90D2;
3342
3343pub const SHADER_STORAGE_BUFFER_BINDING: u32 = 0x90D3;
3344
3345pub const SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: u32 = 0x90DF;
3346
3347pub const SHADER_STORAGE_BUFFER_SIZE: u32 = 0x90D5;
3348
3349pub const SHADER_STORAGE_BUFFER_START: u32 = 0x90D4;
3350
3351pub const SHADER_TYPE: u32 = 0x8B4F;
3352
3353pub const SHADING_LANGUAGE_VERSION: u32 = 0x8B8C;
3354
3355pub const SHORT: u32 = 0x1402;
3356
3357pub const SIGNALED: u32 = 0x9119;
3358
3359pub const SIGNED_NORMALIZED: u32 = 0x8F9C;
3360
3361pub const SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST: u32 = 0x82AC;
3362
3363pub const SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE: u32 = 0x82AE;
3364
3365pub const SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST: u32 = 0x82AD;
3366
3367pub const SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE: u32 = 0x82AF;
3368
3369pub const SMOOTH_LINE_WIDTH_GRANULARITY: u32 = 0x0B23;
3370
3371pub const SMOOTH_LINE_WIDTH_RANGE: u32 = 0x0B22;
3372
3373pub const SMOOTH_POINT_SIZE_GRANULARITY: u32 = 0x0B13;
3374
3375pub const SMOOTH_POINT_SIZE_RANGE: u32 = 0x0B12;
3376
3377pub const SPIR_V_BINARY: u32 = 0x9552;
3378
3379pub const SPIR_V_EXTENSIONS: u32 = 0x9553;
3380
3381pub const SRC1_ALPHA: u32 = 0x8589;
3382
3383pub const SRC1_COLOR: u32 = 0x88F9;
3384
3385pub const SRC_ALPHA: u32 = 0x0302;
3386
3387pub const SRC_ALPHA_SATURATE: u32 = 0x0308;
3388
3389pub const SRC_COLOR: u32 = 0x0300;
3390
3391pub const SRGB: u32 = 0x8C40;
3392
3393pub const SRGB8: u32 = 0x8C41;
3394
3395pub const SRGB8_ALPHA8: u32 = 0x8C43;
3396
3397pub const SRGB_ALPHA: u32 = 0x8C42;
3398
3399pub const SRGB_READ: u32 = 0x8297;
3400
3401pub const SRGB_WRITE: u32 = 0x8298;
3402
3403pub const STACK_OVERFLOW: u32 = 0x0503;
3404
3405pub const STACK_UNDERFLOW: u32 = 0x0504;
3406
3407pub const STATIC_COPY: u32 = 0x88E6;
3408
3409pub const STATIC_DRAW: u32 = 0x88E4;
3410
3411pub const STATIC_READ: u32 = 0x88E5;
3412
3413pub const STENCIL: u32 = 0x1802;
3414
3415pub const STENCIL_ATTACHMENT: u32 = 0x8D20;
3416
3417pub const STENCIL_BACK_FAIL: u32 = 0x8801;
3418
3419pub const STENCIL_BACK_FUNC: u32 = 0x8800;
3420
3421pub const STENCIL_BACK_PASS_DEPTH_FAIL: u32 = 0x8802;
3422
3423pub const STENCIL_BACK_PASS_DEPTH_PASS: u32 = 0x8803;
3424
3425pub const STENCIL_BACK_REF: u32 = 0x8CA3;
3426
3427pub const STENCIL_BACK_VALUE_MASK: u32 = 0x8CA4;
3428
3429pub const STENCIL_BACK_WRITEMASK: u32 = 0x8CA5;
3430
3431pub const STENCIL_BUFFER_BIT: u32 = 0x00000400;
3432
3433pub const STENCIL_CLEAR_VALUE: u32 = 0x0B91;
3434
3435pub const STENCIL_COMPONENTS: u32 = 0x8285;
3436
3437pub const STENCIL_FAIL: u32 = 0x0B94;
3438
3439pub const STENCIL_FUNC: u32 = 0x0B92;
3440
3441pub const STENCIL_INDEX: u32 = 0x1901;
3442
3443pub const STENCIL_INDEX1: u32 = 0x8D46;
3444
3445pub const STENCIL_INDEX16: u32 = 0x8D49;
3446
3447pub const STENCIL_INDEX4: u32 = 0x8D47;
3448
3449pub const STENCIL_INDEX8: u32 = 0x8D48;
3450
3451pub const STENCIL_PASS_DEPTH_FAIL: u32 = 0x0B95;
3452
3453pub const STENCIL_PASS_DEPTH_PASS: u32 = 0x0B96;
3454
3455pub const STENCIL_REF: u32 = 0x0B97;
3456
3457pub const STENCIL_RENDERABLE: u32 = 0x8288;
3458
3459pub const STENCIL_TEST: u32 = 0x0B90;
3460
3461pub const STENCIL_VALUE_MASK: u32 = 0x0B93;
3462
3463pub const STENCIL_WRITEMASK: u32 = 0x0B98;
3464
3465pub const STEREO: u32 = 0x0C33;
3466
3467pub const STREAM_COPY: u32 = 0x88E2;
3468
3469pub const STREAM_DRAW: u32 = 0x88E0;
3470
3471pub const STREAM_READ: u32 = 0x88E1;
3472
3473pub const SUBPIXEL_BITS: u32 = 0x0D50;
3474
3475pub const SYNC_CONDITION: u32 = 0x9113;
3476
3477pub const SYNC_FENCE: u32 = 0x9116;
3478
3479pub const SYNC_FLAGS: u32 = 0x9115;
3480
3481pub const SYNC_FLUSH_COMMANDS_BIT: u32 = 0x00000001;
3482
3483pub const SYNC_GPU_COMMANDS_COMPLETE: u32 = 0x9117;
3484
3485pub const SYNC_STATUS: u32 = 0x9114;
3486
3487pub const TESS_CONTROL_OUTPUT_VERTICES: u32 = 0x8E75;
3488
3489pub const TESS_CONTROL_SHADER: u32 = 0x8E88;
3490
3491pub const TESS_CONTROL_SHADER_BIT: u32 = 0x00000008;
3492
3493pub const TESS_CONTROL_SHADER_PATCHES: u32 = 0x82F1;
3494
3495pub const TESS_CONTROL_SUBROUTINE: u32 = 0x92E9;
3496
3497pub const TESS_CONTROL_SUBROUTINE_UNIFORM: u32 = 0x92EF;
3498
3499pub const TESS_CONTROL_TEXTURE: u32 = 0x829C;
3500
3501pub const TESS_EVALUATION_SHADER: u32 = 0x8E87;
3502
3503pub const TESS_EVALUATION_SHADER_BIT: u32 = 0x00000010;
3504
3505pub const TESS_EVALUATION_SHADER_INVOCATIONS: u32 = 0x82F2;
3506
3507pub const TESS_EVALUATION_SUBROUTINE: u32 = 0x92EA;
3508
3509pub const TESS_EVALUATION_SUBROUTINE_UNIFORM: u32 = 0x92F0;
3510
3511pub const TESS_EVALUATION_TEXTURE: u32 = 0x829D;
3512
3513pub const TESS_GEN_MODE: u32 = 0x8E76;
3514
3515pub const TESS_GEN_POINT_MODE: u32 = 0x8E79;
3516
3517pub const TESS_GEN_SPACING: u32 = 0x8E77;
3518
3519pub const TESS_GEN_VERTEX_ORDER: u32 = 0x8E78;
3520
3521pub const TEXTURE: u32 = 0x1702;
3522
3523pub const TEXTURE0: u32 = 0x84C0;
3524
3525pub const TEXTURE1: u32 = 0x84C1;
3526
3527pub const TEXTURE10: u32 = 0x84CA;
3528
3529pub const TEXTURE11: u32 = 0x84CB;
3530
3531pub const TEXTURE12: u32 = 0x84CC;
3532
3533pub const TEXTURE13: u32 = 0x84CD;
3534
3535pub const TEXTURE14: u32 = 0x84CE;
3536
3537pub const TEXTURE15: u32 = 0x84CF;
3538
3539pub const TEXTURE16: u32 = 0x84D0;
3540
3541pub const TEXTURE17: u32 = 0x84D1;
3542
3543pub const TEXTURE18: u32 = 0x84D2;
3544
3545pub const TEXTURE19: u32 = 0x84D3;
3546
3547pub const TEXTURE2: u32 = 0x84C2;
3548
3549pub const TEXTURE20: u32 = 0x84D4;
3550
3551pub const TEXTURE21: u32 = 0x84D5;
3552
3553pub const TEXTURE22: u32 = 0x84D6;
3554
3555pub const TEXTURE23: u32 = 0x84D7;
3556
3557pub const TEXTURE24: u32 = 0x84D8;
3558
3559pub const TEXTURE25: u32 = 0x84D9;
3560
3561pub const TEXTURE26: u32 = 0x84DA;
3562
3563pub const TEXTURE27: u32 = 0x84DB;
3564
3565pub const TEXTURE28: u32 = 0x84DC;
3566
3567pub const TEXTURE29: u32 = 0x84DD;
3568
3569pub const TEXTURE3: u32 = 0x84C3;
3570
3571pub const TEXTURE30: u32 = 0x84DE;
3572
3573pub const TEXTURE31: u32 = 0x84DF;
3574
3575pub const TEXTURE4: u32 = 0x84C4;
3576
3577pub const TEXTURE5: u32 = 0x84C5;
3578
3579pub const TEXTURE6: u32 = 0x84C6;
3580
3581pub const TEXTURE7: u32 = 0x84C7;
3582
3583pub const TEXTURE8: u32 = 0x84C8;
3584
3585pub const TEXTURE9: u32 = 0x84C9;
3586
3587pub const TEXTURE_1D: u32 = 0x0DE0;
3588
3589pub const TEXTURE_1D_ARRAY: u32 = 0x8C18;
3590
3591pub const TEXTURE_2D: u32 = 0x0DE1;
3592
3593pub const TEXTURE_2D_ARRAY: u32 = 0x8C1A;
3594
3595pub const TEXTURE_2D_MULTISAMPLE: u32 = 0x9100;
3596
3597pub const TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 0x9102;
3598
3599pub const TEXTURE_3D: u32 = 0x806F;
3600
3601pub const TEXTURE_ALPHA_SIZE: u32 = 0x805F;
3602
3603pub const TEXTURE_ALPHA_TYPE: u32 = 0x8C13;
3604
3605pub const TEXTURE_BASE_LEVEL: u32 = 0x813C;
3606
3607pub const TEXTURE_BINDING_1D: u32 = 0x8068;
3608
3609pub const TEXTURE_BINDING_1D_ARRAY: u32 = 0x8C1C;
3610
3611pub const TEXTURE_BINDING_2D: u32 = 0x8069;
3612
3613pub const TEXTURE_BINDING_2D_ARRAY: u32 = 0x8C1D;
3614
3615pub const TEXTURE_BINDING_2D_MULTISAMPLE: u32 = 0x9104;
3616
3617pub const TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: u32 = 0x9105;
3618
3619pub const TEXTURE_BINDING_3D: u32 = 0x806A;
3620
3621pub const TEXTURE_BINDING_BUFFER: u32 = 0x8C2C;
3622
3623pub const TEXTURE_BINDING_CUBE_MAP: u32 = 0x8514;
3624
3625pub const TEXTURE_BINDING_CUBE_MAP_ARRAY: u32 = 0x900A;
3626
3627pub const TEXTURE_BINDING_RECTANGLE: u32 = 0x84F6;
3628
3629pub const TEXTURE_BLUE_SIZE: u32 = 0x805E;
3630
3631pub const TEXTURE_BLUE_TYPE: u32 = 0x8C12;
3632
3633pub const TEXTURE_BORDER_COLOR: u32 = 0x1004;
3634
3635pub const TEXTURE_BUFFER: u32 = 0x8C2A;
3636
3637pub const TEXTURE_BUFFER_BINDING: u32 = 0x8C2A;
3638
3639pub const TEXTURE_BUFFER_DATA_STORE_BINDING: u32 = 0x8C2D;
3640
3641pub const TEXTURE_BUFFER_OFFSET: u32 = 0x919D;
3642
3643pub const TEXTURE_BUFFER_OFFSET_ALIGNMENT: u32 = 0x919F;
3644
3645pub const TEXTURE_BUFFER_SIZE: u32 = 0x919E;
3646
3647pub const TEXTURE_COMPARE_FUNC: u32 = 0x884D;
3648
3649pub const TEXTURE_COMPARE_MODE: u32 = 0x884C;
3650
3651pub const TEXTURE_COMPRESSED: u32 = 0x86A1;
3652
3653pub const TEXTURE_COMPRESSED_BLOCK_HEIGHT: u32 = 0x82B2;
3654
3655pub const TEXTURE_COMPRESSED_BLOCK_SIZE: u32 = 0x82B3;
3656
3657pub const TEXTURE_COMPRESSED_BLOCK_WIDTH: u32 = 0x82B1;
3658
3659pub const TEXTURE_COMPRESSED_IMAGE_SIZE: u32 = 0x86A0;
3660
3661pub const TEXTURE_COMPRESSION_HINT: u32 = 0x84EF;
3662
3663pub const TEXTURE_CUBE_MAP: u32 = 0x8513;
3664
3665pub const TEXTURE_CUBE_MAP_ARRAY: u32 = 0x9009;
3666
3667pub const TEXTURE_CUBE_MAP_NEGATIVE_X: u32 = 0x8516;
3668
3669pub const TEXTURE_CUBE_MAP_NEGATIVE_Y: u32 = 0x8518;
3670
3671pub const TEXTURE_CUBE_MAP_NEGATIVE_Z: u32 = 0x851A;
3672
3673pub const TEXTURE_CUBE_MAP_POSITIVE_X: u32 = 0x8515;
3674
3675pub const TEXTURE_CUBE_MAP_POSITIVE_Y: u32 = 0x8517;
3676
3677pub const TEXTURE_CUBE_MAP_POSITIVE_Z: u32 = 0x8519;
3678
3679pub const TEXTURE_CUBE_MAP_SEAMLESS: u32 = 0x884F;
3680
3681pub const TEXTURE_DEPTH: u32 = 0x8071;
3682
3683pub const TEXTURE_DEPTH_SIZE: u32 = 0x884A;
3684
3685pub const TEXTURE_DEPTH_TYPE: u32 = 0x8C16;
3686
3687pub const TEXTURE_FETCH_BARRIER_BIT: u32 = 0x00000008;
3688
3689pub const TEXTURE_FIXED_SAMPLE_LOCATIONS: u32 = 0x9107;
3690
3691pub const TEXTURE_GATHER: u32 = 0x82A2;
3692
3693pub const TEXTURE_GATHER_SHADOW: u32 = 0x82A3;
3694
3695pub const TEXTURE_GREEN_SIZE: u32 = 0x805D;
3696
3697pub const TEXTURE_GREEN_TYPE: u32 = 0x8C11;
3698
3699pub const TEXTURE_HEIGHT: u32 = 0x1001;
3700
3701pub const TEXTURE_IMAGE_FORMAT: u32 = 0x828F;
3702
3703pub const TEXTURE_IMAGE_TYPE: u32 = 0x8290;
3704
3705pub const TEXTURE_IMMUTABLE_FORMAT: u32 = 0x912F;
3706
3707pub const TEXTURE_IMMUTABLE_LEVELS: u32 = 0x82DF;
3708
3709pub const TEXTURE_INTERNAL_FORMAT: u32 = 0x1003;
3710
3711pub const TEXTURE_LOD_BIAS: u32 = 0x8501;
3712
3713pub const TEXTURE_MAG_FILTER: u32 = 0x2800;
3714
3715pub const TEXTURE_MAX_ANISOTROPY: u32 = 0x84FE;
3716
3717pub const TEXTURE_MAX_ANISOTROPY_EXT: u32 = 0x84FE;
3718
3719pub const TEXTURE_MAX_LEVEL: u32 = 0x813D;
3720
3721pub const TEXTURE_MAX_LOD: u32 = 0x813B;
3722
3723pub const TEXTURE_MIN_FILTER: u32 = 0x2801;
3724
3725pub const TEXTURE_MIN_LOD: u32 = 0x813A;
3726
3727pub const TEXTURE_RECTANGLE: u32 = 0x84F5;
3728
3729pub const TEXTURE_RED_SIZE: u32 = 0x805C;
3730
3731pub const TEXTURE_RED_TYPE: u32 = 0x8C10;
3732
3733pub const TEXTURE_SAMPLES: u32 = 0x9106;
3734
3735pub const TEXTURE_SHADOW: u32 = 0x82A1;
3736
3737pub const TEXTURE_SHARED_SIZE: u32 = 0x8C3F;
3738
3739pub const TEXTURE_STENCIL_SIZE: u32 = 0x88F1;
3740
3741pub const TEXTURE_SWIZZLE_A: u32 = 0x8E45;
3742
3743pub const TEXTURE_SWIZZLE_B: u32 = 0x8E44;
3744
3745pub const TEXTURE_SWIZZLE_G: u32 = 0x8E43;
3746
3747pub const TEXTURE_SWIZZLE_R: u32 = 0x8E42;
3748
3749pub const TEXTURE_SWIZZLE_RGBA: u32 = 0x8E46;
3750
3751pub const TEXTURE_TARGET: u32 = 0x1006;
3752
3753pub const TEXTURE_UPDATE_BARRIER_BIT: u32 = 0x00000100;
3754
3755pub const TEXTURE_VIEW: u32 = 0x82B5;
3756
3757pub const TEXTURE_VIEW_MIN_LAYER: u32 = 0x82DD;
3758
3759pub const TEXTURE_VIEW_MIN_LEVEL: u32 = 0x82DB;
3760
3761pub const TEXTURE_VIEW_NUM_LAYERS: u32 = 0x82DE;
3762
3763pub const TEXTURE_VIEW_NUM_LEVELS: u32 = 0x82DC;
3764
3765pub const TEXTURE_WIDTH: u32 = 0x1000;
3766
3767pub const TEXTURE_WRAP_R: u32 = 0x8072;
3768
3769pub const TEXTURE_WRAP_S: u32 = 0x2802;
3770
3771pub const TEXTURE_WRAP_T: u32 = 0x2803;
3772
3773pub const TIMEOUT_EXPIRED: u32 = 0x911B;
3774
3775pub const TIMEOUT_IGNORED: u64 = 0xFFFFFFFFFFFFFFFF;
3776
3777pub const TIMESTAMP: u32 = 0x8E28;
3778
3779pub const TIME_ELAPSED: u32 = 0x88BF;
3780
3781pub const TOP_LEVEL_ARRAY_SIZE: u32 = 0x930C;
3782
3783pub const TOP_LEVEL_ARRAY_STRIDE: u32 = 0x930D;
3784
3785pub const TRANSFORM_FEEDBACK: u32 = 0x8E22;
3786
3787pub const TRANSFORM_FEEDBACK_ACTIVE: u32 = 0x8E24;
3788
3789pub const TRANSFORM_FEEDBACK_BARRIER_BIT: u32 = 0x00000800;
3790
3791pub const TRANSFORM_FEEDBACK_BINDING: u32 = 0x8E25;
3792
3793pub const TRANSFORM_FEEDBACK_BUFFER: u32 = 0x8C8E;
3794
3795pub const TRANSFORM_FEEDBACK_BUFFER_ACTIVE: u32 = 0x8E24;
3796
3797pub const TRANSFORM_FEEDBACK_BUFFER_BINDING: u32 = 0x8C8F;
3798
3799pub const TRANSFORM_FEEDBACK_BUFFER_INDEX: u32 = 0x934B;
3800
3801pub const TRANSFORM_FEEDBACK_BUFFER_MODE: u32 = 0x8C7F;
3802
3803pub const TRANSFORM_FEEDBACK_BUFFER_PAUSED: u32 = 0x8E23;
3804
3805pub const TRANSFORM_FEEDBACK_BUFFER_SIZE: u32 = 0x8C85;
3806
3807pub const TRANSFORM_FEEDBACK_BUFFER_START: u32 = 0x8C84;
3808
3809pub const TRANSFORM_FEEDBACK_BUFFER_STRIDE: u32 = 0x934C;
3810
3811pub const TRANSFORM_FEEDBACK_OVERFLOW: u32 = 0x82EC;
3812
3813pub const TRANSFORM_FEEDBACK_PAUSED: u32 = 0x8E23;
3814
3815pub const TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: u32 = 0x8C88;
3816
3817pub const TRANSFORM_FEEDBACK_STREAM_OVERFLOW: u32 = 0x82ED;
3818
3819pub const TRANSFORM_FEEDBACK_VARYING: u32 = 0x92F4;
3820
3821pub const TRANSFORM_FEEDBACK_VARYINGS: u32 = 0x8C83;
3822
3823pub const TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: u32 = 0x8C76;
3824
3825pub const TRIANGLES: u32 = 0x0004;
3826
3827pub const TRIANGLES_ADJACENCY: u32 = 0x000C;
3828
3829pub const TRIANGLE_FAN: u32 = 0x0006;
3830
3831pub const TRIANGLE_STRIP: u32 = 0x0005;
3832
3833pub const TRIANGLE_STRIP_ADJACENCY: u32 = 0x000D;
3834
3835pub const TRUE: u8 = 1;
3836
3837pub const TYPE: u32 = 0x92FA;
3838
3839pub const UNDEFINED_VERTEX: u32 = 0x8260;
3840
3841pub const UNIFORM: u32 = 0x92E1;
3842
3843pub const UNIFORM_ARRAY_STRIDE: u32 = 0x8A3C;
3844
3845pub const UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 0x92DA;
3846
3847pub const UNIFORM_BARRIER_BIT: u32 = 0x00000004;
3848
3849pub const UNIFORM_BLOCK: u32 = 0x92E2;
3850
3851pub const UNIFORM_BLOCK_ACTIVE_UNIFORMS: u32 = 0x8A42;
3852
3853pub const UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: u32 = 0x8A43;
3854
3855pub const UNIFORM_BLOCK_BINDING: u32 = 0x8A3F;
3856
3857pub const UNIFORM_BLOCK_DATA_SIZE: u32 = 0x8A40;
3858
3859pub const UNIFORM_BLOCK_INDEX: u32 = 0x8A3A;
3860
3861pub const UNIFORM_BLOCK_NAME_LENGTH: u32 = 0x8A41;
3862
3863pub const UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER: u32 = 0x90EC;
3864
3865pub const UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: u32 = 0x8A46;
3866
3867pub const UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: u32 = 0x8A45;
3868
3869pub const UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 0x84F0;
3870
3871pub const UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 0x84F1;
3872
3873pub const UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: u32 = 0x8A44;
3874
3875pub const UNIFORM_BUFFER: u32 = 0x8A11;
3876
3877pub const UNIFORM_BUFFER_BINDING: u32 = 0x8A28;
3878
3879pub const UNIFORM_BUFFER_OFFSET_ALIGNMENT: u32 = 0x8A34;
3880
3881pub const UNIFORM_BUFFER_SIZE: u32 = 0x8A2A;
3882
3883pub const UNIFORM_BUFFER_START: u32 = 0x8A29;
3884
3885pub const UNIFORM_IS_ROW_MAJOR: u32 = 0x8A3E;
3886
3887pub const UNIFORM_MATRIX_STRIDE: u32 = 0x8A3D;
3888
3889pub const UNIFORM_NAME_LENGTH: u32 = 0x8A39;
3890
3891pub const UNIFORM_OFFSET: u32 = 0x8A3B;
3892
3893pub const UNIFORM_SIZE: u32 = 0x8A38;
3894
3895pub const UNIFORM_TYPE: u32 = 0x8A37;
3896
3897pub const UNKNOWN_CONTEXT_RESET: u32 = 0x8255;
3898
3899pub const UNPACK_ALIGNMENT: u32 = 0x0CF5;
3900
3901pub const UNPACK_COMPRESSED_BLOCK_DEPTH: u32 = 0x9129;
3902
3903pub const UNPACK_COMPRESSED_BLOCK_HEIGHT: u32 = 0x9128;
3904
3905pub const UNPACK_COMPRESSED_BLOCK_SIZE: u32 = 0x912A;
3906
3907pub const UNPACK_COMPRESSED_BLOCK_WIDTH: u32 = 0x9127;
3908
3909pub const UNPACK_IMAGE_HEIGHT: u32 = 0x806E;
3910
3911pub const UNPACK_LSB_FIRST: u32 = 0x0CF1;
3912
3913pub const UNPACK_ROW_LENGTH: u32 = 0x0CF2;
3914
3915pub const UNPACK_SKIP_IMAGES: u32 = 0x806D;
3916
3917pub const UNPACK_SKIP_PIXELS: u32 = 0x0CF4;
3918
3919pub const UNPACK_SKIP_ROWS: u32 = 0x0CF3;
3920
3921pub const UNPACK_SWAP_BYTES: u32 = 0x0CF0;
3922
3923pub const UNSIGNALED: u32 = 0x9118;
3924
3925pub const UNSIGNED_BYTE: u32 = 0x1401;
3926
3927pub const UNSIGNED_BYTE_2_3_3_REV: u32 = 0x8362;
3928
3929pub const UNSIGNED_BYTE_3_3_2: u32 = 0x8032;
3930
3931pub const UNSIGNED_INT: u32 = 0x1405;
3932
3933pub const UNSIGNED_INT_10F_11F_11F_REV: u32 = 0x8C3B;
3934
3935pub const UNSIGNED_INT_10_10_10_2: u32 = 0x8036;
3936
3937pub const UNSIGNED_INT_24_8: u32 = 0x84FA;
3938
3939pub const UNSIGNED_INT_2_10_10_10_REV: u32 = 0x8368;
3940
3941pub const UNSIGNED_INT_5_9_9_9_REV: u32 = 0x8C3E;
3942
3943pub const UNSIGNED_INT_8_8_8_8: u32 = 0x8035;
3944
3945pub const UNSIGNED_INT_8_8_8_8_REV: u32 = 0x8367;
3946
3947pub const UNSIGNED_INT_ATOMIC_COUNTER: u32 = 0x92DB;
3948
3949pub const UNSIGNED_INT_IMAGE_1D: u32 = 0x9062;
3950
3951pub const UNSIGNED_INT_IMAGE_1D_ARRAY: u32 = 0x9068;
3952
3953pub const UNSIGNED_INT_IMAGE_2D: u32 = 0x9063;
3954
3955pub const UNSIGNED_INT_IMAGE_2D_ARRAY: u32 = 0x9069;
3956
3957pub const UNSIGNED_INT_IMAGE_2D_MULTISAMPLE: u32 = 0x906B;
3958
3959pub const UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 0x906C;
3960
3961pub const UNSIGNED_INT_IMAGE_2D_RECT: u32 = 0x9065;
3962
3963pub const UNSIGNED_INT_IMAGE_3D: u32 = 0x9064;
3964
3965pub const UNSIGNED_INT_IMAGE_BUFFER: u32 = 0x9067;
3966
3967pub const UNSIGNED_INT_IMAGE_CUBE: u32 = 0x9066;
3968
3969pub const UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 0x906A;
3970
3971pub const UNSIGNED_INT_SAMPLER_1D: u32 = 0x8DD1;
3972
3973pub const UNSIGNED_INT_SAMPLER_1D_ARRAY: u32 = 0x8DD6;
3974
3975pub const UNSIGNED_INT_SAMPLER_2D: u32 = 0x8DD2;
3976
3977pub const UNSIGNED_INT_SAMPLER_2D_ARRAY: u32 = 0x8DD7;
3978
3979pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: u32 = 0x910A;
3980
3981pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 0x910D;
3982
3983pub const UNSIGNED_INT_SAMPLER_2D_RECT: u32 = 0x8DD5;
3984
3985pub const UNSIGNED_INT_SAMPLER_3D: u32 = 0x8DD3;
3986
3987pub const UNSIGNED_INT_SAMPLER_BUFFER: u32 = 0x8DD8;
3988
3989pub const UNSIGNED_INT_SAMPLER_CUBE: u32 = 0x8DD4;
3990
3991pub const UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 0x900F;
3992
3993pub const UNSIGNED_INT_VEC2: u32 = 0x8DC6;
3994
3995pub const UNSIGNED_INT_VEC3: u32 = 0x8DC7;
3996
3997pub const UNSIGNED_INT_VEC4: u32 = 0x8DC8;
3998
3999pub const UNSIGNED_NORMALIZED: u32 = 0x8C17;
4000
4001pub const UNSIGNED_SHORT: u32 = 0x1403;
4002
4003pub const UNSIGNED_SHORT_1_5_5_5_REV: u32 = 0x8366;
4004
4005pub const UNSIGNED_SHORT_4_4_4_4: u32 = 0x8033;
4006
4007pub const UNSIGNED_SHORT_4_4_4_4_REV: u32 = 0x8365;
4008
4009pub const UNSIGNED_SHORT_5_5_5_1: u32 = 0x8034;
4010
4011pub const UNSIGNED_SHORT_5_6_5: u32 = 0x8363;
4012
4013pub const UNSIGNED_SHORT_5_6_5_REV: u32 = 0x8364;
4014
4015pub const UPPER_LEFT: u32 = 0x8CA2;
4016
4017pub const VALIDATE_STATUS: u32 = 0x8B83;
4018
4019pub const VENDOR: u32 = 0x1F00;
4020
4021pub const VERSION: u32 = 0x1F02;
4022
4023pub const VERTEX_ARRAY: u32 = 0x8074;
4024
4025pub const VERTEX_ARRAY_BINDING: u32 = 0x85B5;
4026
4027pub const VERTEX_ATTRIB_ARRAY_BARRIER_BIT: u32 = 0x00000001;
4028
4029pub const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: u32 = 0x889F;
4030
4031pub const VERTEX_ATTRIB_ARRAY_DIVISOR: u32 = 0x88FE;
4032
4033pub const VERTEX_ATTRIB_ARRAY_ENABLED: u32 = 0x8622;
4034
4035pub const VERTEX_ATTRIB_ARRAY_INTEGER: u32 = 0x88FD;
4036
4037pub const VERTEX_ATTRIB_ARRAY_LONG: u32 = 0x874E;
4038
4039pub const VERTEX_ATTRIB_ARRAY_NORMALIZED: u32 = 0x886A;
4040
4041pub const VERTEX_ATTRIB_ARRAY_POINTER: u32 = 0x8645;
4042
4043pub const VERTEX_ATTRIB_ARRAY_SIZE: u32 = 0x8623;
4044
4045pub const VERTEX_ATTRIB_ARRAY_STRIDE: u32 = 0x8624;
4046
4047pub const VERTEX_ATTRIB_ARRAY_TYPE: u32 = 0x8625;
4048
4049pub const VERTEX_ATTRIB_BINDING: u32 = 0x82D4;
4050
4051pub const VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 0x82D5;
4052
4053pub const VERTEX_BINDING_BUFFER: u32 = 0x8F4F;
4054
4055pub const VERTEX_BINDING_DIVISOR: u32 = 0x82D6;
4056
4057pub const VERTEX_BINDING_OFFSET: u32 = 0x82D7;
4058
4059pub const VERTEX_BINDING_STRIDE: u32 = 0x82D8;
4060
4061pub const VERTEX_PROGRAM_POINT_SIZE: u32 = 0x8642;
4062
4063pub const VERTEX_SHADER: u32 = 0x8B31;
4064
4065pub const VERTEX_SHADER_BIT: u32 = 0x00000001;
4066
4067pub const VERTEX_SHADER_INVOCATIONS: u32 = 0x82F0;
4068
4069pub const VERTEX_SUBROUTINE: u32 = 0x92E8;
4070
4071pub const VERTEX_SUBROUTINE_UNIFORM: u32 = 0x92EE;
4072
4073pub const VERTEX_TEXTURE: u32 = 0x829B;
4074
4075pub const VERTICES_SUBMITTED: u32 = 0x82EE;
4076
4077pub const VIEWPORT: u32 = 0x0BA2;
4078
4079pub const VIEWPORT_BOUNDS_RANGE: u32 = 0x825D;
4080
4081pub const VIEWPORT_INDEX_PROVOKING_VERTEX: u32 = 0x825F;
4082
4083pub const VIEWPORT_SUBPIXEL_BITS: u32 = 0x825C;
4084
4085pub const VIEW_CLASS_128_BITS: u32 = 0x82C4;
4086
4087pub const VIEW_CLASS_16_BITS: u32 = 0x82CA;
4088
4089pub const VIEW_CLASS_24_BITS: u32 = 0x82C9;
4090
4091pub const VIEW_CLASS_32_BITS: u32 = 0x82C8;
4092
4093pub const VIEW_CLASS_48_BITS: u32 = 0x82C7;
4094
4095pub const VIEW_CLASS_64_BITS: u32 = 0x82C6;
4096
4097pub const VIEW_CLASS_8_BITS: u32 = 0x82CB;
4098
4099pub const VIEW_CLASS_96_BITS: u32 = 0x82C5;
4100
4101pub const VIEW_CLASS_BPTC_FLOAT: u32 = 0x82D3;
4102
4103pub const VIEW_CLASS_BPTC_UNORM: u32 = 0x82D2;
4104
4105pub const VIEW_CLASS_RGTC1_RED: u32 = 0x82D0;
4106
4107pub const VIEW_CLASS_RGTC2_RG: u32 = 0x82D1;
4108
4109pub const VIEW_CLASS_S3TC_DXT1_RGB: u32 = 0x82CC;
4110
4111pub const VIEW_CLASS_S3TC_DXT1_RGBA: u32 = 0x82CD;
4112
4113pub const VIEW_CLASS_S3TC_DXT3_RGBA: u32 = 0x82CE;
4114
4115pub const VIEW_CLASS_S3TC_DXT5_RGBA: u32 = 0x82CF;
4116
4117pub const VIEW_COMPATIBILITY_CLASS: u32 = 0x82B6;
4118
4119pub const WAIT_FAILED: u32 = 0x911D;
4120
4121pub const WRITE_ONLY: u32 = 0x88B9;
4122
4123pub const XOR: u32 = 0x1506;
4124
4125pub const ZERO: u32 = 0;
4126
4127pub const ZERO_TO_ONE: u32 = 0x935F;
4128