Trait glow::HasContext

source ·
pub trait HasContext: Sealed {
    type Shader: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Program: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Buffer: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type VertexArray: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Texture: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Sampler: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Fence: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Framebuffer: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Renderbuffer: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type Query: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type TransformFeedback: Copy + Clone + Debug + Eq + Hash + Ord + PartialEq + PartialOrd;
    type UniformLocation: Clone + Debug;

Show 387 methods // Required methods fn supported_extensions(&self) -> &HashSet<String>; fn supports_debug(&self) -> bool; fn version(&self) -> &Version; unsafe fn create_framebuffer(&self) -> Result<Self::Framebuffer, String>; unsafe fn create_named_framebuffer( &self, ) -> Result<Self::Framebuffer, String>; unsafe fn is_framebuffer(&self, framebuffer: Self::Framebuffer) -> bool; unsafe fn create_query(&self) -> Result<Self::Query, String>; unsafe fn create_renderbuffer(&self) -> Result<Self::Renderbuffer, String>; unsafe fn is_renderbuffer(&self, renderbuffer: Self::Renderbuffer) -> bool; unsafe fn create_sampler(&self) -> Result<Self::Sampler, String>; unsafe fn create_shader( &self, shader_type: u32, ) -> Result<Self::Shader, String>; unsafe fn is_shader(&self, shader: Self::Shader) -> bool; unsafe fn create_texture(&self) -> Result<Self::Texture, String>; unsafe fn create_named_texture( &self, target: u32, ) -> Result<Self::Texture, String>; unsafe fn is_texture(&self, texture: Self::Texture) -> bool; unsafe fn delete_shader(&self, shader: Self::Shader); unsafe fn shader_source(&self, shader: Self::Shader, source: &str); unsafe fn compile_shader(&self, shader: Self::Shader); unsafe fn get_shader_completion_status(&self, shader: Self::Shader) -> bool; unsafe fn get_shader_compile_status(&self, shader: Self::Shader) -> bool; unsafe fn get_shader_info_log(&self, shader: Self::Shader) -> String; unsafe fn get_shader_precision_format( &self, shader_type: u32, precision_mode: u32, ) -> Option<ShaderPrecisionFormat>; unsafe fn get_tex_image( &self, target: u32, level: i32, format: u32, ty: u32, pixels: PixelPackData<'_>, ); unsafe fn create_program(&self) -> Result<Self::Program, String>; unsafe fn is_program(&self, program: Self::Program) -> bool; unsafe fn delete_program(&self, program: Self::Program); unsafe fn attach_shader(&self, program: Self::Program, shader: Self::Shader); unsafe fn detach_shader(&self, program: Self::Program, shader: Self::Shader); unsafe fn link_program(&self, program: Self::Program); unsafe fn validate_program(&self, program: Self::Program); unsafe fn get_program_completion_status( &self, program: Self::Program, ) -> bool; unsafe fn get_program_validate_status(&self, program: Self::Program) -> bool; unsafe fn get_program_link_status(&self, program: Self::Program) -> bool; unsafe fn get_program_parameter_i32( &self, program: Self::Program, parameter: u32, ) -> i32; unsafe fn get_program_info_log(&self, program: Self::Program) -> String; unsafe fn get_program_resource_i32( &self, program: Self::Program, interface: u32, index: u32, properties: &[u32], ) -> Vec<i32>; unsafe fn program_uniform_1_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, ); unsafe fn program_uniform_2_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, y: i32, ); unsafe fn program_uniform_3_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, ); unsafe fn program_uniform_4_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, w: i32, ); unsafe fn program_uniform_1_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn program_uniform_2_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn program_uniform_3_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn program_uniform_4_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn program_uniform_1_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, ); unsafe fn program_uniform_2_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, y: u32, ); unsafe fn program_uniform_3_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, ); unsafe fn program_uniform_4_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, w: u32, ); unsafe fn program_uniform_1_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn program_uniform_2_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn program_uniform_3_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn program_uniform_4_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn program_uniform_1_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, ); unsafe fn program_uniform_2_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, y: f32, ); unsafe fn program_uniform_3_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, ); unsafe fn program_uniform_4_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, w: f32, ); unsafe fn program_uniform_1_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn program_uniform_2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn program_uniform_3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn program_uniform_4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn program_uniform_matrix_2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_2x3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_2x4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_3x2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_3x4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_4x2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_4x3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_uniform_matrix_4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn program_binary_retrievable_hint( &self, program: Self::Program, value: bool, ); unsafe fn get_program_binary( &self, program: Self::Program, ) -> Option<ProgramBinary>; unsafe fn program_binary( &self, program: Self::Program, binary: &ProgramBinary, ); unsafe fn get_active_uniforms(&self, program: Self::Program) -> u32; unsafe fn get_active_uniforms_parameter( &self, program: Self::Program, uniforms: &[u32], pname: u32, ) -> Vec<i32>; unsafe fn get_active_uniform( &self, program: Self::Program, index: u32, ) -> Option<ActiveUniform>; unsafe fn use_program(&self, program: Option<Self::Program>); unsafe fn create_buffer(&self) -> Result<Self::Buffer, String>; unsafe fn create_named_buffer(&self) -> Result<Self::Buffer, String>; unsafe fn is_buffer(&self, buffer: Self::Buffer) -> bool; unsafe fn bind_buffer(&self, target: u32, buffer: Option<Self::Buffer>); unsafe fn bind_buffer_base( &self, target: u32, index: u32, buffer: Option<Self::Buffer>, ); unsafe fn bind_buffer_range( &self, target: u32, index: u32, buffer: Option<Self::Buffer>, offset: i32, size: i32, ); unsafe fn bind_vertex_buffer( &self, binding_index: u32, buffer: Option<Buffer>, offset: i32, stride: i32, ); unsafe fn bind_framebuffer( &self, target: u32, framebuffer: Option<Self::Framebuffer>, ); unsafe fn bind_renderbuffer( &self, target: u32, renderbuffer: Option<Self::Renderbuffer>, ); unsafe fn 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, ); unsafe fn blit_named_framebuffer( &self, read_buffer: Option<Self::Framebuffer>, draw_buffer: Option<Self::Framebuffer>, 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, ); unsafe fn create_vertex_array(&self) -> Result<Self::VertexArray, String>; unsafe fn create_named_vertex_array( &self, ) -> Result<Self::VertexArray, String>; unsafe fn delete_vertex_array(&self, vertex_array: Self::VertexArray); unsafe fn bind_vertex_array(&self, vertex_array: Option<Self::VertexArray>); unsafe fn clear_color(&self, red: f32, green: f32, blue: f32, alpha: f32); unsafe fn supports_f64_precision(&self) -> bool; unsafe fn clear_depth_f64(&self, depth: f64); unsafe fn clear_depth_f32(&self, depth: f32); unsafe fn clear_depth(&self, depth: f64); unsafe fn clear_stencil(&self, stencil: i32); unsafe fn clear(&self, mask: u32); unsafe fn patch_parameter_i32(&self, parameter: u32, value: i32); unsafe fn pixel_store_i32(&self, parameter: u32, value: i32); unsafe fn pixel_store_bool(&self, parameter: u32, value: bool); unsafe fn get_frag_data_location( &self, program: Self::Program, name: &str, ) -> i32; unsafe fn bind_frag_data_location( &self, program: Self::Program, color_number: u32, name: &str, ); unsafe fn buffer_data_size(&self, target: u32, size: i32, usage: u32); unsafe fn named_buffer_data_size( &self, buffer: Self::Buffer, size: i32, usage: u32, ); unsafe fn buffer_data_u8_slice(&self, target: u32, data: &[u8], usage: u32); unsafe fn named_buffer_data_u8_slice( &self, buffer: Self::Buffer, data: &[u8], usage: u32, ); unsafe fn buffer_sub_data_u8_slice( &self, target: u32, offset: i32, src_data: &[u8], ); unsafe fn named_buffer_sub_data_u8_slice( &self, buffer: Self::Buffer, offset: i32, src_data: &[u8], ); unsafe fn get_buffer_sub_data( &self, target: u32, offset: i32, dst_data: &mut [u8], ); unsafe fn buffer_storage( &self, target: u32, size: i32, data: Option<&[u8]>, flags: u32, ); unsafe fn check_framebuffer_status(&self, target: u32) -> u32; unsafe fn check_named_framebuffer_status( &self, framebuffer: Option<Self::Framebuffer>, target: u32, ) -> u32; unsafe fn clear_buffer_i32_slice( &self, target: u32, draw_buffer: u32, values: &[i32], ); unsafe fn clear_buffer_u32_slice( &self, target: u32, draw_buffer: u32, values: &[u32], ); unsafe fn clear_buffer_f32_slice( &self, target: u32, draw_buffer: u32, values: &[f32], ); unsafe fn clear_buffer_depth_stencil( &self, target: u32, draw_buffer: u32, depth: f32, stencil: i32, ); unsafe fn clear_named_framebuffer_i32_slice( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, values: &[i32], ); unsafe fn clear_named_framebuffer_u32_slice( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, values: &[u32], ); unsafe fn clear_named_framebuffer_f32_slice( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, values: &[f32], ); unsafe fn clear_named_framebuffer_depth_stencil( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, depth: f32, stencil: i32, ); unsafe fn client_wait_sync( &self, fence: Self::Fence, flags: u32, timeout: i32, ) -> u32; unsafe fn get_sync_parameter_i32( &self, fence: Self::Fence, parameter: u32, ) -> i32; unsafe fn wait_sync(&self, fence: Self::Fence, flags: u32, timeout: u64); unsafe fn copy_buffer_sub_data( &self, src_target: u32, dst_target: u32, src_offset: i32, dst_offset: i32, size: i32, ); unsafe fn copy_image_sub_data( &self, src_name: Self::Texture, src_target: u32, src_level: i32, src_x: i32, src_y: i32, src_z: i32, dst_name: Self::Texture, dst_target: u32, dst_level: i32, dst_x: i32, dst_y: i32, dst_z: i32, src_width: i32, src_height: i32, src_depth: i32, ); unsafe fn copy_tex_image_2d( &self, target: u32, level: i32, internal_format: u32, x: i32, y: i32, width: i32, height: i32, border: i32, ); unsafe fn copy_tex_sub_image_2d( &self, target: u32, level: i32, x_offset: i32, y_offset: i32, x: i32, y: i32, width: i32, height: i32, ); unsafe fn 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, ); unsafe fn delete_buffer(&self, buffer: Self::Buffer); unsafe fn delete_framebuffer(&self, framebuffer: Self::Framebuffer); unsafe fn delete_query(&self, query: Self::Query); unsafe fn delete_renderbuffer(&self, renderbuffer: Self::Renderbuffer); unsafe fn delete_sampler(&self, texture: Self::Sampler); unsafe fn delete_sync(&self, fence: Self::Fence); unsafe fn delete_texture(&self, texture: Self::Texture); unsafe fn disable(&self, parameter: u32); unsafe fn disable_draw_buffer(&self, parameter: u32, draw_buffer: u32); unsafe fn disable_vertex_attrib_array(&self, index: u32); unsafe fn dispatch_compute( &self, groups_x: u32, groups_y: u32, groups_z: u32, ); unsafe fn dispatch_compute_indirect(&self, offset: i32); unsafe fn draw_arrays(&self, mode: u32, first: i32, count: i32); unsafe fn draw_arrays_instanced( &self, mode: u32, first: i32, count: i32, instance_count: i32, ); unsafe fn draw_arrays_instanced_base_instance( &self, mode: u32, first: i32, count: i32, instance_count: i32, base_instance: u32, ); unsafe fn draw_arrays_indirect_offset(&self, mode: u32, offset: i32); unsafe fn draw_buffer(&self, buffer: u32); unsafe fn named_framebuffer_draw_buffer( &self, framebuffer: Option<Self::Framebuffer>, draw_buffer: u32, ); unsafe fn named_framebuffer_draw_buffers( &self, framebuffer: Option<Self::Framebuffer>, buffers: &[u32], ); unsafe fn draw_buffers(&self, buffers: &[u32]); unsafe fn draw_elements( &self, mode: u32, count: i32, element_type: u32, offset: i32, ); unsafe fn draw_elements_base_vertex( &self, mode: u32, count: i32, element_type: u32, offset: i32, base_vertex: i32, ); unsafe fn draw_elements_instanced( &self, mode: u32, count: i32, element_type: u32, offset: i32, instance_count: i32, ); unsafe fn draw_elements_instanced_base_vertex( &self, mode: u32, count: i32, element_type: u32, offset: i32, instance_count: i32, base_vertex: i32, ); unsafe fn 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, ); unsafe fn draw_elements_indirect_offset( &self, mode: u32, element_type: u32, offset: i32, ); unsafe fn enable(&self, parameter: u32); unsafe fn is_enabled(&self, parameter: u32) -> bool; unsafe fn enable_draw_buffer(&self, parameter: u32, draw_buffer: u32); unsafe fn enable_vertex_array_attrib( &self, vao: Self::VertexArray, index: u32, ); unsafe fn enable_vertex_attrib_array(&self, index: u32); unsafe fn flush(&self); unsafe fn framebuffer_renderbuffer( &self, target: u32, attachment: u32, renderbuffer_target: u32, renderbuffer: Option<Self::Renderbuffer>, ); unsafe fn framebuffer_texture( &self, target: u32, attachment: u32, texture: Option<Self::Texture>, level: i32, ); unsafe fn framebuffer_texture_2d( &self, target: u32, attachment: u32, texture_target: u32, texture: Option<Self::Texture>, level: i32, ); unsafe fn framebuffer_texture_3d( &self, target: u32, attachment: u32, texture_target: u32, texture: Option<Self::Texture>, level: i32, layer: i32, ); unsafe fn framebuffer_texture_layer( &self, target: u32, attachment: u32, texture: Option<Self::Texture>, level: i32, layer: i32, ); unsafe fn named_framebuffer_renderbuffer( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, renderbuffer_target: u32, renderbuffer: Option<Self::Renderbuffer>, ); unsafe fn named_framebuffer_texture( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, texture: Option<Self::Texture>, level: i32, ); unsafe fn named_framebuffer_texture_layer( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, texture: Option<Self::Texture>, level: i32, layer: i32, ); unsafe fn front_face(&self, value: u32); unsafe fn get_error(&self) -> u32; unsafe fn get_tex_parameter_i32(&self, target: u32, parameter: u32) -> i32; unsafe fn get_tex_parameter_f32(&self, target: u32, parameter: u32) -> f32; unsafe fn get_buffer_parameter_i32( &self, target: u32, parameter: u32, ) -> i32; unsafe fn get_parameter_bool(&self, parameter: u32) -> bool; unsafe fn get_parameter_bool_array<const N: usize>( &self, parameter: u32, ) -> [bool; N]; unsafe fn get_parameter_i32(&self, parameter: u32) -> i32; unsafe fn get_parameter_i32_slice(&self, parameter: u32, out: &mut [i32]); unsafe fn get_parameter_i64(&self, parameter: u32) -> i64; unsafe fn get_parameter_i64_slice(&self, parameter: u32, out: &mut [i64]); unsafe fn get_parameter_indexed_i64( &self, parameter: u32, index: u32, ) -> i64; unsafe fn get_parameter_f32(&self, parameter: u32) -> f32; unsafe fn get_parameter_f32_slice(&self, parameter: u32, out: &mut [f32]); unsafe fn get_parameter_indexed_i32( &self, parameter: u32, index: u32, ) -> i32; unsafe fn get_parameter_indexed_string( &self, parameter: u32, index: u32, ) -> String; unsafe fn get_parameter_string(&self, parameter: u32) -> String; unsafe fn get_parameter_buffer( &self, parameter: u32, ) -> Option<Self::Buffer>; unsafe fn get_parameter_framebuffer( &self, parameter: u32, ) -> Option<Self::Framebuffer>; unsafe fn get_parameter_program( &self, parameter: u32, ) -> Option<Self::Program>; unsafe fn get_parameter_renderbuffer( &self, parameter: u32, ) -> Option<Self::Renderbuffer>; unsafe fn get_parameter_sampler( &self, parameter: u32, ) -> Option<Self::Sampler>; unsafe fn get_parameter_texture( &self, parameter: u32, ) -> Option<Self::Texture>; unsafe fn get_parameter_transform_feedback( &self, parameter: u32, ) -> Option<Self::TransformFeedback>; unsafe fn get_parameter_vertex_array( &self, parameter: u32, ) -> Option<Self::VertexArray>; unsafe fn get_renderbuffer_parameter_i32( &self, target: u32, parameter: u32, ) -> i32; unsafe fn get_framebuffer_parameter_i32( &self, target: u32, parameter: u32, ) -> i32; unsafe fn get_named_framebuffer_parameter_i32( &self, framebuffer: Option<Self::Framebuffer>, parameter: u32, ) -> i32; unsafe fn get_framebuffer_attachment_parameter_i32( &self, target: u32, attachment: u32, parameter: u32, ) -> i32; unsafe fn get_named_framebuffer_attachment_parameter_i32( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, parameter: u32, ) -> i32; unsafe fn get_active_uniform_block_parameter_i32( &self, program: Self::Program, uniform_block_index: u32, parameter: u32, ) -> i32; unsafe fn get_active_uniform_block_parameter_i32_slice( &self, program: Self::Program, uniform_block_index: u32, parameter: u32, out: &mut [i32], ); unsafe fn get_active_uniform_block_name( &self, program: Self::Program, uniform_block_index: u32, ) -> String; unsafe fn get_uniform_location( &self, program: Self::Program, name: &str, ) -> Option<Self::UniformLocation>; unsafe fn get_attrib_location( &self, program: Self::Program, name: &str, ) -> Option<u32>; unsafe fn bind_attrib_location( &self, program: Self::Program, index: u32, name: &str, ); unsafe fn get_active_attributes(&self, program: Self::Program) -> u32; unsafe fn get_active_attribute( &self, program: Self::Program, index: u32, ) -> Option<ActiveAttribute>; unsafe fn get_sync_status(&self, fence: Self::Fence) -> u32; unsafe fn is_sync(&self, fence: Self::Fence) -> bool; unsafe fn renderbuffer_storage( &self, target: u32, internal_format: u32, width: i32, height: i32, ); unsafe fn renderbuffer_storage_multisample( &self, target: u32, samples: i32, internal_format: u32, width: i32, height: i32, ); unsafe fn sampler_parameter_f32( &self, sampler: Self::Sampler, name: u32, value: f32, ); unsafe fn sampler_parameter_f32_slice( &self, sampler: Self::Sampler, name: u32, value: &[f32], ); unsafe fn sampler_parameter_i32( &self, sampler: Self::Sampler, name: u32, value: i32, ); unsafe fn get_sampler_parameter_i32( &self, sampler: Self::Sampler, name: u32, ) -> i32; unsafe fn get_sampler_parameter_f32( &self, sampler: Self::Sampler, name: u32, ) -> f32; unsafe fn generate_mipmap(&self, target: u32); unsafe fn generate_texture_mipmap(&self, texture: Self::Texture); unsafe fn tex_image_1d( &self, target: u32, level: i32, internal_format: i32, width: i32, border: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, ); unsafe fn compressed_tex_image_1d( &self, target: u32, level: i32, internal_format: i32, width: i32, border: i32, image_size: i32, pixels: &[u8], ); unsafe fn tex_image_2d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, border: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, ); unsafe fn tex_image_2d_multisample( &self, target: u32, samples: i32, internal_format: i32, width: i32, height: i32, fixed_sample_locations: bool, ); unsafe fn compressed_tex_image_2d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, border: i32, image_size: i32, pixels: &[u8], ); unsafe fn tex_image_3d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, depth: i32, border: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, ); unsafe fn 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], ); unsafe fn tex_storage_1d( &self, target: u32, levels: i32, internal_format: u32, width: i32, ); unsafe fn tex_storage_2d( &self, target: u32, levels: i32, internal_format: u32, width: i32, height: i32, ); unsafe fn texture_storage_2d( &self, texture: Self::Texture, levels: i32, internal_format: u32, width: i32, height: i32, ); unsafe fn tex_storage_2d_multisample( &self, target: u32, samples: i32, internal_format: u32, width: i32, height: i32, fixed_sample_locations: bool, ); unsafe fn tex_storage_3d( &self, target: u32, levels: i32, internal_format: u32, width: i32, height: i32, depth: i32, ); unsafe fn texture_storage_3d( &self, texture: Self::Texture, levels: i32, internal_format: u32, width: i32, height: i32, depth: i32, ); unsafe fn get_uniform_i32( &self, program: Self::Program, location: &Self::UniformLocation, v: &mut [i32], ); unsafe fn get_uniform_u32( &self, program: Self::Program, location: &Self::UniformLocation, v: &mut [u32], ); unsafe fn get_uniform_f32( &self, program: Self::Program, location: &Self::UniformLocation, v: &mut [f32], ); unsafe fn uniform_1_i32( &self, location: Option<&Self::UniformLocation>, x: i32, ); unsafe fn uniform_2_i32( &self, location: Option<&Self::UniformLocation>, x: i32, y: i32, ); unsafe fn uniform_3_i32( &self, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, ); unsafe fn uniform_4_i32( &self, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, w: i32, ); unsafe fn uniform_1_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn uniform_2_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn uniform_3_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn uniform_4_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], ); unsafe fn uniform_1_u32( &self, location: Option<&Self::UniformLocation>, x: u32, ); unsafe fn uniform_2_u32( &self, location: Option<&Self::UniformLocation>, x: u32, y: u32, ); unsafe fn uniform_3_u32( &self, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, ); unsafe fn uniform_4_u32( &self, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, w: u32, ); unsafe fn uniform_1_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn uniform_2_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn uniform_3_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn uniform_4_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], ); unsafe fn uniform_1_f32( &self, location: Option<&Self::UniformLocation>, x: f32, ); unsafe fn uniform_2_f32( &self, location: Option<&Self::UniformLocation>, x: f32, y: f32, ); unsafe fn uniform_3_f32( &self, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, ); unsafe fn uniform_4_f32( &self, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, w: f32, ); unsafe fn uniform_1_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn uniform_2_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn uniform_3_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn uniform_4_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], ); unsafe fn uniform_matrix_2_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_2x3_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_2x4_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_3x2_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_3_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_3x4_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_4x2_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_4x3_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn uniform_matrix_4_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], ); unsafe fn unmap_buffer(&self, target: u32); unsafe fn cull_face(&self, value: u32); unsafe fn color_mask(&self, red: bool, green: bool, blue: bool, alpha: bool); unsafe fn color_mask_draw_buffer( &self, buffer: u32, red: bool, green: bool, blue: bool, alpha: bool, ); unsafe fn depth_mask(&self, value: bool); unsafe fn blend_color(&self, red: f32, green: f32, blue: f32, alpha: f32); unsafe fn line_width(&self, width: f32); unsafe fn map_buffer_range( &self, target: u32, offset: i32, length: i32, access: u32, ) -> *mut u8; unsafe fn flush_mapped_buffer_range( &self, target: u32, offset: i32, length: i32, ); unsafe fn invalidate_buffer_sub_data( &self, target: u32, offset: i32, length: i32, ); unsafe fn invalidate_framebuffer(&self, target: u32, attachments: &[u32]); unsafe fn invalidate_sub_framebuffer( &self, target: u32, attachments: &[u32], x: i32, y: i32, width: i32, height: i32, ); unsafe fn polygon_offset(&self, factor: f32, units: f32); unsafe fn polygon_mode(&self, face: u32, mode: u32); unsafe fn finish(&self); unsafe fn bind_texture(&self, target: u32, texture: Option<Self::Texture>); unsafe fn bind_texture_unit( &self, unit: u32, texture: Option<Self::Texture>, ); unsafe fn bind_sampler(&self, unit: u32, sampler: Option<Self::Sampler>); unsafe fn active_texture(&self, unit: u32); unsafe fn fence_sync( &self, condition: u32, flags: u32, ) -> Result<Self::Fence, String>; unsafe fn tex_parameter_f32(&self, target: u32, parameter: u32, value: f32); unsafe fn tex_parameter_i32(&self, target: u32, parameter: u32, value: i32); unsafe fn texture_parameter_i32( &self, texture: Self::Texture, parameter: u32, value: i32, ); unsafe fn tex_parameter_f32_slice( &self, target: u32, parameter: u32, values: &[f32], ); unsafe fn tex_parameter_i32_slice( &self, target: u32, parameter: u32, values: &[i32], ); unsafe fn 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<'_>, ); unsafe fn texture_sub_image_2d( &self, texture: Self::Texture, level: i32, x_offset: i32, y_offset: i32, width: i32, height: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, ); unsafe fn compressed_tex_sub_image_2d( &self, target: u32, level: i32, x_offset: i32, y_offset: i32, width: i32, height: i32, format: u32, pixels: CompressedPixelUnpackData<'_>, ); unsafe fn 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<'_>, ); unsafe fn texture_sub_image_3d( &self, texture: Self::Texture, level: i32, x_offset: i32, y_offset: i32, z_offset: i32, width: i32, height: i32, depth: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, ); unsafe fn 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<'_>, ); unsafe fn depth_func(&self, func: u32); unsafe fn depth_range_f32(&self, near: f32, far: f32); unsafe fn depth_range_f64(&self, near: f64, far: f64); unsafe fn depth_range(&self, near: f64, far: f64); unsafe fn depth_range_f64_slice( &self, first: u32, count: i32, values: &[[f64; 2]], ); unsafe fn scissor(&self, x: i32, y: i32, width: i32, height: i32); unsafe fn scissor_slice( &self, first: u32, count: i32, scissors: &[[i32; 4]], ); unsafe fn vertex_array_attrib_binding_f32( &self, vao: Self::VertexArray, index: u32, binding_index: u32, ); unsafe fn vertex_array_attrib_format_f32( &self, vao: Self::VertexArray, index: u32, size: i32, data_type: u32, normalized: bool, relative_offset: u32, ); unsafe fn vertex_array_attrib_format_i32( &self, vao: Self::VertexArray, index: u32, size: i32, data_type: u32, relative_offset: u32, ); unsafe fn vertex_array_attrib_format_f64( &self, vao: Self::VertexArray, index: u32, size: i32, data_type: u32, relative_offset: u32, ); unsafe fn vertex_array_element_buffer( &self, vao: Self::VertexArray, buffer: Option<Self::Buffer>, ); unsafe fn vertex_array_vertex_buffer( &self, vao: Self::VertexArray, binding_index: u32, buffer: Option<Self::Buffer>, offset: i32, stride: i32, ); unsafe fn vertex_attrib_divisor(&self, index: u32, divisor: u32); unsafe fn get_vertex_attrib_parameter_f32_slice( &self, index: u32, pname: u32, result: &mut [f32], ); unsafe fn vertex_attrib_pointer_f32( &self, index: u32, size: i32, data_type: u32, normalized: bool, stride: i32, offset: i32, ); unsafe fn vertex_attrib_pointer_i32( &self, index: u32, size: i32, data_type: u32, stride: i32, offset: i32, ); unsafe fn vertex_attrib_pointer_f64( &self, index: u32, size: i32, data_type: u32, stride: i32, offset: i32, ); unsafe fn vertex_attrib_format_f32( &self, index: u32, size: i32, data_type: u32, normalized: bool, relative_offset: u32, ); unsafe fn vertex_attrib_format_i32( &self, index: u32, size: i32, data_type: u32, relative_offset: u32, ); unsafe fn vertex_attrib_format_f64( &self, index: u32, size: i32, data_type: u32, relative_offset: u32, ); unsafe fn vertex_attrib_1_f32(&self, index: u32, x: f32); unsafe fn vertex_attrib_2_f32(&self, index: u32, x: f32, y: f32); unsafe fn vertex_attrib_3_f32(&self, index: u32, x: f32, y: f32, z: f32); unsafe fn vertex_attrib_4_f32( &self, index: u32, x: f32, y: f32, z: f32, w: f32, ); unsafe fn vertex_attrib_4_i32( &self, index: u32, x: i32, y: i32, z: i32, w: i32, ); unsafe fn vertex_attrib_4_u32( &self, index: u32, x: u32, y: u32, z: u32, w: u32, ); unsafe fn vertex_attrib_1_f32_slice(&self, index: u32, v: &[f32]); unsafe fn vertex_attrib_2_f32_slice(&self, index: u32, v: &[f32]); unsafe fn vertex_attrib_3_f32_slice(&self, index: u32, v: &[f32]); unsafe fn vertex_attrib_4_f32_slice(&self, index: u32, v: &[f32]); unsafe fn vertex_attrib_binding( &self, attrib_index: u32, binding_index: u32, ); unsafe fn vertex_binding_divisor(&self, binding_index: u32, divisor: u32); unsafe fn viewport(&self, x: i32, y: i32, width: i32, height: i32); unsafe fn viewport_f32_slice( &self, first: u32, count: i32, values: &[[f32; 4]], ); unsafe fn blend_equation(&self, mode: u32); unsafe fn blend_equation_draw_buffer(&self, draw_buffer: u32, mode: u32); unsafe fn blend_equation_separate(&self, mode_rgb: u32, mode_alpha: u32); unsafe fn blend_equation_separate_draw_buffer( &self, buffer: u32, mode_rgb: u32, mode_alpha: u32, ); unsafe fn blend_func(&self, src: u32, dst: u32); unsafe fn blend_func_draw_buffer( &self, draw_buffer: u32, src: u32, dst: u32, ); unsafe fn blend_func_separate( &self, src_rgb: u32, dst_rgb: u32, src_alpha: u32, dst_alpha: u32, ); unsafe fn blend_func_separate_draw_buffer( &self, draw_buffer: u32, src_rgb: u32, dst_rgb: u32, src_alpha: u32, dst_alpha: u32, ); unsafe fn stencil_func(&self, func: u32, reference: i32, mask: u32); unsafe fn stencil_func_separate( &self, face: u32, func: u32, reference: i32, mask: u32, ); unsafe fn stencil_mask(&self, mask: u32); unsafe fn stencil_mask_separate(&self, face: u32, mask: u32); unsafe fn stencil_op(&self, stencil_fail: u32, depth_fail: u32, pass: u32); unsafe fn stencil_op_separate( &self, face: u32, stencil_fail: u32, depth_fail: u32, pass: u32, ); unsafe fn debug_message_control( &self, source: u32, msg_type: u32, severity: u32, ids: &[u32], enabled: bool, ); unsafe fn debug_message_insert<S>( &self, source: u32, msg_type: u32, id: u32, severity: u32, msg: S, ) where S: AsRef<str>; unsafe fn debug_message_callback<F>(&mut self, callback: F) where F: Fn(u32, u32, u32, u32, &str) + Send + Sync + 'static; unsafe fn get_debug_message_log( &self, count: u32, ) -> Vec<DebugMessageLogEntry>; unsafe fn push_debug_group<S>(&self, source: u32, id: u32, message: S) where S: AsRef<str>; unsafe fn pop_debug_group(&self); unsafe fn object_label<S>( &self, identifier: u32, name: u32, label: Option<S>, ) where S: AsRef<str>; unsafe fn get_object_label(&self, identifier: u32, name: u32) -> String; unsafe fn object_ptr_label<S>(&self, sync: Self::Fence, label: Option<S>) where S: AsRef<str>; unsafe fn get_object_ptr_label(&self, sync: Self::Fence) -> String; unsafe fn get_uniform_block_index( &self, program: Self::Program, name: &str, ) -> Option<u32>; unsafe fn get_uniform_indices( &self, program: Self::Program, names: &[&str], ) -> Vec<Option<u32>>; unsafe fn uniform_block_binding( &self, program: Self::Program, index: u32, binding: u32, ); unsafe fn get_shader_storage_block_index( &self, program: Self::Program, name: &str, ) -> Option<u32>; unsafe fn shader_storage_block_binding( &self, program: Self::Program, index: u32, binding: u32, ); unsafe fn read_buffer(&self, src: u32); unsafe fn named_framebuffer_read_buffer( &self, framebuffer: Option<Self::Framebuffer>, src: u32, ); unsafe fn read_pixels( &self, x: i32, y: i32, width: i32, height: i32, format: u32, gltype: u32, pixels: PixelPackData<'_>, ); unsafe fn begin_query(&self, target: u32, query: Self::Query); unsafe fn end_query(&self, target: u32); unsafe fn query_counter(&self, query: Self::Query, target: u32); unsafe fn get_query_parameter_u32( &self, query: Self::Query, parameter: u32, ) -> u32; unsafe fn get_query_parameter_u64_with_offset( &self, query: Self::Query, parameter: u32, offset: usize, ); unsafe fn delete_transform_feedback( &self, transform_feedback: Self::TransformFeedback, ); unsafe fn is_transform_feedback( &self, transform_feedback: Self::TransformFeedback, ) -> bool; unsafe fn create_transform_feedback( &self, ) -> Result<Self::TransformFeedback, String>; unsafe fn bind_transform_feedback( &self, target: u32, transform_feedback: Option<Self::TransformFeedback>, ); unsafe fn begin_transform_feedback(&self, primitive_mode: u32); unsafe fn end_transform_feedback(&self); unsafe fn pause_transform_feedback(&self); unsafe fn resume_transform_feedback(&self); unsafe fn transform_feedback_varyings( &self, program: Self::Program, varyings: &[&str], buffer_mode: u32, ); unsafe fn get_transform_feedback_varying( &self, program: Self::Program, index: u32, ) -> Option<ActiveTransformFeedback>; unsafe fn memory_barrier(&self, barriers: u32); unsafe fn memory_barrier_by_region(&self, barriers: u32); unsafe fn bind_image_texture( &self, unit: u32, texture: Option<Self::Texture>, level: i32, layered: bool, layer: i32, access: u32, format: u32, ); unsafe fn max_shader_compiler_threads(&self, count: u32); unsafe fn hint(&self, target: u32, mode: u32); unsafe fn sample_coverage(&self, value: f32, invert: bool); unsafe fn get_internal_format_i32_slice( &self, target: u32, internal_format: u32, pname: u32, result: &mut [i32], );
}
Expand description

