[Pixman] performance of bilinear_interpolation

Siarhei Siamashka siarhei.siamashka at gmail.com
Wed Oct 9 14:32:18 PDT 2013

On Wed, 9 Oct 2013 16:52:30 +1100
Maksim Lin <maks at manichord.com> wrote:

> After some advice from Siarhei on irc to check that SSE2 was being
> enabled, I've been doing some more debugging on this and have made a
> little bit more progress.
> As mentioned before, I'm using Firefox for Android for x86 and having
> applied the patch from bugzilla to bring firefoxes bundled version of
> pixman upto 0.30.2 and then applying Siarhei's patch that adds
> scaled_bilinear_scanline_sse2_x888_8888_SRC()
> I Added logging output in pixman-x86.c to:
> #ifdef USE_SSE2
>     if (!_pixman_disabled ("sse2") && have_feature (SSE2_BITS)) {
>         imp = _pixman_implementation_create_sse2 (imp);
>         __android_log_print(ANDROID_LOG_DEBUG,"MAKS", "using SSE2 impl");
>     }
> #endif
> and that gives me log output that confirms SSE is being detected and
> enabled on my current test device (I've switched to testing on N270
> netbook for now).
> But I also see that scaled_bilinear_scanline_sse2_x888_8888_SRC() is
> never called by adding log output to its start:
> static force_inline void
> scaled_bilinear_scanline_sse2_x888_8888_SRC (uint32_t *       dst,
>                          const uint32_t * mask,
>                          const uint32_t * src_top,
>                          const uint32_t * src_bottom,
>                          int32_t          w,
>                          int              wt,
>                          int              wb,
>                          pixman_fixed_t   vx_,
>                          pixman_fixed_t   unit_x_,
>                          pixman_fixed_t   max_vx,
>                          pixman_bool_t    zero_src)
> {
>     __android_log_print(ANDROID_LOG_DEBUG,"MAKS",
> "scaled_bilinear_scanline_sse2_x888_8888_SRC");
> and also strangely (compared to profiler traces for arm devices) I'm
> *not* seeing bits_image_fetch_bilinear_affine being called either:

Please try to find a way to run some profiler on this device.

Any other activity just means shooting in the dark. Especially
considering that you are using a custom patched version of pixman
and it's hard to predict how it is going to behave. Also just
looking at the patches is not very productive either.

Best regards,
Siarhei Siamashka

More information about the Pixman mailing list