struct Gl {
gen_framebuffers: unsafe extern "C" fn(c_int, *mut u32),
delete_framebuffers: unsafe extern "C" fn(c_int, *const u32),
bind_framebuffer: unsafe extern "C" fn(u32, u32),
framebuffer_texture_2d: unsafe extern "C" fn(u32, u32, u32, u32, c_int),
gen_textures: unsafe extern "C" fn(c_int, *mut u32),
delete_textures: unsafe extern "C" fn(c_int, *const u32),
bind_texture: unsafe extern "C" fn(u32, u32),
tex_image_2d: unsafe extern "C" fn(u32, c_int, c_int, c_int, c_int, c_int, u32, u32, *const c_void),
tex_parameteri: unsafe extern "C" fn(u32, u32, c_int),
check_framebuffer_status: unsafe extern "C" fn(u32) -> u32,
}Expand description
GL entry points, resolved once.
Only the handful needed to own a framebuffer; mpv resolves everything else
it needs through get_proc_address.
Fields§
§gen_framebuffers: unsafe extern "C" fn(c_int, *mut u32)§delete_framebuffers: unsafe extern "C" fn(c_int, *const u32)§bind_framebuffer: unsafe extern "C" fn(u32, u32)§framebuffer_texture_2d: unsafe extern "C" fn(u32, u32, u32, u32, c_int)§gen_textures: unsafe extern "C" fn(c_int, *mut u32)§delete_textures: unsafe extern "C" fn(c_int, *const u32)§bind_texture: unsafe extern "C" fn(u32, u32)§tex_image_2d: unsafe extern "C" fn(u32, c_int, c_int, c_int, c_int, c_int, u32, u32, *const c_void)§tex_parameteri: unsafe extern "C" fn(u32, u32, c_int)§check_framebuffer_status: unsafe extern "C" fn(u32) -> u32Implementations§
Source§impl Gl
impl Gl
Sourceunsafe fn load() -> Option<Self>
unsafe fn load() -> Option<Self>
Resolve every entry point, or none — a partially-loaded table would fail later at a call site with no context.
The transmutes are unannotated on purpose: each target type is declared once on the struct field above, and repeating it at the call site would be two places to get the same signature wrong.
Auto Trait Implementations§
impl Freeze for Gl
impl RefUnwindSafe for Gl
impl Send for Gl
impl Sync for Gl
impl Unpin for Gl
impl UnsafeUnpin for Gl
impl UnwindSafe for Gl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more