RFC: page-flip with damage?

Thomas Hellstrom thellstrom at vmware.com
Sun Sep 24 17:41:45 UTC 2017

Hi, list!

Page flips, while efficient on real hardware, aren't that efficient in 
other situations, like for virtual devices with local, or even worse, 
remote desktops.
We might ending up forwarding or encoding a couple of full frames worth 
of data instead of a small region at a cursor blink.

Now there is this extension EGL_KHR_swap_buffers_with_damage, and 
gnome-shell/wayland on KMS also has a damage region that it forwards all 
the way down to the function where page-flip is called.

So I'd like to start looking at page-flips with damage, meaning that the 
damage is an optional hint to the device about what part of the contents 
is actually updated. What would be the best way to implement this? I 
figure this can be done within the atomic context with a region attached 
to the plane state? Would we want to follow the EGL extension and 
forward an array of rects or for simplicity use a single bounding box? 
Both these options would be a great win.



More information about the dri-devel mailing list