mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 17:17:45 +00:00
WindowServer: Implement support for combined buffer flipping + flushing
Some devices may require DMA transfers to flush the updated buffer areas prior to flipping. For those devices we track the areas that require flushing prior to the next flip. For devices that do not support flipping, but require flushing, we'll simply flush after updating the front buffer. This also adds a small optimization that skips these steps entirely for a screen that doesn't have any updates that need to be rendered.
This commit is contained in:
parent
45a2bc27d5
commit
fdae117600
7 changed files with 82 additions and 29 deletions
|
@ -171,7 +171,9 @@ private:
|
|||
OwnPtr<WindowStackSwitchOverlay> m_window_stack_switch_overlay;
|
||||
bool m_buffers_are_flipped { false };
|
||||
bool m_screen_can_set_buffer { false };
|
||||
bool m_has_flipped { false };
|
||||
bool m_cursor_back_is_valid { false };
|
||||
bool m_have_flush_rects { false };
|
||||
|
||||
Gfx::DisjointRectSet m_flush_rects;
|
||||
Gfx::DisjointRectSet m_flush_transparent_rects;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue