From 7e40e90c4db5d263766f803f2feabba006c99bee Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Tue, 29 Oct 2024 08:49:51 +0100 Subject: [PATCH] output-schedule: fix hardware cursor updates --- release-notes.md | 1 + src/backends/metal/present.rs | 3 +++ src/output_schedule.rs | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/release-notes.md b/release-notes.md index 442abccf..d2ee7ad4 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,5 +1,6 @@ # Unreleased +- Various bugfixes. - Add support fo ext-data-control-v1. # 1.7.0 (2024-10-25) diff --git a/src/backends/metal/present.rs b/src/backends/metal/present.rs index f99ac26f..082aa1be 100644 --- a/src/backends/metal/present.rs +++ b/src/backends/metal/present.rs @@ -173,6 +173,9 @@ impl MetalConnector { _ => return Ok(()), }; + if self.has_damage.get() > 0 || self.cursor_damage.get() { + node.schedule.commit_cursor(); + } self.latch_cursor(&node)?; let cursor_programming = self.compute_cursor_programming(); let latched = self.latch(&node); diff --git a/src/output_schedule.rs b/src/output_schedule.rs index df83d6af..d1bd2af6 100644 --- a/src/output_schedule.rs +++ b/src/output_schedule.rs @@ -165,6 +165,10 @@ impl OutputSchedule { break; } } + self.commit_cursor(); + } + + pub fn commit_cursor(&self) { if self.needs_hardware_cursor_commit.take() { if let Some(hc) = self.hardware_cursor.get() { hc.damage();