metal: clear damage before adding full damage
This commit is contained in:
parent
e95e764b46
commit
f8d03c25a9
2 changed files with 8 additions and 0 deletions
|
|
@ -3332,6 +3332,7 @@ impl RenderBuffer {
|
||||||
pub fn damage_full(&self) {
|
pub fn damage_full(&self) {
|
||||||
let dmabuf = self.dev_bo.dmabuf();
|
let dmabuf = self.dev_bo.dmabuf();
|
||||||
let rect = Rect::new_sized_unchecked(0, 0, dmabuf.width, dmabuf.height);
|
let rect = Rect::new_sized_unchecked(0, 0, dmabuf.width, dmabuf.height);
|
||||||
|
self.damage_queue.clear_all();
|
||||||
self.damage_queue.damage(&[rect]);
|
self.damage_queue.damage(&[rect]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -327,6 +327,13 @@ impl DamageQueue {
|
||||||
data.clear();
|
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 {
|
pub fn get(&self) -> Region {
|
||||||
let data = unsafe { &self.datas.get().deref()[self.this] };
|
let data = unsafe { &self.datas.get().deref()[self.this] };
|
||||||
Region::from_rects2(data)
|
Region::from_rects2(data)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue