diff --git a/src/backend/drm/device/atomic.rs b/src/backend/drm/device/atomic.rs index 1ed7b1a..3448dc9 100644 --- a/src/backend/drm/device/atomic.rs +++ b/src/backend/drm/device/atomic.rs @@ -52,7 +52,7 @@ impl AtomicDrmDevice { let plane_handles = dev.fd.plane_handles().map_err(|source| Error::Access { errmsg: "Error loading planes", dev: dev.fd.dev_path(), - source, + source })?; let planes = plane_handles.planes(); @@ -239,7 +239,7 @@ impl Drop for AtomicDrmDevice { req.add_raw_property((*handle).into(), prop_handle, val); } } - }; + } add_multiple_props(&mut req, &self.old_state.0); add_multiple_props(&mut req, &self.old_state.1); diff --git a/src/backend/drm/render.rs b/src/backend/drm/render.rs index 0c8d4ec..f9c5040 100644 --- a/src/backend/drm/render.rs +++ b/src/backend/drm/render.rs @@ -22,7 +22,7 @@ pub struct DrmRenderSurface< R: Bind, B: Buffer + TryInto, > { - format: Fourcc, + _format: Format, buffers: Buffers, current_buffer: Option>>>, swapchain: Swapchain>, Dmabuf>, @@ -56,7 +56,7 @@ where // select a format let plane_formats = drm.supported_formats().iter().filter(|fmt| fmt.code == code).cloned().collect::>(); - let mut renderer_formats = Bind::::supported_formats(&renderer).expect("Dmabuf renderer without formats") + let renderer_formats = Bind::::supported_formats(&renderer).expect("Dmabuf renderer without formats") .iter().filter(|fmt| fmt.code == code).cloned().collect::>(); trace!(logger, "Remaining plane formats: {:?}", plane_formats); @@ -140,7 +140,7 @@ where let buffers = Buffers::new(drm.clone(), gbm, buffer); Ok(DrmRenderSurface { drm, - format: format.code, + _format: format, renderer, swapchain, buffers, diff --git a/src/backend/drm/surface/mod.rs b/src/backend/drm/surface/mod.rs index 1032c76..1fd5d61 100644 --- a/src/backend/drm/surface/mod.rs +++ b/src/backend/drm/surface/mod.rs @@ -7,10 +7,10 @@ use drm::control::{Device as ControlDevice, Mode, crtc, connector, framebuffer, pub(super) mod atomic; pub(super) mod legacy; -use super::{error::Error, device::DevPath}; +use super::error::Error; use atomic::AtomicDrmSurface; use legacy::LegacyDrmSurface; -use crate::backend::allocator::{Format, Fourcc, Modifier}; +use crate::backend::allocator::Format; pub struct DrmSurface { diff --git a/src/backend/egl/context.rs b/src/backend/egl/context.rs index 6928f8b..7a0cc2c 100644 --- a/src/backend/egl/context.rs +++ b/src/backend/egl/context.rs @@ -1,11 +1,9 @@ //! EGL context related structs use std::os::raw::c_int; -use std::ptr; use std::sync::atomic::Ordering; use super::{ffi, wrap_egl_call, Error, MakeCurrentError}; use crate::backend::egl::display::{EGLDisplay, PixelFormat}; -use crate::backend::egl::native::EGLNativeSurface; use crate::backend::egl::EGLSurface; diff --git a/src/backend/egl/display.rs b/src/backend/egl/display.rs index 18aac99..0fb327f 100644 --- a/src/backend/egl/display.rs +++ b/src/backend/egl/display.rs @@ -318,7 +318,7 @@ impl EGLDisplay { .map_err(Error::ConfigFailed)?; value.assume_init() }}; - }; + } // return the format that was selected for our config let desc = unsafe { diff --git a/src/backend/egl/ffi.rs b/src/backend/egl/ffi.rs index b6d0aa6..4496e1f 100644 --- a/src/backend/egl/ffi.rs +++ b/src/backend/egl/ffi.rs @@ -22,7 +22,7 @@ pub fn make_sure_egl_is_loaded() { F: for<'a> Fn(&'a str) -> *const ::std::os::raw::c_void, { f - }; + } egl::load_with(|sym| { let name = CString::new(sym).unwrap(); diff --git a/src/backend/egl/mod.rs b/src/backend/egl/mod.rs index 257b278..47362a4 100644 --- a/src/backend/egl/mod.rs +++ b/src/backend/egl/mod.rs @@ -70,11 +70,9 @@ impl ::std::error::Error for EglExtensionNotSupportedError {} /// /// Result is independent of displays and does not guarantee an extension is actually supported at runtime. pub unsafe fn get_proc_address(symbol: &str) -> *const c_void { - unsafe { - let addr = CString::new(symbol.as_bytes()).unwrap(); - let addr = addr.as_ptr(); - ffi::egl::GetProcAddress(addr) as *const _ - } + let addr = CString::new(symbol.as_bytes()).unwrap(); + let addr = addr.as_ptr(); + ffi::egl::GetProcAddress(addr) as *const _ } /// Error that can occur when accessing an EGL buffer diff --git a/src/backend/egl/surface.rs b/src/backend/egl/surface.rs index 8153830..0d3e863 100644 --- a/src/backend/egl/surface.rs +++ b/src/backend/egl/surface.rs @@ -98,15 +98,14 @@ impl EGLSurface { ); if self.native.needs_recreation() || surface.is_null() || is_bad_surface { - let previous = self.surface.compare_and_swap( + let previous = self.surface.compare_exchange( surface, - unsafe { - self.native - .create(&self.display, self.config_id, &self.surface_attributes) - .map_err(SwapBuffersError::EGLCreateSurface)? as *mut _ - }, + self.native + .create(&self.display, self.config_id, &self.surface_attributes) + .map_err(SwapBuffersError::EGLCreateSurface)? as *mut _, Ordering::SeqCst, - ); + Ordering::SeqCst, + ).expect("The surface pointer changed in between?"); if previous == surface && !surface.is_null() { let _ = unsafe { ffi::egl::DestroySurface(**self.display, surface as *const _) }; } diff --git a/src/backend/renderer/gles2/mod.rs b/src/backend/renderer/gles2/mod.rs index 3a8bb64..dff871d 100644 --- a/src/backend/renderer/gles2/mod.rs +++ b/src/backend/renderer/gles2/mod.rs @@ -3,7 +3,7 @@ use std::ffi::CStr; use std::ptr; use std::rc::Rc; -use cgmath::{prelude::*, Matrix3, Vector2}; +use cgmath::{prelude::*, Matrix3}; mod shaders; use crate::backend::SwapBuffersError; diff --git a/src/backend/winit.rs b/src/backend/winit.rs index 13ec276..66d0b6f 100644 --- a/src/backend/winit.rs +++ b/src/backend/winit.rs @@ -168,7 +168,7 @@ where unreachable!("No backends for winit other then Wayland and X11 are supported") }; - context.unbind(); + let _ = context.unbind(); ( display, @@ -184,7 +184,7 @@ where let window = Rc::new(winit_window); let egl = Rc::new(surface); - let mut renderer = unsafe { Gles2Renderer::new(context, log.clone())? }; + let renderer = unsafe { Gles2Renderer::new(context, log.clone())? }; Ok(( WinitGraphicsBackend {