A trait for types that can be used as a context for OpenGL, OpenGL ES, and WebGL functions.

This trait is sealed and cannot be implemented outside of this crate.

§Safety

All GL API usage must be valid. For example, each function call should follow the rules in the relevant GL specification for the type of context being used. This crate doesn’t enforce these rules, so it is up to the caller to ensure they’re followed.

The context implementing this trait must be current when it is dropped. This is necessary to ensure that certain context state can be deleted on the correct thread. Usually this is only a concern for desktop GL contexts that are shared between threads.

Required Associated Types§

Required Methods§

source

fn supported_extensions(&self) -> &HashSet<String>

source

fn supports_debug(&self) -> bool

source

fn version(&self) -> &Version

source

unsafe fn create_framebuffer(&self) -> Result<Self::Framebuffer, String>

source

unsafe fn create_named_framebuffer(&self) -> Result<Self::Framebuffer, String>

source

unsafe fn is_framebuffer(&self, framebuffer: Self::Framebuffer) -> bool

source

unsafe fn create_query(&self) -> Result<Self::Query, String>

source

unsafe fn create_renderbuffer(&self) -> Result<Self::Renderbuffer, String>

source

unsafe fn is_renderbuffer(&self, renderbuffer: Self::Renderbuffer) -> bool

source

