mozilla-s390x-skia-gradient.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Tue, 25 Aug 2020 21:27:22 +0200
branchfirefox80
changeset 1141 edb0ebe8cccc
parent 1136 d068eb84b4d3
permissions -rw-r--r--
Firefox 80.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1136
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# Parent  acf59ea86dd1d878b43920832093f082dcfc61c0
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp	Mon Mar 09 08:26:10 2020 +0100
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
+++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp	Fri Mar 27 13:30:28 2020 +0100
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
@@ -7,7 +7,7 @@
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
 
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
 #include "include/core/SkPaint.h"
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
 #include "src/shaders/gradients/Sk4fLinearGradient.h"
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
-
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
+#include "src/core/SkEndian.h"
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
 #include <cmath>
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
 #include <utility>
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
 
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
@@ -28,6 +28,9 @@
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
 
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
     while (n >= 4) {
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
         DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
+#ifdef SK_CPU_BENDIAN
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
+        SkEndianSwap32s(dst, 4);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
+#endif
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
         dst += 4;
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
 
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
         c0 = c0 + dc4;
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
@@ -37,12 +40,23 @@
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
         n -= 4;
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
     }
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
     if (n & 2) {
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
-        DstTraits<premul>::store(c0, dst++, bias0);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
-        DstTraits<premul>::store(c1, dst++, bias1);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
+        DstTraits<premul>::store(c0, dst, bias0);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
+#ifdef SK_CPU_BENDIAN
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
+        *dst = SkEndianSwap32(*dst);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
+#endif
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
+        ++dst;
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
+        DstTraits<premul>::store(c1, dst, bias1);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
+#ifdef SK_CPU_BENDIAN
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
+        *dst = SkEndianSwap32(*dst);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
+#endif
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
+        ++dst;
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
         c0 = c0 + dc2;
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
     }
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
     if (n & 1) {
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
         DstTraits<premul>::store(c0, dst, bias0);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
+#ifdef SK_CPU_BENDIAN
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
+        *dst = SkEndianSwap32(*dst);
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    48
+#endif
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    49
     }
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    50
 }
d068eb84b4d3 sync SLE specifics
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    51