1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:17:34 +00:00

WindowServer: Flush display buffer when flashing

If the device requires a flush and we modify the front buffer, we need
to flush those changes to the front buffer. This makes the flashing
work using the VirtIOGPU.

Also fix a minor bug where we flushed the front buffer instead of
the back buffer after flipping, which caused the VirtIOGPU to not work
as expected when using the SDL backend and disabling buffer flipping.
This commit is contained in:
Tom 2021-07-10 11:28:26 -06:00 committed by Andreas Kling
parent 02651f8dc6
commit 83b512789c
3 changed files with 40 additions and 5 deletions

View file

@ -167,6 +167,7 @@ public:
bool can_device_flush_buffers() const { return m_can_device_flush_buffers; }
void queue_flush_display_rect(Gfx::IntRect const& rect);
void flush_display(int buffer_index);
void flush_display_front_buffer(int front_buffer_index, Gfx::IntRect&);
private:
Screen(ScreenLayout::Screen&);