pixman: update 0.42.2 -> 0.44.0

Drop two backports.

Drop iwmmxt support from recipe and patch (upstream has removed it).

(From OE-Core rev: 92fb00ad49d43189884c3a3a6ca7f32cec7d3f0f)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2024-12-04 07:49:10 +01:00
committed by Richard Purdie
parent bb88ab05f2
commit 40d6946945
4 changed files with 8 additions and 181 deletions

View File

@@ -1,8 +1,7 @@
From a0f53e1dbb3851bb0f0efcfdbd565b05e4be9cac Mon Sep 17 00:00:00 2001
From 0beed8c190b27a07e7f1145a46a7ca8a75864263 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 23 Aug 2012 18:10:57 +0200
Subject: [PATCH 1/2] ARM: qemu related workarounds in cpu features detection
code
Subject: [PATCH] ARM: qemu related workarounds in cpu features detection code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -17,14 +16,14 @@ Upstream-Status: Inappropriate [other] qemu fix
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
pixman/pixman-arm.c | 82 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 65 insertions(+), 17 deletions(-)
pixman/pixman-arm.c | 77 ++++++++++++++++++++++++++++++++++++---------
1 file changed, 62 insertions(+), 15 deletions(-)
diff --git a/pixman/pixman-arm.c b/pixman/pixman-arm.c
index 23374e4..d98bda6 100644
index d271e96..8f6e241 100644
--- a/pixman/pixman-arm.c
+++ b/pixman/pixman-arm.c
@@ -129,16 +129,35 @@ detect_cpu_features (void)
@@ -128,16 +128,34 @@ detect_cpu_features (void)
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
@@ -45,7 +44,6 @@ index 23374e4..d98bda6 100644
+ * endian 64-bit host system running qemu and may theoretically fail).
+ */
+#define ARM_HWCAP_VFP 64
+#define ARM_HWCAP_IWMMXT 512
+#define ARM_HWCAP_NEON 4096
+
static arm_cpu_features_t
@@ -60,7 +58,7 @@ index 23374e4..d98bda6 100644
fd = open ("/proc/self/auxv", O_RDONLY);
if (fd >= 0)
@@ -147,32 +166,61 @@ detect_cpu_features (void)
@@ -146,30 +164,59 @@ detect_cpu_features (void)
{
if (aux.a_type == AT_HWCAP)
{
@@ -71,8 +69,6 @@ index 23374e4..d98bda6 100644
- */
- if ((hwcap & 64) != 0)
- features |= ARM_VFP;
- if ((hwcap & 512) != 0)
- features |= ARM_IWMMXT;
- /* this flag is only present on kernel 2.6.29 */
- if ((hwcap & 4096) != 0)
- features |= ARM_NEON;
@@ -130,8 +126,6 @@ index 23374e4..d98bda6 100644
+ */
+ if ((hwcap & ARM_HWCAP_VFP) != 0)
+ features |= ARM_VFP;
+ if ((hwcap & ARM_HWCAP_IWMMXT) != 0)
+ features |= ARM_IWMMXT;
+ /* this flag is only present on kernel 2.6.29 */
+ if ((hwcap & ARM_HWCAP_NEON) != 0)
+ features |= ARM_NEON;
@@ -139,6 +133,3 @@ index 23374e4..d98bda6 100644
return features;
}
--
1.7.6.5

View File

@@ -1,56 +0,0 @@
From 1e32984ccd58da1a66ca918d170a6b1829ef9df2 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 16 Jul 2024 15:31:16 +0800
Subject: [PATCH] pixman-combine-float.c: fix inlining failed in call to
always_inline
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Refer [1], always-inline is not suggested to be used if you have indirect
calls. so replace force_inline with inline to fix error:
In function combine_inner,
inlined from combine_soft_light_ca_float at ../pixman/pixman-combine-float.c:655:511:
../pixman/pixman-combine-float.c:655:211: error: inlining failed in call to always_inline combine_soft_light_c: function not considered for inlining
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115679
Upstream-Status: Submitted [https://www.mail-archive.com/pixman@lists.freedesktop.org/msg04812.html]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
pixman/pixman-combine-float.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pixman/pixman-combine-float.c b/pixman/pixman-combine-float.c
index f5145bc..f65eb5f 100644
--- a/pixman/pixman-combine-float.c
+++ b/pixman/pixman-combine-float.c
@@ -261,7 +261,7 @@ get_factor (combine_factor_t factor, float sa, float da)
}
#define MAKE_PD_COMBINERS(name, a, b) \
- static float force_inline \
+ static float inline \
pd_combine_ ## name (float sa, float s, float da, float d) \
{ \
const float fa = get_factor (a, sa, da); \
@@ -360,13 +360,13 @@ MAKE_PD_COMBINERS (conjoint_xor, ONE_MINUS_DA_OVER_SA, ONE_MINUS_SA_OVER_DA)
*/
#define MAKE_SEPARABLE_PDF_COMBINERS(name) \
- static force_inline float \
+ static inline float \
combine_ ## name ## _a (float sa, float s, float da, float d) \
{ \
return da + sa - da * sa; \
} \
\
- static force_inline float \
+ static inline float \
combine_ ## name ## _c (float sa, float s, float da, float d) \
{ \
float f = (1 - sa) * d + (1 - da) * s; \
--
2.25.1

View File

@@ -1,104 +0,0 @@
From 865e6ce00bb79a6b925ed4c2c436e1533e4472aa Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh@glandium.org>
Date: Fri, 12 Jul 2024 11:11:17 -0400
Subject: [PATCH] pixman: Adjust arm assembly for binutils change
A change in the latest version of binutils broke building pixman for arm.
The binutils change:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96
---
pixman/pixman-arm-simd-asm.S | 44 ++++++++++++++++++------------------
1 file changed, 22 insertions(+), 22 deletions(-)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Backport [865e6ce00bb79a6b925ed4c2c436e1533e4472aa]
Index: pixman-0.42.2/pixman/pixman-arm-simd-asm.S
===================================================================
--- pixman-0.42.2.orig/pixman/pixman-arm-simd-asm.S
+++ pixman-0.42.2/pixman/pixman-arm-simd-asm.S
@@ -818,13 +818,13 @@ generate_composite_function \
.macro over_white_8888_8888_ca_1pixel_tail
mvn TMP0, WK1
teq WK1, WK1, asr #32
- bne 01f
- bcc 03f
+ bne 1f
+ bcc 3f
mov WK3, WK1
- b 02f
-01: over_white_8888_8888_ca_combine WK1, WK3
-02: pixst , 4, 3, DST
-03:
+ b 2f
+1: over_white_8888_8888_ca_combine WK1, WK3
+2: pixst , 4, 3, DST
+3:
.endm
.macro over_white_8888_8888_ca_2pixels_head
@@ -835,21 +835,21 @@ generate_composite_function \
pixld , 8, 3, DST
mvn TMP0, WK1
teq WK1, WK1, asr #32
- bne 01f
+ bne 1f
movcs WK3, WK1
- bcs 02f
+ bcs 2f
teq WK2, #0
- beq 05f
- b 02f
-01: over_white_8888_8888_ca_combine WK1, WK3
-02: mvn TMP0, WK2
+ beq 5f
+ b 2f
+1: over_white_8888_8888_ca_combine WK1, WK3
+2: mvn TMP0, WK2
teq WK2, WK2, asr #32
- bne 03f
+ bne 3f
movcs WK4, WK2
- b 04f
-03: over_white_8888_8888_ca_combine WK2, WK4
-04: pixst , 8, 3, DST
-05:
+ b 4f
+3: over_white_8888_8888_ca_combine WK2, WK4
+4: pixst , 8, 3, DST
+5:
.endm
.macro over_white_8888_8888_ca_process_head cond, numbytes, firstreg, unaligned_src, unaligned_mask, preload
@@ -1065,9 +1065,9 @@ generate_composite_function \
.if offset != 0
ldrb ORIG_W, [SRC, #offset]
.endif
- beq 01f
+ beq 1f
teq STRIDE_M, #0xFF
- beq 02f
+ beq 2f
.endif
uxtb16 SCRATCH, d /* rb_dest */
uxtb16 d, d, ror #8 /* ag_dest */
@@ -1077,13 +1077,13 @@ generate_composite_function \
uxtab16 d, d, d, ror #8
mov SCRATCH, SCRATCH, ror #8
sel d, SCRATCH, d
- b 02f
+ b 2f
.if offset == 0
48: /* Last mov d,#0 of the set - used as part of shortcut for
* source values all 0 */
.endif
-01: mov d, #0
-02:
+1: mov d, #0
+2:
.endm
.macro in_reverse_8888_8888_tail numbytes, reg1, reg2, reg3, reg4

View File

@@ -9,10 +9,8 @@ DEPENDS = "zlib"
SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \
file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
file://0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch \
file://865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch \
"
SRC_URI[sha256sum] = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e"
SRC_URI[sha256sum] = "89a4c1e1e45e0b23dffe708202cb2eaffde0fe3727d7692b2e1739fec78a7dac"
# see http://cairographics.org/releases/ - only even minor versions are stable
UPSTREAM_CHECK_REGEX = "pixman-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
@@ -32,8 +30,6 @@ EXTRA_OEMESON = "-Dgtk=disabled -Dlibpng=disabled"
# ld: pixman/libpixman-mmx.a(pixman-mmx.c.o):
# linking mips:loongson_2f module with previous mips:isa64 modules
EXTRA_OEMESON += "-Dloongson-mmi=disabled"
# disable iwmmxt due to compile fails on most arm platforms.
EXTRA_OEMESON += "-Diwmmxt=disabled"
EXTRA_OEMESON:append:class-target:powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"