More DRI2 invalidate stuff

ville.syrjala at ville.syrjala at
Fri May 6 08:18:14 PDT 2011

The proposed DRI@ invalidate patch [1] causes a lot more invalidate events
to be sent out. That will cause processes to wake up needlessly. Eg. if
an unredirected fullscreen app is flipping, each flip will also send an
invalidate event to the compositor, since the composite overlay and client
window share the same pixmap. Now, assuming that the compositor hasn't
done a GetBuffers yet, there's no need to send an invalidate event to it.

I took the easy approach and stuck the boolean flag into the DRI2DrawableRec.
The optimal solution would have been to put it into DRI2DrawableRefRec and
keep track of the invalidate state per reference, but that would require the
client's drawable ID and client ID so that the correct ref could be found in
GetBuffers. Too much hassle for my taste, and I think this simple approach
should provide equal benefit in most cases.


More information about the xorg-devel mailing list