summaryrefslogtreecommitdiff
path: root/editors/libreoffice/files/patch-external_skia_gfx-skia-skia-src-core-SkCpu.cpp.patch.0
blob: b4e1e6df11e6fce719053d81c2e0ca219675ecd8 (plain) (blame)
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
--- external/skia/gfx-skia-skia-src-core-SkCpu.cpp.patch.0.orig	2020-11-11 11:31:37 UTC
+++ external/skia/gfx-skia-skia-src-core-SkCpu.cpp.patch.0
@@ -0,0 +1,32 @@
+Regressed by https://svnweb.freebsd.org/changeset/base/324815
+
+gfx/skia/skia/src/core/SkCpu.cpp:81:27: error: use of undeclared identifier 'getauxval'
+        uint32_t hwcaps = getauxval(AT_HWCAP);
+                          ^
+
+--- src/core/SkCpu.cpp.orig	2020-02-07 22:13:22 UTC
++++ src/core/SkCpu.cpp
+@@ -72,6 +72,23 @@
+         return features;
+     }
+ 
++#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__)
++    #include <machine/armreg.h>
++    #ifndef ID_AA64ISAR0_CRC32_VAL
++    #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
++    #endif
++
++    static uint32_t read_cpu_features() {
++        uint32_t features = 0;
++        uint64_t id_aa64isar0;
++
++        id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
++        if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) {
++            features |= SkCpu::CRC32;
++        }
++        return features;
++    }
++
+ #elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
+     #include <sys/auxv.h>
+