[PATCH] shadow: Optimize shadowUpdatePacked(). (#26973)

Matt Turner mattst88 at gmail.com
Tue Sep 21 07:29:13 PDT 2010


On Sat, Sep 11, 2010 at 5:55 PM, Matt Turner <mattst88 at gmail.com> wrote:
> From: Adam Jackson <ajax at redhat.com>
>
> Signed-off-by: Matt Turner <mattst88 at gmail.com>
> ---
> I was bug triaging and came across 26973 and remembered seeing it on the
> ml at some point recently. Here's a patch, as suggested by ajax [1].
>
> Corbin: are there any patches from your bug triage branch that need to
> go into the xserver?
>
> [1] http://lists.freedesktop.org/archives/xorg-devel/2010-March/006666.html
>
>  miext/shadow/shpacked.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/miext/shadow/shpacked.c b/miext/shadow/shpacked.c
> index 20d2ea1..06606bc 100644
> --- a/miext/shadow/shpacked.c
> +++ b/miext/shadow/shpacked.c
> @@ -102,8 +102,8 @@ shadowUpdatePacked (ScreenPtr           pScreen,
>                width -= i;
>                scr += i;
>  #define PickBit(a,i)   (((a) >> (i)) & 1)
> -               while (i--)
> -                   *win++ = *sha++;
> +               memcpy(win, sha, i * sizeof(FbBits));
> +               sha += i;
>            }
>            shaLine += shaStride;
>            y++;
> --
> 1.7.1

So, do we want this patch?

It seems like it does deobfuscate the code a bit, and memcpy is going
to be more efficient than byte-by-byte copies.

Matt


More information about the xorg-devel mailing list