[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