[PATCH xserver] Pass ClientPtr to FlushCallback

Eric Anholt eric at anholt.net
Wed Aug 3 00:40:04 UTC 2016


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

> From: Michel Dänzer <michel.daenzer at amd.com>
>
> This change has two effects:
>
> 1. Only calls FlushCallbacks when we're actually flushing data to a
>    client. The unnecessary FlushCallback calls could cause significant
>    performance degradation with compositing, which is significantly
>    reduced even without any driver changes.
>
> 2. By passing the ClientPtr to FlushCallbacks, drivers can completely
>    eliminate unnecessary flushing of GPU commands by keeping track of
>    whether we're flushing any XDamageNotify events to the client for
>    which the corresponding rendering commands haven't been flushed to
>    the GPU yet.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
>
> See https://lists.freedesktop.org/archives/amd-gfx/2016-August/000977.html
> for an example of how to take advantage of this change to eliminate
> unnecessary GPU flushes.

Note: Mesa's DRI2 is (supposed to be) doing XSync() during glXWaitX() to
ensure that the server has processed the client's X requests and flushed
its batchbuffers, so that the kernel serializes the batchbuffer from X
before the next rendering by Mesa.  I think your xf86-video-ati patches
will break that.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20160802/308067ad/attachment.sig>


More information about the xorg-devel mailing list