unsafe fn create_sampler(&self) -> Result<Self::Sampler, String>

source

unsafe fn create_shader(&self, shader_type: u32) -> Result<Self::Shader, String>

source

unsafe fn is_shader(&self, shader: Self::Shader) -> bool

source

unsafe fn create_texture(&self) -> Result<Self::Texture, String>

source

unsafe fn create_named_texture( &self, target: u32, ) -> Result<Self::Texture, String>

source

unsafe fn is_texture(&self, texture: Self::Texture) -> bool

source

unsafe fn delete_shader(&self, shader: Self::Shader)

source

unsafe fn shader_source(&self, shader: Self::Shader, source: &str)

source

unsafe fn compile_shader(&self, shader: Self::Shader)

source

unsafe fn get_shader_completion_status(&self, shader: Self::Shader) -> bool

source

unsafe fn get_shader_compile_status(&self, shader: Self::Shader) -> bool

source

unsafe fn get_shader_info_log(&self, shader: Self::Shader) -> String

source

unsafe fn get_shader_precision_format( &self, shader_type: u32, precision_mode: u32, ) -> Option<ShaderPrecisionFormat>

source

unsafe fn get_tex_image( &self, target: u32, level: i32, format: u32, ty: u32, pixels: PixelPackData<'_>, )

source

unsafe fn create_program(&self) -> Result<Self::Program, String>

source

unsafe fn is_program(&self, program: Self::Program) -> bool

source

unsafe fn delete_program(&self, program: Self::Program)

source

unsafe fn attach_shader(&self, program: Self::Program, shader: Self::Shader)

source

unsafe fn detach_shader(&self, program: Self::Program, shader: Self::Shader)

source

unsafe fn validate_program(&self, program: Self::Program)

source

unsafe fn get_program_completion_status(&self, program: Self::Program) -> bool

source

unsafe fn get_program_validate_status(&self, program: Self::Program) -> bool

source

unsafe fn get_program_parameter_i32( &self, program: Self::Program, parameter: u32, ) -> i32

source

unsafe fn get_program_info_log(&self, program: Self::Program) -> String

source

unsafe fn get_program_resource_i32( &self, program: Self::Program, interface: u32, index: u32, properties: &[u32], ) -> Vec<i32>

source

unsafe fn program_uniform_1_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, )

source

unsafe fn program_uniform_2_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, y: i32, )

source

unsafe fn program_uniform_3_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, )

source

unsafe fn program_uniform_4_i32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, w: i32, )

source

unsafe fn program_uniform_1_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn program_uniform_2_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn program_uniform_3_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn program_uniform_4_i32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn program_uniform_1_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, )

source

unsafe fn program_uniform_2_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, y: u32, )

source

unsafe fn program_uniform_3_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, )

source

unsafe fn program_uniform_4_u32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, w: u32, )

source

unsafe fn program_uniform_1_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn program_uniform_2_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn program_uniform_3_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn program_uniform_4_u32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn program_uniform_1_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, )

source

unsafe fn program_uniform_2_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, y: f32, )

source

unsafe fn program_uniform_3_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, )

source

unsafe fn program_uniform_4_f32( &self, program: Self::Program, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, w: f32, )

source

unsafe fn program_uniform_1_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn program_uniform_2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn program_uniform_3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn program_uniform_4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn program_uniform_matrix_2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_2x3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_2x4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_3x2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_3x4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_4x2_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_4x3_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_uniform_matrix_4_f32_slice( &self, program: Self::Program, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn program_binary_retrievable_hint( &self, program: Self::Program, value: bool, )

source

unsafe fn get_program_binary( &self, program: Self::Program, ) -> Option<ProgramBinary>

source

unsafe fn program_binary(&self, program: Self::Program, binary: &ProgramBinary)

source

unsafe fn get_active_uniforms(&self, program: Self::Program) -> u32

source

unsafe fn get_active_uniforms_parameter( &self, program: Self::Program, uniforms: &[u32], pname: u32, ) -> Vec<i32>

source

unsafe fn get_active_uniform( &self, program: Self::Program, index: u32, ) -> Option<ActiveUniform>

source

unsafe fn use_program(&self, program: Option<Self::Program>)

source

unsafe fn create_buffer(&self) -> Result<Self::Buffer, String>

source

unsafe fn create_named_buffer(&self) -> Result<Self::Buffer, String>

source

unsafe fn is_buffer(&self, buffer: Self::Buffer) -> bool

source

unsafe fn bind_buffer(&self, target: u32, buffer: Option<Self::Buffer>)

source

unsafe fn bind_buffer_base( &self, target: u32, index: u32, buffer: Option<Self::Buffer>, )

source

unsafe fn bind_buffer_range( &self, target: u32, index: u32, buffer: Option<Self::Buffer>, offset: i32, size: i32, )

source

unsafe fn bind_vertex_buffer( &self, binding_index: u32, buffer: Option<Buffer>, offset: i32, stride: i32, )

source

unsafe fn bind_framebuffer( &self, target: u32, framebuffer: Option<Self::Framebuffer>, )

source

unsafe fn bind_renderbuffer( &self, target: u32, renderbuffer: Option<Self::Renderbuffer>, )

source

unsafe fn 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, )

