From bce88d25146222c532767dd02af123bc56893b74 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Tue, 27 Dec 2022 18:27:29 +0100 Subject: [PATCH] deps: Update smithay --- Cargo.lock | 90 +++++++++++++++++++---------------- Cargo.toml | 8 ++-- src/backend/kms/mod.rs | 68 ++++++++++++-------------- src/backend/kms/session_fd.rs | 38 --------------- src/backend/render/element.rs | 30 ++++++------ src/backend/x11.rs | 20 ++++---- src/shell/element/mod.rs | 28 +++++------ src/shell/workspace.rs | 10 ++-- src/state.rs | 4 +- 9 files changed, 126 insertions(+), 170 deletions(-) delete mode 100644 src/backend/kms/session_fd.rs diff --git a/Cargo.lock b/Cargo.lock index 1003fc44..91ab709d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -341,7 +341,7 @@ dependencies = [ "smithay-egui", "thiserror", "wayland-backend", - "wayland-scanner 0.30.0-beta.13", + "wayland-scanner 0.30.0-beta.15", "xcursor", "xdg", "xkbcommon 0.4.1", @@ -354,8 +354,8 @@ source = "git+https://github.com/pop-os/cosmic-protocols?branch=main#a3e0aa740a3 dependencies = [ "bitflags", "wayland-backend", - "wayland-protocols 0.30.0-beta.13", - "wayland-scanner 0.30.0-beta.13", + "wayland-protocols 0.30.0-beta.15", + "wayland-scanner 0.30.0-beta.15", "wayland-server", ] @@ -605,7 +605,7 @@ dependencies = [ "bytemuck", "egui", "glow", - "memoffset", + "memoffset 0.6.5", "tracing", "wasm-bindgen", "web-sys", @@ -921,12 +921,12 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.0-rc1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f65dae1d3aa98e6877917ab4e6fdbfdfb00e95885ea7c4f4f29e3a5dfc08fdf" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" dependencies = [ "libc", - "windows-sys 0.36.1", + "windows-sys 0.42.0", ] [[package]] @@ -1101,6 +1101,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -1205,7 +1214,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "memoffset", + "memoffset 0.6.5", ] [[package]] @@ -1217,7 +1226,7 @@ dependencies = [ "bitflags", "cfg-if", "libc", - "memoffset", + "memoffset 0.6.5", ] [[package]] @@ -1230,7 +1239,7 @@ dependencies = [ "bitflags", "cfg-if", "libc", - "memoffset", + "memoffset 0.6.5", ] [[package]] @@ -1820,7 +1829,7 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/pop-os/smithay?rev=8f6261bbf6#8f6261bbf6b2158e5cb451c6537378772eae7fe2" +source = "git+https://github.com/pop-os/smithay?rev=51368f56bc#51368f56bc459c7dc5b9eff0385cd0bc49db53b2" dependencies = [ "appendlist", "bitflags", @@ -1852,11 +1861,11 @@ dependencies = [ "udev", "wayland-backend", "wayland-egl", - "wayland-protocols 0.30.0-beta.13", + "wayland-protocols 0.30.0-beta.15", "wayland-protocols-misc", "wayland-protocols-wlr", "wayland-server", - "wayland-sys 0.30.0-beta.13", + "wayland-sys 0.30.1", "winit", "x11rb", "xkbcommon 0.5.0", @@ -1884,14 +1893,14 @@ dependencies = [ [[package]] name = "smithay-egui" version = "0.1.0" -source = "git+https://github.com/Smithay/smithay-egui.git?rev=13626ad3f4#13626ad3f41a6f877929802eb645a10e5bd1abae" +source = "git+https://github.com/Smithay/smithay-egui.git?rev=b2be360015#b2be360015aac0a4f0ed934d7ac3df72aced8f2a" dependencies = [ "cgmath", "egui", "egui_extras", "egui_glow", "image", - "memoffset", + "memoffset 0.6.5", "smithay", "xkbcommon 0.4.1", ] @@ -2257,9 +2266,9 @@ checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "wayland-backend" -version = "0.1.0-beta.13" +version = "0.1.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f96c52ca34b33e6bb55497327428be54dad648973aa5d3d1e02982d2fcc298" +checksum = "5fd01ec68102e595371e585da12bb7d2785b93639a1b3a9f99f1030634c526ac" dependencies = [ "cc", "downcast-rs", @@ -2267,7 +2276,7 @@ dependencies = [ "nix 0.25.0", "scoped-tls", "smallvec", - "wayland-sys 0.30.0-beta.13", + "wayland-sys 0.30.1", ] [[package]] @@ -2311,13 +2320,13 @@ dependencies = [ [[package]] name = "wayland-egl" -version = "0.30.0-beta.13" +version = "0.30.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da29b4a38d5cd89b90786305b62c21889d7d97bb1e2ccf46a94906832898e20e" +checksum = "7bee5cad71e703c1cda119cd614ef8c8f1c6c5d04927c33f3485bdf22bef00db" dependencies = [ "thiserror", "wayland-backend", - "wayland-sys 0.30.0-beta.13", + "wayland-sys 0.30.1", ] [[package]] @@ -2334,39 +2343,39 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.30.0-beta.13" +version = "0.30.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e32104ba51988754f4429dbb59c7b7fd2ccf1feaa0009bb59e49a5e2f91e985d" +checksum = "89c142821785f87f5c0c14d29b37b05b458a76f88f5b86d24e7be259e5659f48" dependencies = [ "bitflags", "wayland-backend", - "wayland-scanner 0.30.0-beta.13", + "wayland-scanner 0.30.0-beta.15", "wayland-server", ] [[package]] name = "wayland-protocols-misc" -version = "0.1.0-beta.13" +version = "0.1.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6d0be545a3b35869060efa6e19622f6b071a9ee8d09da5ffa48f072524fddaa" +checksum = "ba9acd1d036b489da5036c257fe0b8bb815a202a35e6e7455f1262e2b6af0fc6" dependencies = [ "bitflags", "wayland-backend", - "wayland-protocols 0.30.0-beta.13", - "wayland-scanner 0.30.0-beta.13", + "wayland-protocols 0.30.0-beta.15", + "wayland-scanner 0.30.0-beta.15", "wayland-server", ] [[package]] name = "wayland-protocols-wlr" -version = "0.1.0-beta.13" +version = "0.1.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "130613a48629204e4ab50ea4b5de2efa2e17c58f71a5af15b39535f99421f8c3" +checksum = "f3fb9e3d2d11e195572835a6a447ed98a5201f461f32ebcf3e8d3ec9a0502cfd" dependencies = [ "bitflags", "wayland-backend", - "wayland-protocols 0.30.0-beta.13", - "wayland-scanner 0.30.0-beta.13", + "wayland-protocols 0.30.0-beta.15", + "wayland-scanner 0.30.0-beta.15", "wayland-server", ] @@ -2383,9 +2392,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.30.0-beta.13" +version = "0.30.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb55ca28710dcc155078db4e2bd29aacf24bd311261c48750f38c6c5430bf1f" +checksum = "528e351affadac21fa63ac149e68747a43500bd93d742c42b5b22473890fbfbb" dependencies = [ "proc-macro2", "quick-xml", @@ -2395,16 +2404,17 @@ dependencies = [ [[package]] name = "wayland-server" -version = "0.30.0-beta.13" +version = "0.30.0-beta.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5ed6de3d02e0bcfee03cf23b8f8e923fb3707d826bcb1ef10ef34647778e20" +checksum = "ee9869ba2ca46e6689ef235a44ef1c452d7d7a89a3bc076411acf524ddf73bfa" dependencies = [ "bitflags", "downcast-rs", + "io-lifetimes", "nix 0.25.0", "thiserror", "wayland-backend", - "wayland-scanner 0.30.0-beta.13", + "wayland-scanner 0.30.0-beta.15", ] [[package]] @@ -2420,14 +2430,14 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.30.0-beta.13" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882bda56e8397384ad66ec0ebe763e0b3b53153a6327344f7d74b85981a271e1" +checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" dependencies = [ "dlib", "libc", "log", - "memoffset", + "memoffset 0.7.1", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 257e6213..23cfbf67 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,8 +30,8 @@ indexmap = "1.8.0" xdg = "^2.1" ron = "0.7" libsystemd = "0.5" -wayland-backend = "=0.1.0-beta.13" -wayland-scanner = "=0.30.0-beta.13" +wayland-backend = "=0.1.0-beta.15" +wayland-scanner = "=0.30.0-beta.15" cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols", branch = "main", default-features = false, features = ["server"] } [dependencies.smithay] @@ -43,7 +43,7 @@ features = ["backend_drm", "backend_gbm", "backend_egl", "backend_libinput", "ba [dependencies.smithay-egui] git = "https://github.com/Smithay/smithay-egui.git" -rev = "13626ad3f4" +rev = "b2be360015" features = ["svg"] optional = true @@ -62,4 +62,4 @@ debug = true lto = "fat" [patch."https://github.com/Smithay/smithay.git"] -smithay = { git = "https://github.com/pop-os/smithay", rev = "8f6261bbf6" } +smithay = { git = "https://github.com/pop-os/smithay", rev = "51368f56bc" } diff --git a/src/backend/kms/mod.rs b/src/backend/kms/mod.rs index 4575a902..95a6b201 100644 --- a/src/backend/kms/mod.rs +++ b/src/backend/kms/mod.rs @@ -16,7 +16,9 @@ use anyhow::{Context, Result}; use smithay::{ backend::{ allocator::{dmabuf::Dmabuf, gbm::GbmDevice, Format}, - drm::{DrmDevice, DrmEvent, DrmEventTime, DrmNode, GbmBufferedSurface, NodeType}, + drm::{ + DrmDevice, DrmDeviceFd, DrmEvent, DrmEventTime, DrmNode, GbmBufferedSurface, NodeType, + }, egl::{EGLContext, EGLDevice, EGLDisplay}, input::InputEvent, libinput::{LibinputInputBackend, LibinputSessionInterface}, @@ -45,7 +47,7 @@ use smithay::{ }, utils::{ signaling::{Linkable, SignalToken, Signaler}, - Size, Transform, + DeviceFd, Size, Transform, }, wayland::dmabuf::DmabufGlobal, }; @@ -53,16 +55,13 @@ use smithay::{ use std::{ cell::RefCell, collections::{HashMap, HashSet}, - os::unix::io::{FromRawFd, OwnedFd}, + os::unix::io::FromRawFd, path::PathBuf, - rc::Rc, time::Duration, }; mod drm_helpers; -mod session_fd; mod socket; -use session_fd::*; use socket::*; use super::render::{CursorMode, GlMultiRenderer}; @@ -82,8 +81,8 @@ pub struct KmsState { pub struct Device { render_node: DrmNode, surfaces: HashMap, - allocator: Rc>>, - drm: Dispatcher<'static, DrmDevice, Data>, + allocator: GbmDevice, + drm: Dispatcher<'static, DrmDevice, Data>, formats: HashSet, supports_atomic: bool, event_token: Option, @@ -91,13 +90,7 @@ pub struct Device { } pub struct Surface { - surface: Option< - GbmBufferedSurface< - Rc>>, - SessionFd, - Option, - >, - >, + surface: Option, Option>>, damage_tracker: DamageTrackedRenderer, connector: connector::Handle, output: Output, @@ -324,23 +317,26 @@ impl State { return Ok(()); } - let fd = SessionFd::new(unsafe { - OwnedFd::from_raw_fd( - self.backend - .kms() - .session - .open( - &path, - OFlag::O_RDWR | OFlag::O_CLOEXEC | OFlag::O_NOCTTY | OFlag::O_NONBLOCK, - ) - .with_context(|| { - format!( - "Failed to optain file descriptor for drm device: {}", - path.display() + let fd = DrmDeviceFd::new( + unsafe { + DeviceFd::from_raw_fd( + self.backend + .kms() + .session + .open( + &path, + OFlag::O_RDWR | OFlag::O_CLOEXEC | OFlag::O_NOCTTY | OFlag::O_NONBLOCK, ) - })?, - ) - }); + .with_context(|| { + format!( + "Failed to optain file descriptor for drm device: {}", + path.display() + ) + })?, + ) + }, + None, + ); let mut drm = DrmDevice::new(fd.clone(), false, None) .with_context(|| format!("Failed to initialize drm device for: {}", path.display()))?; let drm_node = DrmNode::from_dev_id(dev)?; @@ -348,11 +344,9 @@ impl State { let gbm = GbmDevice::new(fd) .with_context(|| format!("Failed to initialize GBM device for {}", path.display()))?; - let egl_display = unsafe { - EGLDisplay::new(&gbm, None).with_context(|| { - format!("Failed to create EGLDisplay for device: {}", path.display()) - })? - }; + let egl_display = EGLDisplay::new(gbm.clone(), None).with_context(|| { + format!("Failed to create EGLDisplay for device: {}", path.display()) + })?; let egl_device = EGLDevice::device_for_display(&egl_display).with_context(|| { format!("Unable to find matching egl device for {}", path.display()) })?; @@ -488,7 +482,7 @@ impl State { let mut device = Device { render_node, surfaces: HashMap::new(), - allocator: Rc::new(RefCell::new(gbm)), + allocator: gbm, drm: dispatcher, formats, supports_atomic, diff --git a/src/backend/kms/session_fd.rs b/src/backend/kms/session_fd.rs deleted file mode 100644 index ffd3032b..00000000 --- a/src/backend/kms/session_fd.rs +++ /dev/null @@ -1,38 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-only - -use std::{ - fmt, - os::unix::io::{AsFd, AsRawFd, BorrowedFd, OwnedFd, RawFd}, - sync::Arc, -}; - -#[derive(Clone)] -pub struct SessionFd(Arc); - -impl SessionFd { - pub fn new(fd: OwnedFd) -> SessionFd { - SessionFd(Arc::new(fd)) - } -} - -impl fmt::Debug for SessionFd { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!( - f, - "Session-provided File Descriptor [{}]", - self.0.as_raw_fd() - ) - } -} - -impl AsFd for SessionFd { - fn as_fd(&self) -> BorrowedFd<'_> { - self.0.as_fd() - } -} - -impl AsRawFd for SessionFd { - fn as_raw_fd(&self) -> RawFd { - self.0.as_raw_fd() - } -} diff --git a/src/backend/render/element.rs b/src/backend/render/element.rs index 56e120cc..f1776e90 100644 --- a/src/backend/render/element.rs +++ b/src/backend/render/element.rs @@ -6,7 +6,7 @@ use smithay::{ glow::{GlowFrame, GlowRenderer}, Frame, ImportAll, Renderer, }, - utils::{Physical, Point, Rectangle, Scale}, + utils::{Buffer as BufferCoords, Physical, Point, Rectangle, Scale}, }; #[cfg(feature = "debug")] @@ -124,18 +124,18 @@ impl RenderElement for CosmicElement { fn draw<'frame>( &self, frame: &mut ::Frame<'frame>, - location: Point, - scale: Scale, + src: Rectangle, + dst: Rectangle, damage: &[Rectangle], log: &slog::Logger, ) -> Result<(), ::Error> { match self { - CosmicElement::Workspace(elem) => elem.draw(frame, location, scale, damage, log), - CosmicElement::Cursor(elem) => elem.draw(frame, location, scale, damage, log), - CosmicElement::MoveGrab(elem) => elem.draw(frame, location, scale, damage, log), + CosmicElement::Workspace(elem) => elem.draw(frame, src, dst, damage, log), + CosmicElement::Cursor(elem) => elem.draw(frame, src, dst, damage, log), + CosmicElement::MoveGrab(elem) => elem.draw(frame, src, dst, damage, log), #[cfg(feature = "debug")] CosmicElement::Egui(elem) => { - RenderElement::::draw(elem, frame, location, scale, damage, log) + RenderElement::::draw(elem, frame, src, dst, damage, log) } } } @@ -158,23 +158,21 @@ impl<'a> RenderElement> for CosmicElement( &self, frame: &mut GlMultiFrame<'a, 'frame>, - location: Point, - scale: Scale, + src: Rectangle, + dst: Rectangle, damage: &[Rectangle], log: &slog::Logger, ) -> Result<(), as Renderer>::Error> { match self { - CosmicElement::Workspace(elem) => elem.draw(frame, location, scale, damage, log), - CosmicElement::Cursor(elem) => elem.draw(frame, location, scale, damage, log), - CosmicElement::MoveGrab(elem) => elem.draw(frame, location, scale, damage, log), + CosmicElement::Workspace(elem) => elem.draw(frame, src, dst, damage, log), + CosmicElement::Cursor(elem) => elem.draw(frame, src, dst, damage, log), + CosmicElement::MoveGrab(elem) => elem.draw(frame, src, dst, damage, log), #[cfg(feature = "debug")] CosmicElement::Egui(elem) => { let elem = { let glow_frame = frame.glow_frame_mut(); - RenderElement::::draw( - elem, glow_frame, location, scale, damage, log, - ) - .map_err(|err| MultiError::Render(err)) + RenderElement::::draw(elem, glow_frame, src, dst, damage, log) + .map_err(|err| MultiError::Render(err)) }; elem } diff --git a/src/backend/x11.rs b/src/backend/x11.rs index 6d54691e..5d08be56 100644 --- a/src/backend/x11.rs +++ b/src/backend/x11.rs @@ -12,6 +12,7 @@ use anyhow::{Context, Result}; use smithay::{ backend::{ allocator::dmabuf::Dmabuf, + drm::DrmDeviceFd, egl::{EGLContext, EGLDisplay}, input::{Event, InputEvent}, renderer::{ @@ -24,22 +25,19 @@ use smithay::{ output::{Mode, Output, PhysicalProperties, Scale, Subpixel}, reexports::{ calloop::{ping, EventLoop, LoopHandle}, - gbm::{Device as GbmDevice, FdWrapper}, + gbm::Device as GbmDevice, wayland_protocols::wp::presentation_time::server::wp_presentation_feedback, wayland_server::DisplayHandle, }, - utils::Transform, -}; -use std::{ - cell::RefCell, - sync::{Arc, Mutex}, + utils::{DeviceFd, Transform}, }; +use std::cell::RefCell; #[cfg(feature = "debug")] use crate::state::Fps; pub struct X11State { - allocator: Arc>>, + allocator: GbmDevice, _egl: EGLDisplay, pub renderer: GlowRenderer, surfaces: Vec, @@ -267,11 +265,11 @@ pub fn init_backend( .with_context(|| "Could not get DRM node used by X server")?; // Create the gbm device for buffer allocation. - let device = - unsafe { GbmDevice::new_from_fd(fd) }.with_context(|| "Failed to create GBM device")?; + let device = GbmDevice::new(DrmDeviceFd::new(DeviceFd::from(fd), None)) + .with_context(|| "Failed to create GBM device")?; // Initialize EGL using the GBM device. let egl = - unsafe { EGLDisplay::new(&device, None).with_context(|| "Failed to create EGL display")? }; + EGLDisplay::new(device.clone(), None).with_context(|| "Failed to create EGL display")?; // Create the OpenGL context let context = EGLContext::new(&egl, None).with_context(|| "Failed to create EGL context")?; // Create a renderer @@ -282,7 +280,7 @@ pub fn init_backend( state.backend = BackendData::X11(X11State { handle, - allocator: Arc::new(Mutex::new(device)), + allocator: device, _egl: egl, renderer, surfaces: Vec::new(), diff --git a/src/shell/element/mod.rs b/src/shell/element/mod.rs index 2103e2d6..1c20c06b 100644 --- a/src/shell/element/mod.rs +++ b/src/shell/element/mod.rs @@ -25,7 +25,9 @@ use smithay::{ wayland_server::{backend::ObjectId, protocol::wl_surface::WlSurface}, }, space_elements, - utils::{IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial, Size}, + utils::{ + Buffer as BufferCoords, IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial, Size, + }, wayland::{ compositor::{with_states, with_surface_tree_downward, TraversalAction}, seat::WaylandFocus, @@ -850,18 +852,14 @@ impl RenderElement for CosmicMappedRenderElement { fn draw<'frame>( &self, frame: &mut ::Frame<'frame>, - location: Point, - scale: Scale, + src: Rectangle, + dst: Rectangle, damage: &[Rectangle], log: &slog::Logger, ) -> Result<(), ::Error> { match self { - CosmicMappedRenderElement::Stack(elem) => { - elem.draw(frame, location, scale, damage, log) - } - CosmicMappedRenderElement::Window(elem) => { - elem.draw(frame, location, scale, damage, log) - } + CosmicMappedRenderElement::Stack(elem) => elem.draw(frame, src, dst, damage, log), + CosmicMappedRenderElement::Window(elem) => elem.draw(frame, src, dst, damage, log), #[cfg(feature = "debug")] CosmicMappedRenderElement::Egui(elem) => { RenderElement::::draw(elem, frame, location, scale, damage, log) @@ -886,18 +884,14 @@ impl<'a> RenderElement> for CosmicMappedRenderElement( &self, frame: &mut GlMultiFrame<'a, 'frame>, - location: Point, - scale: Scale, + src: Rectangle, + dst: Rectangle, damage: &[Rectangle], log: &slog::Logger, ) -> Result<(), as Renderer>::Error> { match self { - CosmicMappedRenderElement::Stack(elem) => { - elem.draw(frame, location, scale, damage, log) - } - CosmicMappedRenderElement::Window(elem) => { - elem.draw(frame, location, scale, damage, log) - } + CosmicMappedRenderElement::Stack(elem) => elem.draw(frame, src, dst, damage, log), + CosmicMappedRenderElement::Window(elem) => elem.draw(frame, src, dst, damage, log), #[cfg(feature = "debug")] CosmicMappedRenderElement::Egui(elem) => { let glow_frame = frame.glow_frame_mut(); diff --git a/src/shell/workspace.rs b/src/shell/workspace.rs index f04105bf..c9719c7a 100644 --- a/src/shell/workspace.rs +++ b/src/shell/workspace.rs @@ -28,7 +28,7 @@ use smithay::{ wayland_protocols::xdg::shell::server::xdg_toplevel::{self, ResizeEdge}, wayland_server::protocol::wl_surface::WlSurface, }, - utils::{IsAlive, Logical, Point, Rectangle, Scale, Serial}, + utils::{Buffer as BufferCoords, IsAlive, Logical, Physical, Point, Rectangle, Scale, Serial}, wayland::shell::wlr_layer::Layer, }; use std::collections::HashMap; @@ -630,14 +630,14 @@ where fn draw<'frame>( &self, frame: &mut ::Frame<'frame>, - location: Point, - scale: Scale, + src: Rectangle, + dst: Rectangle, damage: &[Rectangle], log: &slog::Logger, ) -> Result<(), ::Error> { match self { - WorkspaceRenderElement::Wayland(elem) => elem.draw(frame, location, scale, damage, log), - WorkspaceRenderElement::Window(elem) => elem.draw(frame, location, scale, damage, log), + WorkspaceRenderElement::Wayland(elem) => elem.draw(frame, src, dst, damage, log), + WorkspaceRenderElement::Window(elem) => elem.draw(frame, src, dst, damage, log), } } diff --git a/src/state.rs b/src/state.rs index 97e65fa4..c155bcf8 100644 --- a/src/state.rs +++ b/src/state.rs @@ -351,7 +351,7 @@ impl Common { states, render_element_states, default_primary_scanout_output_compare, - ) + ); }); window.send_frame(output, time, throttle, surface_primary_scanout_output); } @@ -380,7 +380,7 @@ impl Common { states, render_element_states, default_primary_scanout_output_compare, - ) + ); }); layer_surface.send_frame(output, time, throttle, surface_primary_scanout_output); }