gfx/skia/patches/archive/arm-opts.patch

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/skia/patches/archive/arm-opts.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,41 @@
     1.4 +diff --git a/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp b/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
     1.5 +--- a/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
     1.6 ++++ b/gfx/skia/src/opts/SkBlitRow_opts_arm.cpp
     1.7 +@@ -549,17 +549,17 @@ static void S32A_Opaque_BlitRow32_neon(S
     1.8 + #define	S32A_Opaque_BlitRow32_PROC	S32A_Opaque_BlitRow32_neon
     1.9 + 
    1.10 + #else
    1.11 + 
    1.12 + #ifdef TEST_SRC_ALPHA
    1.13 + #error The ARM asm version of S32A_Opaque_BlitRow32 does not support TEST_SRC_ALPHA
    1.14 + #endif
    1.15 + 
    1.16 +-static void S32A_Opaque_BlitRow32_arm(SkPMColor* SK_RESTRICT dst,
    1.17 ++static void  __attribute((noinline,optimize("-fomit-frame-pointer"))) S32A_Opaque_BlitRow32_arm(SkPMColor* SK_RESTRICT dst,
    1.18 +                                   const SkPMColor* SK_RESTRICT src,
    1.19 +                                   int count, U8CPU alpha) {
    1.20 + 
    1.21 +     SkASSERT(255 == alpha);
    1.22 + 
    1.23 +     /* Does not support the TEST_SRC_ALPHA case */
    1.24 +     asm volatile (
    1.25 +                   "cmp    %[count], #0               \n\t" /* comparing count with 0 */
    1.26 +@@ -646,17 +646,17 @@ static void S32A_Opaque_BlitRow32_arm(Sk
    1.27 +                   );
    1.28 + }
    1.29 + #define	S32A_Opaque_BlitRow32_PROC	S32A_Opaque_BlitRow32_arm
    1.30 + #endif
    1.31 + 
    1.32 + /*
    1.33 +  * ARM asm version of S32A_Blend_BlitRow32
    1.34 +  */
    1.35 +-static void S32A_Blend_BlitRow32_arm(SkPMColor* SK_RESTRICT dst,
    1.36 ++static void __attribute((noinline,optimize("-fomit-frame-pointer"))) S32A_Blend_BlitRow32_arm(SkPMColor* SK_RESTRICT dst,
    1.37 +                                  const SkPMColor* SK_RESTRICT src,
    1.38 +                                  int count, U8CPU alpha) {
    1.39 +     asm volatile (
    1.40 +                   "cmp    %[count], #0               \n\t" /* comparing count with 0 */
    1.41 +                   "beq    3f                         \n\t" /* if zero exit */
    1.42 + 
    1.43 +                   "mov    r12, #0xff                 \n\t" /* load the 0xff mask in r12 */
    1.44 +                   "orr    r12, r12, r12, lsl #16     \n\t" /* convert it to 0xff00ff in r12 */

mercurial