source

unsafe fn blit_named_framebuffer( &self, read_buffer: Option<Self::Framebuffer>, draw_buffer: Option<Self::Framebuffer>, 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, )

source

unsafe fn create_vertex_array(&self) -> Result<Self::VertexArray, String>

source

unsafe fn create_named_vertex_array(&self) -> Result<Self::VertexArray, String>

source

unsafe fn delete_vertex_array(&self, vertex_array: Self::VertexArray)

source

unsafe fn bind_vertex_array(&self, vertex_array: Option<Self::VertexArray>)

source

unsafe fn clear_color(&self, red: f32, green: f32, blue: f32, alpha: f32)

source

unsafe fn supports_f64_precision(&self) -> bool

source

unsafe fn clear_depth_f64(&self, depth: f64)

source

unsafe fn clear_depth_f32(&self, depth: f32)

source

unsafe fn clear_depth(&self, depth: f64)

source

unsafe fn clear_stencil(&self, stencil: i32)

source

unsafe fn clear(&self, mask: u32)

source

unsafe fn patch_parameter_i32(&self, parameter: u32, value: i32)

source

unsafe fn pixel_store_i32(&self, parameter: u32, value: i32)

source

unsafe fn pixel_store_bool(&self, parameter: u32, value: bool)

source

unsafe fn get_frag_data_location( &self, program: Self::Program, name: &str, ) -> i32

source

unsafe fn bind_frag_data_location( &self, program: Self::Program, color_number: u32, name: &str, )

source

unsafe fn buffer_data_size(&self, target: u32, size: i32, usage: u32)

source

unsafe fn named_buffer_data_size( &self, buffer: Self::Buffer, size: i32, usage: u32, )

source

unsafe fn buffer_data_u8_slice(&self, target: u32, data: &[u8], usage: u32)

source

unsafe fn named_buffer_data_u8_slice( &self, buffer: Self::Buffer, data: &[u8], usage: u32, )

source

unsafe fn buffer_sub_data_u8_slice( &self, target: u32, offset: i32, src_data: &[u8], )

source

unsafe fn named_buffer_sub_data_u8_slice( &self, buffer: Self::Buffer, offset: i32, src_data: &[u8], )

source

unsafe fn get_buffer_sub_data( &self, target: u32, offset: i32, dst_data: &mut [u8], )

source

unsafe fn buffer_storage( &self, target: u32, size: i32, data: Option<&[u8]>, flags: u32, )

source

unsafe fn check_framebuffer_status(&self, target: u32) -> u32

source

unsafe fn check_named_framebuffer_status( &self, framebuffer: Option<Self::Framebuffer>, target: u32, ) -> u32

source

unsafe fn clear_buffer_i32_slice( &self, target: u32, draw_buffer: u32, values: &[i32], )

source

unsafe fn clear_buffer_u32_slice( &self, target: u32, draw_buffer: u32, values: &[u32], )

source

unsafe fn clear_buffer_f32_slice( &self, target: u32, draw_buffer: u32, values: &[f32], )

source

unsafe fn clear_buffer_depth_stencil( &self, target: u32, draw_buffer: u32, depth: f32, stencil: i32, )

source

unsafe fn clear_named_framebuffer_i32_slice( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, values: &[i32], )

source

unsafe fn clear_named_framebuffer_u32_slice( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, values: &[u32], )

source

unsafe fn clear_named_framebuffer_f32_slice( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, values: &[f32], )

source

unsafe fn clear_named_framebuffer_depth_stencil( &self, framebuffer: Option<Self::Framebuffer>, target: u32, draw_buffer: u32, depth: f32, stencil: i32, )

source

unsafe fn client_wait_sync( &self, fence: Self::Fence, flags: u32, timeout: i32, ) -> u32

source

unsafe fn get_sync_parameter_i32( &self, fence: Self::Fence, parameter: u32, ) -> i32

source

unsafe fn wait_sync(&self, fence: Self::Fence, flags: u32, timeout: u64)

source

unsafe fn copy_buffer_sub_data( &self, src_target: u32, dst_target: u32, src_offset: i32, dst_offset: i32, size: i32, )

source

unsafe fn copy_image_sub_data( &self, src_name: Self::Texture, src_target: u32, src_level: i32, src_x: i32, src_y: i32, src_z: i32, dst_name: Self::Texture, dst_target: u32, dst_level: i32, dst_x: i32, dst_y: i32, dst_z: i32, src_width: i32, src_height: i32, src_depth: i32, )

source

unsafe fn copy_tex_image_2d( &self, target: u32, level: i32, internal_format: u32, x: i32, y: i32, width: i32, height: i32, border: i32, )

source

unsafe fn copy_tex_sub_image_2d( &self, target: u32, level: i32, x_offset: i32, y_offset: i32, x: i32, y: i32, width: i32, height: i32, )

source

unsafe fn 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, )

source

unsafe fn delete_buffer(&self, buffer: Self::Buffer)

source

unsafe fn delete_framebuffer(&self, framebuffer: Self::Framebuffer)

source

unsafe fn delete_query(&self, query: Self::Query)

source

unsafe fn delete_renderbuffer(&self, renderbuffer: Self::Renderbuffer)

source

unsafe fn delete_sampler(&self, texture: Self::Sampler)

source

unsafe fn delete_sync(&self, fence: Self::Fence)

source

unsafe fn delete_texture(&self, texture: Self::Texture)

source

unsafe fn disable(&self, parameter: u32)

source

unsafe fn disable_draw_buffer(&self, parameter: u32, draw_buffer: u32)

source

unsafe fn disable_vertex_attrib_array(&self, index: u32)

source

unsafe fn dispatch_compute(&self, groups_x: u32, groups_y: u32, groups_z: u32)

source

unsafe fn dispatch_compute_indirect(&self, offset: i32)

source

unsafe fn draw_arrays(&self, mode: u32, first: i32, count: i32)

source

unsafe fn draw_arrays_instanced( &self, mode: u32, first: i32, count: i32, instance_count: i32, )

source

unsafe fn draw_arrays_instanced_base_instance( &self, mode: u32, first: i32, count: i32, instance_count: i32, base_instance: u32, )

source

unsafe fn draw_arrays_indirect_offset(&self, mode: u32, offset: i32)

source

unsafe fn draw_buffer(&self, buffer: u32)

source

unsafe fn named_framebuffer_draw_buffer( &self, framebuffer: Option<Self::Framebuffer>, draw_buffer: u32, )

source

unsafe fn named_framebuffer_draw_buffers( &self, framebuffer: Option<Self::Framebuffer>, buffers: &[u32], )

source

unsafe fn draw_buffers(&self, buffers: &[u32])

source

unsafe fn draw_elements( &self, mode: u32, count: i32, element_type: u32, offset: i32, )

source

unsafe fn draw_elements_base_vertex( &self, mode: u32, count: i32, element_type: u32, offset: i32, base_vertex: i32, )

source

unsafe fn draw_elements_instanced( &self, mode: u32, count: i32, element_type: u32, offset: i32, instance_count: i32, )

source

unsafe fn draw_elements_instanced_base_vertex( &self, mode: u32, count: i32, element_type: u32, offset: i32, instance_count: i32, base_vertex: i32, )

source

unsafe fn 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, )

source

unsafe fn draw_elements_indirect_offset( &self, mode: u32, element_type: u32, offset: i32, )

source

unsafe fn enable(&self, parameter: u32)

source

unsafe fn is_enabled(&self, parameter: u32) -> bool

source

unsafe fn enable_draw_buffer(&self, parameter: u32, draw_buffer: u32)

source

unsafe fn enable_vertex_array_attrib(&self, vao: Self::VertexArray, index: u32)

source

unsafe fn enable_vertex_attrib_array(&self, index: u32)

source

unsafe fn flush(&self)

source

unsafe fn framebuffer_renderbuffer( &self, target: u32, attachment: u32, renderbuffer_target: u32, renderbuffer: Option<Self::Renderbuffer>, )

source

unsafe fn framebuffer_texture( &self, target: u32, attachment: u32, texture: Option<Self::Texture>, level: i32, )

source

unsafe fn framebuffer_texture_2d( &self, target: u32, attachment: u32, texture_target: u32, texture: Option<Self::Texture>, level: i32, )

source

unsafe fn framebuffer_texture_3d( &self, target: u32, attachment: u32, texture_target: u32, texture: Option<Self::Texture>, level: i32, layer: i32, )

source

unsafe fn framebuffer_texture_layer( &self, target: u32, attachment: u32, texture: Option<Self::Texture>, level: i32, layer: i32, )

source

unsafe fn named_framebuffer_renderbuffer( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, renderbuffer_target: u32, renderbuffer: Option<Self::Renderbuffer>, )

source

unsafe fn named_framebuffer_texture( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, texture: Option<Self::Texture>, level: i32, )

source

unsafe fn named_framebuffer_texture_layer( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, texture: Option<Self::Texture>, level: i32, layer: i32, )

source

unsafe fn front_face(&self, value: u32)

source

unsafe fn get_error(&self) -> u32

source

unsafe fn get_tex_parameter_i32(&self, target: u32, parameter: u32) -> i32

source

unsafe fn get_tex_parameter_f32(&self, target: u32, parameter: u32) -> f32

source

unsafe fn get_buffer_parameter_i32(&self, target: u32, parameter: u32) -> i32

source

unsafe fn get_parameter_bool(&self, parameter: u32) -> bool

source

unsafe fn get_parameter_bool_array<const N: usize>( &self, parameter: u32, ) -> [bool; N]

source

unsafe fn get_parameter_i32(&self, parameter: u32) -> i32

source

unsafe fn get_parameter_i32_slice(&self, parameter: u32, out: &mut [i32])

source

unsafe fn get_parameter_i64(&self, parameter: u32) -> i64

source

unsafe fn get_parameter_i64_slice(&self, parameter: u32, out: &mut [i64])

source

unsafe fn get_parameter_indexed_i64(&self, parameter: u32, index: u32) -> i64

source

unsafe fn get_parameter_f32(&self, parameter: u32) -> f32

source

unsafe fn get_parameter_f32_slice(&self, parameter: u32, out: &mut [f32])

source

unsafe fn get_parameter_indexed_i32(&self, parameter: u32, index: u32) -> i32

source

unsafe fn get_parameter_indexed_string( &self, parameter: u32, index: u32, ) -> String

source

unsafe fn get_parameter_string(&self, parameter: u32) -> String

source

unsafe fn get_parameter_buffer(&self, parameter: u32) -> Option<Self::Buffer>

source

unsafe fn get_parameter_framebuffer( &self, parameter: u32, ) -> Option<Self::Framebuffer>

source

unsafe fn get_parameter_program(&self, parameter: u32) -> Option<Self::Program>

source

unsafe fn get_parameter_renderbuffer( &self, parameter: u32, ) -> Option<Self::Renderbuffer>

source

unsafe fn get_parameter_sampler(&self, parameter: u32) -> Option<Self::Sampler>

source

unsafe fn get_parameter_texture(&self, parameter: u32) -> Option<Self::Texture>

source

unsafe fn get_parameter_transform_feedback( &self, parameter: u32, ) -> Option<Self::TransformFeedback>

source

unsafe fn get_parameter_vertex_array( &self, parameter: u32, ) -> Option<Self::VertexArray>

source

unsafe fn get_renderbuffer_parameter_i32( &self, target: u32, parameter: u32, ) -> i32

source

unsafe fn get_framebuffer_parameter_i32( &self, target: u32, parameter: u32, ) -> i32

source

unsafe fn get_named_framebuffer_parameter_i32( &self, framebuffer: Option<Self::Framebuffer>, parameter: u32, ) -> i32

source

unsafe fn get_framebuffer_attachment_parameter_i32( &self, target: u32, attachment: u32, parameter: u32, ) -> i32

source

unsafe fn get_named_framebuffer_attachment_parameter_i32( &self, framebuffer: Option<Self::Framebuffer>, attachment: u32, parameter: u32, ) -> i32

source

unsafe fn get_active_uniform_block_parameter_i32( &self, program: Self::Program, uniform_block_index: u32, parameter: u32, ) -> i32

source

unsafe fn get_active_uniform_block_parameter_i32_slice( &self, program: Self::Program, uniform_block_index: u32, parameter: u32, out: &mut [i32], )

source

unsafe fn get_active_uniform_block_name( &self, program: Self::Program, uniform_block_index: u32, ) -> String

source

unsafe fn get_uniform_location( &self, program: Self::Program, name: &str, ) -> Option<Self::UniformLocation>

source

unsafe fn get_attrib_location( &self, program: Self::Program, name: &str, ) -> Option<u32>

source

unsafe fn bind_attrib_location( &self, program: Self::Program, index: u32, name: &str, )

source

unsafe fn get_active_attributes(&self, program: Self::Program) -> u32

source

unsafe fn get_active_attribute( &self, program: Self::Program, index: u32, ) -> Option<ActiveAttribute>

source

