@@ -26,8 +26,8 @@ use euclid::default::Size2D;
2626use fnv:: FnvHashMap ;
2727use glow:: {
2828 self as gl, bytes_per_type, components_per_format, ActiveTransformFeedback , Context as Gl ,
29- HasContext , NativeFramebuffer , NativeTransformFeedback , NativeUniformLocation ,
30- NativeVertexArray , PixelUnpackData , ShaderPrecisionFormat ,
29+ HasContext , NativeTransformFeedback , NativeUniformLocation , NativeVertexArray , PixelUnpackData ,
30+ ShaderPrecisionFormat ,
3131} ;
3232use half:: f16;
3333use log:: { debug, error, trace, warn} ;
@@ -49,7 +49,6 @@ use crate::webgl_limits::GLLimitsDetect;
4949#[ cfg( feature = "webxr" ) ]
5050use crate :: webxr:: { WebXRBridge , WebXRBridgeContexts , WebXRBridgeInit } ;
5151
52- type GLuint = u32 ;
5352type GLint = i32 ;
5453
5554fn native_uniform_location ( location : i32 ) -> Option < NativeUniformLocation > {
@@ -606,10 +605,7 @@ impl WebGLThread {
606605 . framebuffer_object ;
607606
608607 unsafe {
609- gl. bind_framebuffer (
610- gl:: FRAMEBUFFER ,
611- NonZeroU32 :: new ( framebuffer) . map ( NativeFramebuffer ) ,
612- ) ;
608+ gl. bind_framebuffer ( gl:: FRAMEBUFFER , framebuffer) ;
613609 gl. viewport ( 0 , 0 , size. width as i32 , size. height as i32 ) ;
614610 gl. scissor ( 0 , 0 , size. width as i32 , size. height as i32 ) ;
615611 gl. clear_color ( 0. , 0. , 0. , !has_alpha as u32 as f32 ) ;
@@ -839,7 +835,7 @@ impl WebGLThread {
839835 . unwrap ( )
840836 . unwrap ( ) ;
841837 debug ! (
842- "... rebound framebuffer {}, new back buffer surface is {:?}" ,
838+ "... rebound framebuffer {:? }, new back buffer surface is {:?}" ,
843839 framebuffer_object, id
844840 ) ;
845841
@@ -2698,14 +2694,13 @@ impl WebGLImpl {
26982694 ) {
26992695 let id = match request {
27002696 WebGLFramebufferBindingRequest :: Explicit ( id) => Some ( id. glow ( ) ) ,
2701- WebGLFramebufferBindingRequest :: Default => NonZeroU32 :: new (
2697+ WebGLFramebufferBindingRequest :: Default => {
27022698 device
27032699 . context_surface_info ( ctx)
27042700 . unwrap ( )
27052701 . expect ( "No surface attached!" )
2706- . framebuffer_object ,
2707- )
2708- . map ( NativeFramebuffer ) ,
2702+ . framebuffer_object
2703+ } ,
27092704 } ;
27102705
27112706 debug ! ( "WebGLImpl::bind_framebuffer: {:?}" , id) ;
@@ -3188,9 +3183,8 @@ struct FramebufferRebindingInfo {
31883183impl FramebufferRebindingInfo {
31893184 fn detect ( device : & Device , context : & Context , gl : & Gl ) -> FramebufferRebindingInfo {
31903185 unsafe {
3191- let ( mut read_framebuffer, mut draw_framebuffer) = ( [ 0 ] , [ 0 ] ) ;
3192- gl. get_parameter_i32_slice ( gl:: READ_FRAMEBUFFER_BINDING , & mut read_framebuffer) ;
3193- gl. get_parameter_i32_slice ( gl:: DRAW_FRAMEBUFFER_BINDING , & mut draw_framebuffer) ;
3186+ let read_framebuffer = gl. get_parameter_framebuffer ( gl:: READ_FRAMEBUFFER_BINDING ) ;
3187+ let draw_framebuffer = gl. get_parameter_framebuffer ( gl:: DRAW_FRAMEBUFFER_BINDING ) ;
31943188
31953189 let context_surface_framebuffer = device
31963190 . context_surface_info ( context)
@@ -3199,10 +3193,10 @@ impl FramebufferRebindingInfo {
31993193 . framebuffer_object ;
32003194
32013195 let mut flags = FramebufferRebindingFlags :: empty ( ) ;
3202- if context_surface_framebuffer == read_framebuffer[ 0 ] as GLuint {
3196+ if context_surface_framebuffer == read_framebuffer {
32033197 flags. insert ( FramebufferRebindingFlags :: REBIND_READ_FRAMEBUFFER ) ;
32043198 }
3205- if context_surface_framebuffer == draw_framebuffer[ 0 ] as GLuint {
3199+ if context_surface_framebuffer == draw_framebuffer {
32063200 flags. insert ( FramebufferRebindingFlags :: REBIND_DRAW_FRAMEBUFFER ) ;
32073201 }
32083202
@@ -3227,23 +3221,13 @@ impl FramebufferRebindingInfo {
32273221 . flags
32283222 . contains ( FramebufferRebindingFlags :: REBIND_READ_FRAMEBUFFER )
32293223 {
3230- unsafe {
3231- gl. bind_framebuffer (
3232- gl:: READ_FRAMEBUFFER ,
3233- NonZeroU32 :: new ( context_surface_framebuffer) . map ( NativeFramebuffer ) ,
3234- )
3235- } ;
3224+ unsafe { gl. bind_framebuffer ( gl:: READ_FRAMEBUFFER , context_surface_framebuffer) } ;
32363225 }
32373226 if self
32383227 . flags
32393228 . contains ( FramebufferRebindingFlags :: REBIND_DRAW_FRAMEBUFFER )
32403229 {
3241- unsafe {
3242- gl. bind_framebuffer (
3243- gl:: DRAW_FRAMEBUFFER ,
3244- NonZeroU32 :: new ( context_surface_framebuffer) . map ( NativeFramebuffer ) ,
3245- )
3246- } ;
3230+ unsafe { gl. bind_framebuffer ( gl:: DRAW_FRAMEBUFFER , context_surface_framebuffer) } ;
32473231 }
32483232
32493233 unsafe {
0 commit comments