[Pixman] [PATCH] Add scaled nearest repeat fast paths
Søren Sandmann
sandmann at cs.au.dk
Sun Jul 1 12:51:49 PDT 2012
Jeff Muizelaar <jmuizelaar at mozilla.com> writes:
> Siarhei wrote this patch and we've been using it in the Mozilla tree since May.
>
> Before this patch it was often faster to scale and repeat in two
> passes because each pass used a fast path vs. the slow path that the
> single pass approach takes. This makes it so that the single pass
> approach has competitive performance.
>
>
> commit 8ab69ca521a4d0c47b5fcb2c200d21d661acd195
> Author: Siarhei Siamashka <siarhei.siamashka at gmail.com>
> Date: Mon Jun 25 22:36:52 2012 -0400
>
> Add scaled nearest repeat fast paths
>
> Before this patch it was often faster to scale and repeat
> in two passes because each pass used a fast path vs.
> the slow path that the single pass approach takes. This
> makes it so that the single pass approach has competitive
> performance.
I think we need a bit of explanation what the difference between max_vx
and src_width_fixed is.
Some performance measurements would be useful too.
> --- a/pixman/pixman-fast-path.c
> +++ b/pixman/pixman-fast-path.c
> @@ -1414,13 +1414,13 @@ scaled_nearest_scanline_565_565_SRC (uint16_t * dst,
> uint16_t tmp1, tmp2, tmp3, tmp4;
> while ((w -= 4) >= 0)
> {
> - tmp1 = src[pixman_fixed_to_int (vx)];
> + tmp1 = *(src + pixman_fixed_to_int (vx));
What is the purpose of these changes? There are several instances of it.
Søren
More information about the Pixman
mailing list