1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:37:35 +00:00

WindowServer: Use FB_IOCTL_FLUSH_HEAD to flush a framebuffer if possible

This ioctl is more appropriate when the hardware supports flushing of
the entire framebuffer, so we use that instead of the previous default
FB_IOCTL_FLUSH_HEAD_BUFFERS ioctl.
This commit is contained in:
Liav A 2022-04-30 13:55:00 +03:00 committed by Andreas Kling
parent 41283a2de6
commit 4ff6150f1b
8 changed files with 45 additions and 5 deletions

View file

@ -629,7 +629,9 @@ void Compositor::flush(Screen& screen)
bounding_flash = bounding_flash.united(rect);
}
if (!bounding_flash.is_empty()) {
if (device_can_flush_buffers) {
if (screen.can_device_flush_entire_buffer()) {
screen.flush_display_entire_framebuffer();
} else if (device_can_flush_buffers) {
// If the device needs a flush we need to let it know that we
// modified the front buffer!
bounding_flash.translate_by(-screen_rect.location());