[PATCH] exa/mixed: avoid unnecessary dest system buffer copy in prepare_access_reg
Michel Dänzer
michel at daenzer.net
Fri Sep 3 00:57:37 PDT 2010
On Don, 2010-08-26 at 22:57 +1200, Karl Tomlinson wrote:
>
> A region is only provided to prepare_access_reg for destination pixmaps when
> the operator will not read from the destination. A non-NULL region therefore
> indicates that no pixels in the destination gpu buffer need to be copied to
> the system buffer.
>
> The provided region still serves a purpose, as it indicates the portion of
> the system buffer that will be damaged.
> ---
> exa/exa_migration_mixed.c | 42 ++++++++++++++++++++++++++++--------------
> 1 files changed, 28 insertions(+), 14 deletions(-)
I like the idea of this[0], but unfortunately it breaks the transparency
of rounded window corners with compiz here, see the attached screenshot.
Are you seeing this as well?
[0] I was experimenting with always creating the damage record right
away, but I think this should provide more or less the same (and even
some more) benefits without the drawbacks.
Minor nit: Maybe region_all could only be (un)initialized when it's
actually used. Not sure it's worth bothering though.
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compiz-broken-corners.png
Type: image/png
Size: 8796 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100903/ccb5b589/attachment-0001.png>
More information about the xorg-devel
mailing list