diff -r 0d861c33ec70 -r 86fa73db98e5 mozilla-bmo1005535.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-bmo1005535.patch Tue Apr 07 14:55:00 2015 +0200 @@ -0,0 +1,152 @@ +# HG changeset patch +# Parent b7eb1ce0237d6125b75bc8ff1cb3afc328d6e78c +# User Steve Singer +# Parent d7af74fb513bcca581012f17ea248b1692db5d97 +Bug 1005535 - Get skia GPU building on big endian. + +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -8198,21 +8198,21 @@ dnl Skia + dnl ======================================================== + if test "$MOZ_ENABLE_SKIA"; then + AC_DEFINE(MOZ_ENABLE_SKIA) + AC_DEFINE(USE_SKIA) + if test "${MOZ_WIDGET_TOOLKIT}" = "android" -o x"$MOZ_WIDGET_TOOLKIT" = x"gonk"; then + AC_DEFINE(SK_BUILD_FOR_ANDROID_NDK) + fi + +- if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then ++ #if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then + MOZ_ENABLE_SKIA_GPU=1 + AC_DEFINE(USE_SKIA_GPU) + AC_SUBST(MOZ_ENABLE_SKIA_GPU) +- fi ++ #fi + fi + AC_SUBST(MOZ_ENABLE_SKIA) + + dnl ======================================================== + dnl Check for nss-shared-helper + dnl ======================================================== + + PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper, +diff --git a/gfx/skia/trunk/include/config/SkUserConfig.h b/gfx/skia/trunk/include/config/SkUserConfig.h +--- a/gfx/skia/trunk/include/config/SkUserConfig.h ++++ b/gfx/skia/trunk/include/config/SkUserConfig.h +@@ -192,16 +192,17 @@ + + #if defined(SK_CPU_ARM32) || defined(SK_CPU_ARM64) + # define SK_BARRIERS_PLATFORM_H "skia/SkBarriers_arm.h" + #else + # define SK_BARRIERS_PLATFORM_H "skia/SkBarriers_x86.h" + #endif + + // On all platforms we have this byte order ++ + #define SK_A32_SHIFT 24 + #define SK_R32_SHIFT 16 + #define SK_G32_SHIFT 8 + #define SK_B32_SHIFT 0 + + #define SK_ALLOW_STATIC_GLOBAL_INITIALIZERS 0 + + #define SK_SUPPORT_LEGACY_GETDEVICE +diff --git a/gfx/skia/trunk/include/core/SkColorPriv.h b/gfx/skia/trunk/include/core/SkColorPriv.h +--- a/gfx/skia/trunk/include/core/SkColorPriv.h ++++ b/gfx/skia/trunk/include/core/SkColorPriv.h +@@ -27,37 +27,27 @@ + * For easier compatibility with Skia's GPU backend, we further restrict these + * to either (in memory-byte-order) RGBA or BGRA. Note that this "order" does + * not directly correspond to the same shift-order, since we have to take endianess + * into account. + * + * Here we enforce this constraint. + */ + +-#ifdef SK_CPU_BENDIAN +- #define SK_RGBA_R32_SHIFT 24 +- #define SK_RGBA_G32_SHIFT 16 +- #define SK_RGBA_B32_SHIFT 8 +- #define SK_RGBA_A32_SHIFT 0 + +- #define SK_BGRA_B32_SHIFT 24 +- #define SK_BGRA_G32_SHIFT 16 +- #define SK_BGRA_R32_SHIFT 8 +- #define SK_BGRA_A32_SHIFT 0 +-#else + #define SK_RGBA_R32_SHIFT 0 + #define SK_RGBA_G32_SHIFT 8 + #define SK_RGBA_B32_SHIFT 16 + #define SK_RGBA_A32_SHIFT 24 + + #define SK_BGRA_B32_SHIFT 0 + #define SK_BGRA_G32_SHIFT 8 + #define SK_BGRA_R32_SHIFT 16 + #define SK_BGRA_A32_SHIFT 24 +-#endif ++ + + #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA) + #error "can't define PMCOLOR to be RGBA and BGRA" + #endif + + #define LOCAL_PMCOLOR_SHIFTS_EQUIVALENT_TO_RGBA \ + (SK_A32_SHIFT == SK_RGBA_A32_SHIFT && \ + SK_R32_SHIFT == SK_RGBA_R32_SHIFT && \ +diff --git a/gfx/skia/trunk/include/core/SkImageInfo.h b/gfx/skia/trunk/include/core/SkImageInfo.h +--- a/gfx/skia/trunk/include/core/SkImageInfo.h ++++ b/gfx/skia/trunk/include/core/SkImageInfo.h +@@ -83,19 +83,20 @@ enum SkColorType { + + kLastEnum_SkColorType = kIndex_8_SkColorType, + + #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A) + kN32_SkColorType = kBGRA_8888_SkColorType, + #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A) + kN32_SkColorType = kRGBA_8888_SkColorType, + #else +-#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order" ++ kN32_SkColorType = kBGRA_8888_SkColorType + #endif + ++ + #ifdef SK_SUPPORT_LEGACY_N32_NAME + kPMColor_SkColorType = kN32_SkColorType + #endif + }; + + static int SkColorTypeBytesPerPixel(SkColorType ct) { + static const uint8_t gSize[] = { + 0, // Unknown +diff --git a/gfx/skia/trunk/include/gpu/GrTypes.h b/gfx/skia/trunk/include/gpu/GrTypes.h +--- a/gfx/skia/trunk/include/gpu/GrTypes.h ++++ b/gfx/skia/trunk/include/gpu/GrTypes.h +@@ -304,25 +304,23 @@ enum GrPixelConfig { + * Byte order is r, g, b, a. This color format is 32 bits per channel + */ + kRGBA_float_GrPixelConfig, + kLast_GrPixelConfig = kRGBA_float_GrPixelConfig + }; + static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1; + + // Aliases for pixel configs that match skia's byte order. +-#ifndef SK_CPU_LENDIAN +- #error "Skia gpu currently assumes little endian" +-#endif ++ + #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A) + static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig; + #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A) + static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig; + #else +- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format." ++ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig; + #endif + + // Returns true if the pixel config is a GPU-specific compressed format + // representation. + static inline bool GrPixelConfigIsCompressed(GrPixelConfig config) { + switch (config) { + case kETC1_GrPixelConfig: + case kLATC_GrPixelConfig: