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