1
0
Fork 0
forked from wry/wry

metal: clear damage before adding full damage

This commit is contained in:
Julian Orth 2025-07-10 11:13:53 +02:00
parent e95e764b46
commit f8d03c25a9
2 changed files with 8 additions and 0 deletions

View file

@ -3332,6 +3332,7 @@ impl RenderBuffer {
pub fn damage_full(&self) {
let dmabuf = self.dev_bo.dmabuf();
let rect = Rect::new_sized_unchecked(0, 0, dmabuf.width, dmabuf.height);
self.damage_queue.clear_all();
self.damage_queue.damage(&[rect]);
}
}

View file

@ -327,6 +327,13 @@ impl DamageQueue {
data.clear();
}
pub fn clear_all(&self) {
let datas = unsafe { self.datas.get().deref_mut() };
for data in datas {
data.clear();
}
}
pub fn get(&self) -> Region {
let data = unsafe { &self.datas.get().deref()[self.this] };
Region::from_rects2(data)