summaryrefslogtreecommitdiff
path: root/build-big-endian.patch
blob: abc6744af3d8e4992e76ca250117b281bd782b4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
diff -up firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h
--- firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h.big-endian	2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0.3/gfx/skia/skia/include/core/SkColorPriv.h	2017-09-01 15:00:06.186520823 +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.3/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h
--- firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h.big-endian	2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0.3/gfx/skia/skia/include/core/SkImageInfo.h	2017-09-01 15:00:06.186520823 +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.3/gfx/skia/skia/include/gpu/GrColor.h.big-endian firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h
--- firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h.big-endian	2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0.3/gfx/skia/skia/include/gpu/GrColor.h	2017-09-01 15:00:06.186520823 +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.3/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h
--- firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h.big-endian	2017-07-31 18:20:55.000000000 +0200
+++ firefox-55.0.3/gfx/skia/skia/include/gpu/GrTypes.h	2017-09-01 15:00:06.187520823 +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.3/js/src/jit/none/MacroAssembler-none.h.big-endian firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h
--- firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h.big-endian	2017-07-31 18:20:48.000000000 +0200
+++ firefox-55.0.3/js/src/jit/none/MacroAssembler-none.h	2017-09-01 15:03:38.257602029 +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 };
@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared
 
     static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); }
 
+    static bool HasRoundInstruction(RoundingMode) { return false; }
+
     void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end,
                                      const Disassembler::HeapAccess& heapAccess)
     {
@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assemb
     static bool SupportsSimd() { return false; }
     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(); }
bgstack15