1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 23:07: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

@ -31,12 +31,15 @@ public:
virtual ErrorOr<void> unmap_framebuffer() = 0;
virtual ErrorOr<void> map_framebuffer() = 0;
virtual ErrorOr<void> flush_framebuffer() = 0;
virtual ErrorOr<void> set_head_resolution(FBHeadResolution) = 0;
virtual ErrorOr<FBHeadProperties> get_head_properties() = 0;
virtual ErrorOr<void> write_all_contents(Gfx::IntRect const&) { return {}; }
bool m_can_device_flush_buffers { true };
bool m_can_device_flush_entire_framebuffer { true };
bool m_can_set_head_buffer { false };
Gfx::ARGB32* m_framebuffer { nullptr };