unsafe fn get_sync_status(&self, fence: Self::Fence) -> u32

source

unsafe fn is_sync(&self, fence: Self::Fence) -> bool

source

unsafe fn renderbuffer_storage( &self, target: u32, internal_format: u32, width: i32, height: i32, )

source

unsafe fn renderbuffer_storage_multisample( &self, target: u32, samples: i32, internal_format: u32, width: i32, height: i32, )

source

unsafe fn sampler_parameter_f32( &self, sampler: Self::Sampler, name: u32, value: f32, )

source

unsafe fn sampler_parameter_f32_slice( &self, sampler: Self::Sampler, name: u32, value: &[f32], )

source

unsafe fn sampler_parameter_i32( &self, sampler: Self::Sampler, name: u32, value: i32, )

source

unsafe fn get_sampler_parameter_i32( &self, sampler: Self::Sampler, name: u32, ) -> i32

source

unsafe fn get_sampler_parameter_f32( &self, sampler: Self::Sampler, name: u32, ) -> f32

source

unsafe fn generate_mipmap(&self, target: u32)

source

unsafe fn generate_texture_mipmap(&self, texture: Self::Texture)

source

unsafe fn tex_image_1d( &self, target: u32, level: i32, internal_format: i32, width: i32, border: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, )

source

unsafe fn compressed_tex_image_1d( &self, target: u32, level: i32, internal_format: i32, width: i32, border: i32, image_size: i32, pixels: &[u8], )

source

unsafe fn tex_image_2d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, border: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, )

source

unsafe fn tex_image_2d_multisample( &self, target: u32, samples: i32, internal_format: i32, width: i32, height: i32, fixed_sample_locations: bool, )

source

unsafe fn compressed_tex_image_2d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, border: i32, image_size: i32, pixels: &[u8], )

source

unsafe fn tex_image_3d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, depth: i32, border: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, )

source

unsafe fn 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], )

source

unsafe fn tex_storage_1d( &self, target: u32, levels: i32, internal_format: u32, width: i32, )

source

unsafe fn tex_storage_2d( &self, target: u32, levels: i32, internal_format: u32, width: i32, height: i32, )

source

unsafe fn texture_storage_2d( &self, texture: Self::Texture, levels: i32, internal_format: u32, width: i32, height: i32, )

source

unsafe fn tex_storage_2d_multisample( &self, target: u32, samples: i32, internal_format: u32, width: i32, height: i32, fixed_sample_locations: bool, )

source

unsafe fn tex_storage_3d( &self, target: u32, levels: i32, internal_format: u32, width: i32, height: i32, depth: i32, )

source

unsafe fn texture_storage_3d( &self, texture: Self::Texture, levels: i32, internal_format: u32, width: i32, height: i32, depth: i32, )

source

unsafe fn get_uniform_i32( &self, program: Self::Program, location: &Self::UniformLocation, v: &mut [i32], )

source

unsafe fn get_uniform_u32( &self, program: Self::Program, location: &Self::UniformLocation, v: &mut [u32], )

source

unsafe fn get_uniform_f32( &self, program: Self::Program, location: &Self::UniformLocation, v: &mut [f32], )

source

unsafe fn uniform_1_i32(&self, location: Option<&Self::UniformLocation>, x: i32)

source

unsafe fn uniform_2_i32( &self, location: Option<&Self::UniformLocation>, x: i32, y: i32, )

source

unsafe fn uniform_3_i32( &self, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, )

source

unsafe fn uniform_4_i32( &self, location: Option<&Self::UniformLocation>, x: i32, y: i32, z: i32, w: i32, )

source

unsafe fn uniform_1_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn uniform_2_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn uniform_3_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn uniform_4_i32_slice( &self, location: Option<&Self::UniformLocation>, v: &[i32], )

source

unsafe fn uniform_1_u32(&self, location: Option<&Self::UniformLocation>, x: u32)

source

unsafe fn uniform_2_u32( &self, location: Option<&Self::UniformLocation>, x: u32, y: u32, )

source

unsafe fn uniform_3_u32( &self, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, )

source

unsafe fn uniform_4_u32( &self, location: Option<&Self::UniformLocation>, x: u32, y: u32, z: u32, w: u32, )

source

unsafe fn uniform_1_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn uniform_2_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn uniform_3_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn uniform_4_u32_slice( &self, location: Option<&Self::UniformLocation>, v: &[u32], )

source

unsafe fn uniform_1_f32(&self, location: Option<&Self::UniformLocation>, x: f32)

source

unsafe fn uniform_2_f32( &self, location: Option<&Self::UniformLocation>, x: f32, y: f32, )

source

unsafe fn uniform_3_f32( &self, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, )

source

unsafe fn uniform_4_f32( &self, location: Option<&Self::UniformLocation>, x: f32, y: f32, z: f32, w: f32, )

source

unsafe fn uniform_1_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn uniform_2_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn uniform_3_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn uniform_4_f32_slice( &self, location: Option<&Self::UniformLocation>, v: &[f32], )

source

unsafe fn uniform_matrix_2_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_2x3_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_2x4_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_3x2_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_3_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_3x4_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_4x2_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_4x3_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn uniform_matrix_4_f32_slice( &self, location: Option<&Self::UniformLocation>, transpose: bool, v: &[f32], )

source

unsafe fn unmap_buffer(&self, target: u32)

source

unsafe fn cull_face(&self, value: u32)

source

unsafe fn color_mask(&self, red: bool, green: bool, blue: bool, alpha: bool)

source

unsafe fn color_mask_draw_buffer( &self, buffer: u32, red: bool, green: bool, blue: bool, alpha: bool, )

source

unsafe fn depth_mask(&self, value: bool)

source

unsafe fn blend_color(&self, red: f32, green: f32, blue: f32, alpha: f32)

source

unsafe fn line_width(&self, width: f32)

source

unsafe fn map_buffer_range( &self, target: u32, offset: i32, length: i32, access: u32, ) -> *mut u8

source

unsafe fn flush_mapped_buffer_range( &self, target: u32, offset: i32, length: i32, )

source

unsafe fn invalidate_buffer_sub_data( &self, target: u32, offset: i32, length: i32, )

source

unsafe fn invalidate_framebuffer(&self, target: u32, attachments: &[u32])

source

unsafe fn invalidate_sub_framebuffer( &self, target: u32, attachments: &[u32], x: i32, y: i32, width: i32, height: i32, )

source

unsafe fn polygon_offset(&self, factor: f32, units: f32)

source

unsafe fn polygon_mode(&self, face: u32, mode: u32)

source

unsafe fn finish(&self)

source

unsafe fn bind_texture(&self, target: u32, texture: Option<Self::Texture>)

source

unsafe fn bind_texture_unit(&self, unit: u32, texture: Option<Self::Texture>)

source

unsafe fn bind_sampler(&self, unit: u32, sampler: Option<Self::Sampler>)

source

unsafe fn active_texture(&self, unit: u32)

source

unsafe fn fence_sync( &self, condition: u32, flags: u32, ) -> Result<Self::Fence, String>

source

unsafe fn tex_parameter_f32(&self, target: u32, parameter: u32, value: f32)

source

unsafe fn tex_parameter_i32(&self, target: u32, parameter: u32, value: i32)

source

unsafe fn texture_parameter_i32( &self, texture: Self::Texture, parameter: u32, value: i32, )

source

unsafe fn tex_parameter_f32_slice( &self, target: u32, parameter: u32, values: &[f32], )

source

unsafe fn tex_parameter_i32_slice( &self, target: u32, parameter: u32, values: &[i32], )

source

unsafe fn 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<'_>, )

source

unsafe fn texture_sub_image_2d( &self, texture: Self::Texture, level: i32, x_offset: i32, y_offset: i32, width: i32, height: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, )

source

unsafe fn compressed_tex_sub_image_2d( &self, target: u32, level: i32, x_offset: i32, y_offset: i32, width: i32, height: i32, format: u32, pixels: CompressedPixelUnpackData<'_>, )

source

unsafe fn 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<'_>, )

source

unsafe fn texture_sub_image_3d( &self, texture: Self::Texture, level: i32, x_offset: i32, y_offset: i32, z_offset: i32, width: i32, height: i32, depth: i32, format: u32, ty: u32, pixels: PixelUnpackData<'_>, )

source

unsafe fn 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<'_>, )

source

unsafe fn depth_func(&self, func: u32)

source

unsafe fn depth_range_f32(&self, near: f32, far: f32)

source

unsafe fn depth_range_f64(&self, near: f64, far: f64)

source

unsafe fn depth_range(&self, near: f64, far: f64)

source

unsafe fn depth_range_f64_slice( &self, first: u32, count: i32, values: &[[f64; 2]], )

source

unsafe fn scissor(&self, x: i32, y: i32, width: i32, height: i32)

source

unsafe fn scissor_slice(&self, first: u32, count: i32, scissors: &[[i32; 4]])

source

unsafe fn vertex_array_attrib_binding_f32( &self, vao: Self::VertexArray, index: u32, binding_index: u32, )

source

unsafe fn vertex_array_attrib_format_f32( &self, vao: Self::VertexArray, index: u32, size: i32, data_type: u32, normalized: bool, relative_offset: u32, )

source

unsafe fn vertex_array_attrib_format_i32( &self, vao: Self::VertexArray, index: u32, size: i32, data_type: u32, relative_offset: u32, )

source

unsafe fn vertex_array_attrib_format_f64( &self, vao: Self::VertexArray, index: u32, size: i32, data_type: u32, relative_offset: u32, )

source

unsafe fn vertex_array_element_buffer( &self, vao: Self::VertexArray, buffer: Option<Self::Buffer>, )

source

unsafe fn vertex_array_vertex_buffer( &self, vao: Self::VertexArray, binding_index: u32, buffer: Option<Self::Buffer>, offset: i32, stride: i32, )

source

unsafe fn vertex_attrib_divisor(&self, index: u32, divisor: u32)

source

unsafe fn get_vertex_attrib_parameter_f32_slice( &self, index: u32, pname: u32, result: &mut [f32], )

source

unsafe fn vertex_attrib_pointer_f32( &self, index: u32, size: i32, data_type: u32, normalized: bool, stride: i32, offset: i32, )

source

unsafe fn vertex_attrib_pointer_i32( &self, index: u32, size: i32, data_type: u32, stride: i32, offset: i32, )

source

unsafe fn vertex_attrib_pointer_f64( &self, index: u32, size: i32, data_type: u32, stride: i32, offset: i32, )

source

unsafe fn vertex_attrib_format_f32( &self, index: u32, size: i32, data_type: u32, normalized: bool, relative_offset: u32, )

source

unsafe fn vertex_attrib_format_i32( &self, index: u32, size: i32, data_type: u32, relative_offset: u32, )

source

unsafe fn vertex_attrib_format_f64( &self, index: u32, size: i32, data_type: u32, relative_offset: u32, )

source

unsafe fn vertex_attrib_1_f32(&self, index: u32, x: f32)

source

unsafe fn vertex_attrib_2_f32(&self, index: u32, x: f32, y: f32)

source

unsafe fn vertex_attrib_3_f32(&self, index: u32, x: f32, y: f32, z: f32)

source

unsafe fn vertex_attrib_4_f32(&self, index: u32, x: f32, y: f32, z: f32, w: f32)

source

unsafe fn vertex_attrib_4_i32(&self, index: u32, x: i32, y: i32, z: i32, w: i32)

source

unsafe fn vertex_attrib_4_u32(&self, index: u32, x: u32, y: u32, z: u32, w: u32)

source

unsafe fn vertex_attrib_1_f32_slice(&self, index: u32, v: &[f32])

source

unsafe fn vertex_attrib_2_f32_slice(&self, index: u32, v: &[f32])

source

unsafe fn vertex_attrib_3_f32_slice(&self, index: u32, v: &[f32])

source

unsafe fn vertex_attrib_4_f32_slice(&self, index: u32, v: &[f32])

source

unsafe fn vertex_attrib_binding(&self, attrib_index: u32, binding_index: u32)

source

unsafe fn vertex_binding_divisor(&self, binding_index: u32, divisor: u32)

source

unsafe fn viewport(&self, x: i32, y: i32, width: i32, height: i32)

source

unsafe fn viewport_f32_slice(&self, first: u32, count: i32, values: &[[f32; 4]])

source

unsafe fn blend_equation(&self, mode: u32)

source

unsafe fn blend_equation_draw_buffer(&self, draw_buffer: u32, mode: u32)

source

unsafe fn blend_equation_separate(&self, mode_rgb: u32, mode_alpha: u32)

source

unsafe fn blend_equation_separate_draw_buffer( &self, buffer: u32, mode_rgb: u32, mode_alpha: u32, )

source

unsafe fn blend_func(&self, src: u32, dst: u32)

source

unsafe fn blend_func_draw_buffer(&self, draw_buffer: u32, src: u32, dst: u32)

source

unsafe fn blend_func_separate( &self, src_rgb: u32, dst_rgb: u32, src_alpha: u32, dst_alpha: u32, )

source

unsafe fn blend_func_separate_draw_buffer( &self, draw_buffer: u32, src_rgb: u32, dst_rgb: u32, src_alpha: u32, dst_alpha: u32, )

source

unsafe fn stencil_func(&self, func: u32, reference: i32, mask: u32)

source

unsafe fn stencil_func_separate( &self, face: u32, func: u32, reference: i32, mask: u32, )

source

unsafe fn stencil_mask(&self, mask: u32)

source

unsafe fn stencil_mask_separate(&self, face: u32, mask: u32)

source

unsafe fn stencil_op(&self, stencil_fail: u32, depth_fail: u32, pass: u32)

source

unsafe fn stencil_op_separate( &self, face: u32, stencil_fail: u32, depth_fail: u32, pass: u32, )

source

unsafe fn debug_message_control( &self, source: u32, msg_type: u32, severity: u32, ids: &[u32], enabled: bool, )

source

unsafe fn debug_message_insert<S>( &self, source: u32, msg_type: u32, id: u32, severity: u32, msg: S, )
where S: AsRef<str>,

source

unsafe fn debug_message_callback<F>(&mut self, callback: F)
where F: Fn(u32, u32, u32, u32, &str) + Send + Sync + 'static,

source

unsafe fn get_debug_message_log(&self, count: u32) -> Vec<DebugMessageLogEntry>

source

unsafe fn push_debug_group<S>(&self, source: u32, id: u32, message: S)
where S: AsRef<str>,

source

unsafe fn pop_debug_group(&self)

source

unsafe fn object_label<S>(&self, identifier: u32, name: u32, label: Option<S>)
where S: AsRef<str>,

source

unsafe fn get_object_label(&self, identifier: u32, name: u32) -> String

source

unsafe fn object_ptr_label<S>(&self, sync: Self::Fence, label: Option<S>)
where S: AsRef<str>,

source

unsafe fn get_object_ptr_label(&self, sync: Self::Fence) -> String

source

unsafe fn get_uniform_block_index( &self, program: Self::Program, name: &str, ) -> Option<u32>

source

unsafe fn get_uniform_indices( &self, program: Self::Program, names: &[&str], ) -> Vec<Option<u32>>

source

unsafe fn uniform_block_binding( &self, program: Self::Program, index: u32, binding: u32, )

source

unsafe fn get_shader_storage_block_index( &self, program: Self::Program, name: &str, ) -> Option<u32>

source

unsafe fn shader_storage_block_binding( &self, program: Self::Program, index: u32, binding: u32, )

source

unsafe fn read_buffer(&self, src: u32)

source

unsafe fn named_framebuffer_read_buffer( &self, framebuffer: Option<Self::Framebuffer>, src: u32, )

source

unsafe fn read_pixels( &self, x: i32, y: i32, width: i32, height: i32, format: u32, gltype: u32, pixels: PixelPackData<'_>, )

source

unsafe fn begin_query(&self, target: u32, query: Self::Query)

source

unsafe fn end_query(&self, target: u32)

source

unsafe fn query_counter(&self, query: Self::Query, target: u32)

source

unsafe fn get_query_parameter_u32( &self, query: Self::Query, parameter: u32, ) -> u32

source

unsafe fn get_query_parameter_u64_with_offset( &self, query: Self::Query, parameter: u32, offset: usize, )

source

unsafe fn delete_transform_feedback( &self, transform_feedback: Self::TransformFeedback, )

source

unsafe fn is_transform_feedback( &self, transform_feedback: Self::TransformFeedback, ) -> bool

source

unsafe fn create_transform_feedback( &self, ) -> Result<Self::TransformFeedback, String>

source

unsafe fn bind_transform_feedback( &self, target: u32, transform_feedback: Option<Self::TransformFeedback>, )

source

unsafe fn begin_transform_feedback(&self, primitive_mode: u32)

source

unsafe fn end_transform_feedback(&self)

source

unsafe fn pause_transform_feedback(&self)

source

unsafe fn resume_transform_feedback(&self)

source

unsafe fn transform_feedback_varyings( &self, program: Self::Program, varyings: &[&str], buffer_mode: u32, )

source

unsafe fn get_transform_feedback_varying( &self, program: Self::Program, index: u32, ) -> Option<ActiveTransformFeedback>

source

unsafe fn memory_barrier(&self, barriers: u32)

source

unsafe fn memory_barrier_by_region(&self, barriers: u32)

source

unsafe fn bind_image_texture( &self, unit: u32, texture: Option<Self::Texture>, level: i32, layered: bool, layer: i32, access: u32, format: u32, )

source

unsafe fn max_shader_compiler_threads(&self, count: u32)

source

unsafe fn hint(&self, target: u32, mode: u32)

source

unsafe fn sample_coverage(&self, value: f32, invert: bool)

source

unsafe fn get_internal_format_i32_slice( &self, target: u32, internal_format: u32, pname: u32, result: &mut [i32], )

Object Safety§

This trait is not object safe.

Implementors§