From 7667d607a8705a5da1d3f77d8c9ae2685995c289 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Mon, 23 Oct 2023 17:51:56 +0200 Subject: [PATCH] kms/deps: Fix nvidia 545 beta --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- src/backend/kms/mod.rs | 7 ++++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0a9bd390..23d896ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3885,7 +3885,7 @@ checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/smithay//smithay?rev=988c94d7e#988c94d7e9db357350b3c43f7f727d5b4b523aa9" +source = "git+https://github.com/smithay//smithay?rev=dfa75ea#dfa75eaa3d8e9865f8e5cebd04258b8f51cad1cb" dependencies = [ "appendlist", "ash", @@ -4117,7 +4117,7 @@ dependencies = [ [[package]] name = "taffy" version = "0.3.11" -source = "git+https://github.com/DioxusLabs/taffy#daa07e0f4e3e009f5b0c11ada5df9785efd4b2c2" +source = "git+https://github.com/DioxusLabs/taffy#d4374b93f0ec2c0ace42d3feafec22d3af1940d8" dependencies = [ "arrayvec", "grid", diff --git a/Cargo.toml b/Cargo.toml index 1de1eda0..ea2482d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -88,7 +88,7 @@ debug = true lto = "fat" [patch."https://github.com/Smithay/smithay.git"] -smithay = { git = "https://github.com/smithay//smithay", rev = "988c94d7e" } +smithay = { git = "https://github.com/smithay//smithay", rev = "dfa75ea" } [patch.crates-io] calloop = { git = "https://github.com/Smithay/calloop", rev = "71b6e633b1" } diff --git a/src/backend/kms/mod.rs b/src/backend/kms/mod.rs index 0d52fd86..b1e62d94 100644 --- a/src/backend/kms/mod.rs +++ b/src/backend/kms/mod.rs @@ -26,7 +26,7 @@ use smithay::{ Allocator, Format, Fourcc, }, drm::{ - compositor::{BlitFrameResultError, DrmCompositor, FrameError}, + compositor::{BlitFrameResultError, DrmCompositor, FrameError, PrimaryPlaneElement}, DrmDevice, DrmDeviceFd, DrmEvent, DrmEventTime, DrmNode, NodeType, }, egl::{EGLContext, EGLDevice, EGLDisplay}, @@ -1254,6 +1254,11 @@ impl Surface { None }; + if frame_result.needs_sync() { + if let PrimaryPlaneElement::Swapchain(elem) = &frame_result.primary_element { + elem.sync.wait(); + } + } match compositor.queue_frame(feedback) { Ok(()) | Err(FrameError::EmptyFrame) => {} Err(err) => {