[PATCH xserver] FlushAllOutput: Only call FlushCallbacks when actually flushing data

Keith Packard keithp at keithp.com
Fri Jul 8 14:25:58 UTC 2016


Michel Dänzer <michel at daenzer.net> writes:

> From: Michel Dänzer <michel.daenzer at amd.com>
>
> The unnecessary FlushCallback calls could cause significant performance
> degradation with compositing.

Yeah, we do need a flush callback in drivers to ensure that damage
events aren't sent without the rendering being flushed. A block handler
used to be sufficient as WriteToClient "never" actually wrote anything,
and all output was delayed until FlushAllOutput, which happens after the
BlockHandler call in WaitForSomething.

It should, however, be sufficient to simply move the callback in
FlushAllOutput after the check for 'newoutput'; newoutput should only
ever be set if there is output to deliver.

-- 
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20160708/8464ce8e/attachment.sig>


More information about the xorg-devel mailing list