1
0
Fork 0
forked from wry/wry

metal: scan out in more circumstances

This commit is contained in:
Julian Orth 2024-02-23 14:59:42 +01:00
parent 9e3ad38948
commit 58cdfbcb26
10 changed files with 169 additions and 22 deletions

View file

@ -751,7 +751,7 @@ impl State {
output.global.preferred_scale.get(),
render_hw_cursor,
);
output.perform_screencopies(Some(&**fb), tex, !render_hw_cursor);
output.perform_screencopies(Some(&**fb), tex, !render_hw_cursor, 0, 0, None);
rr.dispatch_frame_requests();
}
@ -764,6 +764,7 @@ impl State {
render_hardware_cursors: bool,
x_off: i32,
y_off: i32,
size: Option<(i32, i32)>,
) {
let mut ops = target.take_render_ops();
let (width, height) = target.size();
@ -781,7 +782,7 @@ impl State {
};
renderer
.base
.render_texture(src, x_off, y_off, None, None, scale, None);
.render_texture(src, x_off, y_off, None, size, scale, None);
if render_hardware_cursors {
for seat in self.globals.lock_seats().values() {
if let Some(cursor) = seat.get_cursor() {
@ -794,7 +795,6 @@ impl State {
}
}
}
let clear = target.format().has_alpha.then_some(&Color::SOLID_BLACK);
target.render(ops, clear);
target.render(ops, Some(&Color::SOLID_BLACK));
}
}