summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch23
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch56
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch104
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman_0.44.0.bb (renamed from meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb)6
4 files changed, 8 insertions, 181 deletions
diff --git a/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch b/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch
index 4569dca01e..35faafea5b 100644
--- a/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch
+++ b/meta/recipes-graphics/xorg-lib/pixman/0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch
@@ -1,8 +1,7 @@
1From a0f53e1dbb3851bb0f0efcfdbd565b05e4be9cac Mon Sep 17 00:00:00 2001 1From 0beed8c190b27a07e7f1145a46a7ca8a75864263 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 23 Aug 2012 18:10:57 +0200 3Date: Thu, 23 Aug 2012 18:10:57 +0200
4Subject: [PATCH 1/2] ARM: qemu related workarounds in cpu features detection 4Subject: [PATCH] ARM: qemu related workarounds in cpu features detection code
5 code
6MIME-Version: 1.0 5MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8 6Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit 7Content-Transfer-Encoding: 8bit
@@ -17,14 +16,14 @@ Upstream-Status: Inappropriate [other] qemu fix
17 16
18Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> 17Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
19--- 18---
20 pixman/pixman-arm.c | 82 ++++++++++++++++++++++++++++++++++++++++---------- 19 pixman/pixman-arm.c | 77 ++++++++++++++++++++++++++++++++++++---------
21 1 files changed, 65 insertions(+), 17 deletions(-) 20 1 file changed, 62 insertions(+), 15 deletions(-)
22 21
23diff --git a/pixman/pixman-arm.c b/pixman/pixman-arm.c 22diff --git a/pixman/pixman-arm.c b/pixman/pixman-arm.c
24index 23374e4..d98bda6 100644 23index d271e96..8f6e241 100644
25--- a/pixman/pixman-arm.c 24--- a/pixman/pixman-arm.c
26+++ b/pixman/pixman-arm.c 25+++ b/pixman/pixman-arm.c
27@@ -129,16 +129,35 @@ detect_cpu_features (void) 26@@ -128,16 +128,34 @@ detect_cpu_features (void)
28 #include <sys/types.h> 27 #include <sys/types.h>
29 #include <sys/stat.h> 28 #include <sys/stat.h>
30 #include <sys/mman.h> 29 #include <sys/mman.h>
@@ -45,7 +44,6 @@ index 23374e4..d98bda6 100644
45+ * endian 64-bit host system running qemu and may theoretically fail). 44+ * endian 64-bit host system running qemu and may theoretically fail).
46+ */ 45+ */
47+#define ARM_HWCAP_VFP 64 46+#define ARM_HWCAP_VFP 64
48+#define ARM_HWCAP_IWMMXT 512
49+#define ARM_HWCAP_NEON 4096 47+#define ARM_HWCAP_NEON 4096
50+ 48+
51 static arm_cpu_features_t 49 static arm_cpu_features_t
@@ -60,7 +58,7 @@ index 23374e4..d98bda6 100644
60 58
61 fd = open ("/proc/self/auxv", O_RDONLY); 59 fd = open ("/proc/self/auxv", O_RDONLY);
62 if (fd >= 0) 60 if (fd >= 0)
63@@ -147,32 +166,61 @@ detect_cpu_features (void) 61@@ -146,30 +164,59 @@ detect_cpu_features (void)
64 { 62 {
65 if (aux.a_type == AT_HWCAP) 63 if (aux.a_type == AT_HWCAP)
66 { 64 {
@@ -71,8 +69,6 @@ index 23374e4..d98bda6 100644
71- */ 69- */
72- if ((hwcap & 64) != 0) 70- if ((hwcap & 64) != 0)
73- features |= ARM_VFP; 71- features |= ARM_VFP;
74- if ((hwcap & 512) != 0)
75- features |= ARM_IWMMXT;
76- /* this flag is only present on kernel 2.6.29 */ 72- /* this flag is only present on kernel 2.6.29 */
77- if ((hwcap & 4096) != 0) 73- if ((hwcap & 4096) != 0)
78- features |= ARM_NEON; 74- features |= ARM_NEON;
@@ -130,8 +126,6 @@ index 23374e4..d98bda6 100644
130+ */ 126+ */
131+ if ((hwcap & ARM_HWCAP_VFP) != 0) 127+ if ((hwcap & ARM_HWCAP_VFP) != 0)
132+ features |= ARM_VFP; 128+ features |= ARM_VFP;
133+ if ((hwcap & ARM_HWCAP_IWMMXT) != 0)
134+ features |= ARM_IWMMXT;
135+ /* this flag is only present on kernel 2.6.29 */ 129+ /* this flag is only present on kernel 2.6.29 */
136+ if ((hwcap & ARM_HWCAP_NEON) != 0) 130+ if ((hwcap & ARM_HWCAP_NEON) != 0)
137+ features |= ARM_NEON; 131+ features |= ARM_NEON;
@@ -139,6 +133,3 @@ index 23374e4..d98bda6 100644
139 return features; 133 return features;
140 } 134 }
141 135
142--
1431.7.6.5
144
diff --git a/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch b/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch
deleted file mode 100644
index 5c79754e50..0000000000
--- a/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1From 1e32984ccd58da1a66ca918d170a6b1829ef9df2 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Tue, 16 Jul 2024 15:31:16 +0800
4Subject: [PATCH] pixman-combine-float.c: fix inlining failed in call to
5 always_inline
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Refer [1], always-inline is not suggested to be used if you have indirect
11calls. so replace force_inline with inline to fix error:
12In function ‘combine_inner’,
13 inlined from ‘combine_soft_light_ca_float’ at ../pixman/pixman-combine-float.c:655:511:
14../pixman/pixman-combine-float.c:655:211: error: inlining failed in call to ‘always_inline’ ‘combine_soft_light_c’: function not considered for inlining
15
16[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115679
17
18Upstream-Status: Submitted [https://www.mail-archive.com/pixman@lists.freedesktop.org/msg04812.html]
19
20Signed-off-by: Changqing Li <changqing.li@windriver.com>
21---
22 pixman/pixman-combine-float.c | 6 +++---
23 1 file changed, 3 insertions(+), 3 deletions(-)
24
25diff --git a/pixman/pixman-combine-float.c b/pixman/pixman-combine-float.c
26index f5145bc..f65eb5f 100644
27--- a/pixman/pixman-combine-float.c
28+++ b/pixman/pixman-combine-float.c
29@@ -261,7 +261,7 @@ get_factor (combine_factor_t factor, float sa, float da)
30 }
31
32 #define MAKE_PD_COMBINERS(name, a, b) \
33- static float force_inline \
34+ static float inline \
35 pd_combine_ ## name (float sa, float s, float da, float d) \
36 { \
37 const float fa = get_factor (a, sa, da); \
38@@ -360,13 +360,13 @@ MAKE_PD_COMBINERS (conjoint_xor, ONE_MINUS_DA_OVER_SA, ONE_MINUS_SA_OVER_DA)
39 */
40
41 #define MAKE_SEPARABLE_PDF_COMBINERS(name) \
42- static force_inline float \
43+ static inline float \
44 combine_ ## name ## _a (float sa, float s, float da, float d) \
45 { \
46 return da + sa - da * sa; \
47 } \
48 \
49- static force_inline float \
50+ static inline float \
51 combine_ ## name ## _c (float sa, float s, float da, float d) \
52 { \
53 float f = (1 - sa) * d + (1 - da) * s; \
54--
552.25.1
56
diff --git a/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch b/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch
deleted file mode 100644
index 927ca08cc2..0000000000
--- a/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch
+++ /dev/null
@@ -1,104 +0,0 @@
1From 865e6ce00bb79a6b925ed4c2c436e1533e4472aa Mon Sep 17 00:00:00 2001
2From: Mike Hommey <mh@glandium.org>
3Date: Fri, 12 Jul 2024 11:11:17 -0400
4Subject: [PATCH] pixman: Adjust arm assembly for binutils change
5
6A change in the latest version of binutils broke building pixman for arm.
7
8The binutils change:
9https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b
10
11Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96
12---
13 pixman/pixman-arm-simd-asm.S | 44 ++++++++++++++++++------------------
14 1 file changed, 22 insertions(+), 22 deletions(-)
15
16Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
17Upstream-Status: Backport [865e6ce00bb79a6b925ed4c2c436e1533e4472aa]
18
19Index: pixman-0.42.2/pixman/pixman-arm-simd-asm.S
20===================================================================
21--- pixman-0.42.2.orig/pixman/pixman-arm-simd-asm.S
22+++ pixman-0.42.2/pixman/pixman-arm-simd-asm.S
23@@ -818,13 +818,13 @@ generate_composite_function \
24 .macro over_white_8888_8888_ca_1pixel_tail
25 mvn TMP0, WK1
26 teq WK1, WK1, asr #32
27- bne 01f
28- bcc 03f
29+ bne 1f
30+ bcc 3f
31 mov WK3, WK1
32- b 02f
33-01: over_white_8888_8888_ca_combine WK1, WK3
34-02: pixst , 4, 3, DST
35-03:
36+ b 2f
37+1: over_white_8888_8888_ca_combine WK1, WK3
38+2: pixst , 4, 3, DST
39+3:
40 .endm
41
42 .macro over_white_8888_8888_ca_2pixels_head
43@@ -835,21 +835,21 @@ generate_composite_function \
44 pixld , 8, 3, DST
45 mvn TMP0, WK1
46 teq WK1, WK1, asr #32
47- bne 01f
48+ bne 1f
49 movcs WK3, WK1
50- bcs 02f
51+ bcs 2f
52 teq WK2, #0
53- beq 05f
54- b 02f
55-01: over_white_8888_8888_ca_combine WK1, WK3
56-02: mvn TMP0, WK2
57+ beq 5f
58+ b 2f
59+1: over_white_8888_8888_ca_combine WK1, WK3
60+2: mvn TMP0, WK2
61 teq WK2, WK2, asr #32
62- bne 03f
63+ bne 3f
64 movcs WK4, WK2
65- b 04f
66-03: over_white_8888_8888_ca_combine WK2, WK4
67-04: pixst , 8, 3, DST
68-05:
69+ b 4f
70+3: over_white_8888_8888_ca_combine WK2, WK4
71+4: pixst , 8, 3, DST
72+5:
73 .endm
74
75 .macro over_white_8888_8888_ca_process_head cond, numbytes, firstreg, unaligned_src, unaligned_mask, preload
76@@ -1065,9 +1065,9 @@ generate_composite_function \
77 .if offset != 0
78 ldrb ORIG_W, [SRC, #offset]
79 .endif
80- beq 01f
81+ beq 1f
82 teq STRIDE_M, #0xFF
83- beq 02f
84+ beq 2f
85 .endif
86 uxtb16 SCRATCH, d /* rb_dest */
87 uxtb16 d, d, ror #8 /* ag_dest */
88@@ -1077,13 +1077,13 @@ generate_composite_function \
89 uxtab16 d, d, d, ror #8
90 mov SCRATCH, SCRATCH, ror #8
91 sel d, SCRATCH, d
92- b 02f
93+ b 2f
94 .if offset == 0
95 48: /* Last mov d,#0 of the set - used as part of shortcut for
96 * source values all 0 */
97 .endif
98-01: mov d, #0
99-02:
100+1: mov d, #0
101+2:
102 .endm
103
104 .macro in_reverse_8888_8888_tail numbytes, reg1, reg2, reg3, reg4
diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.44.0.bb
index 4be72665f9..aeb1c392d3 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.44.0.bb
@@ -9,10 +9,8 @@ DEPENDS = "zlib"
9 9
10SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \ 10SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \
11 file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \ 11 file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
12 file://0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch \
13 file://865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch \
14 " 12 "
15SRC_URI[sha256sum] = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e" 13SRC_URI[sha256sum] = "89a4c1e1e45e0b23dffe708202cb2eaffde0fe3727d7692b2e1739fec78a7dac"
16 14
17# see http://cairographics.org/releases/ - only even minor versions are stable 15# see http://cairographics.org/releases/ - only even minor versions are stable
18UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" 16UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
@@ -32,8 +30,6 @@ EXTRA_OEMESON = "-Dgtk=disabled -Dlibpng=disabled"
32# ld: pixman/libpixman-mmx.a(pixman-mmx.c.o): 30# ld: pixman/libpixman-mmx.a(pixman-mmx.c.o):
33# linking mips:loongson_2f module with previous mips:isa64 modules 31# linking mips:loongson_2f module with previous mips:isa64 modules
34EXTRA_OEMESON += "-Dloongson-mmi=disabled" 32EXTRA_OEMESON += "-Dloongson-mmi=disabled"
35# disable iwmmxt due to compile fails on most arm platforms.
36EXTRA_OEMESON += "-Diwmmxt=disabled"
37 33
38EXTRA_OEMESON:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" 34EXTRA_OEMESON:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
39EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}" 35EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"