firefox/build-big-endian.patch

105 lines
4.9 KiB
Diff

diff -up firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h
--- firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0/gfx/skia/skia/include/core/SkColorPriv.h 2017-08-03 12:06:32.653090806 +0200
@@ -31,7 +31,7 @@
*
* Here we enforce this constraint.
*/
-
+/*
#ifdef SK_CPU_BENDIAN
#define SK_RGBA_R32_SHIFT 24
#define SK_RGBA_G32_SHIFT 16
@@ -43,6 +43,7 @@
#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
@@ -52,7 +53,7 @@
#define SK_BGRA_G32_SHIFT 8
#define SK_BGRA_R32_SHIFT 16
#define SK_BGRA_A32_SHIFT 24
-#endif
+/*#endif*/
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
#error "can't define PMCOLOR to be RGBA and BGRA"
diff -up firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h
--- firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0/gfx/skia/skia/include/core/SkImageInfo.h 2017-08-03 12:06:32.653090806 +0200
@@ -83,7 +83,8 @@ enum 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"
+ //#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
+ kN32_SkColorType = kBGRA_8888_SkColorType
#endif
};
diff -up firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h
--- firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian 2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0/gfx/skia/skia/include/gpu/GrColor.h 2017-08-03 12:06:32.653090806 +0200
@@ -74,8 +74,13 @@ static inline GrColor GrColorPackA4(unsi
* Since premultiplied means that alpha >= color, we construct a color with
* each component==255 and alpha == 0 to be "illegal"
*/
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+//Just for big endian platforms, little has: (~(0xFF << GrColor_SHIFT_A))
+#ifdef SK_CPU_BENDIAN
+#define GrColor_ILLEGAL 0xFFFFFF00
+#else
+#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+#endif
#define GrColor_WHITE 0xFFFFFFFF
#define GrColor_TRANSPARENT_BLACK 0x0
diff -up firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h
--- firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0/gfx/skia/skia/include/gpu/GrTypes.h 2017-08-03 12:06:32.653090806 +0200
@@ -326,15 +326,13 @@ enum 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;
+ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig;
#endif
// Returns true if the pixel config is a GPU-specific compressed format
diff -up firefox-55.0/js/src/jit/none/MacroAssembler-none.h.big-endian firefox-55.0/js/src/jit/none/MacroAssembler-none.h
--- firefox-55.0/js/src/jit/none/MacroAssembler-none.h.big-endian 2017-07-31 18:20:48.000000000 +0200
+++ firefox-55.0/js/src/jit/none/MacroAssembler-none.h 2017-08-04 11:31:18.074582783 +0200
@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitReg
static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg };
static constexpr Register WasmIonExitRegReturnType { Registers::invalid_reg };
-static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg };
+static constexpr Register WasmIonExitTlsReg { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg };
static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg };
@@ -197,8 +197,8 @@ class MacroAssemblerNone : public Assemb
static bool SupportsUnalignedAccesses() { return false; }
static bool HasRoundInstruction(RoundingMode) { return false; }
-
- void executableCopy(void*, bool) { MOZ_CRASH(); }
+
+ void executableCopy(void*, bool flushICache = true) { MOZ_CRASH(); }
void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); }
void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); }
void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); }