pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/x11/pixman x11/pixman: fix a couple more altivec-relat...
details: https://anonhg.NetBSD.org/pkgsrc/rev/c79eab01bbce
branches: trunk
changeset: 387011:c79eab01bbce
user: he <he%pkgsrc.org@localhost>
date: Wed Oct 19 17:14:32 2022 +0000
description:
x11/pixman: fix a couple more altivec-related bugs for powerpc.
The patch fixes a couple of bugs related to int32 / vector
initialization, pointed out by the compiler. Now builds without
warnings.
diffstat:
x11/pixman/Makefile | 4 +-
x11/pixman/distinfo | 4 +-
x11/pixman/patches/patch-pixman_pixman-vmx.c | 36 +++++++++++++++++++++++++++-
3 files changed, 39 insertions(+), 5 deletions(-)
diffs (78 lines):
diff -r 04f05d705c32 -r c79eab01bbce x11/pixman/Makefile
--- a/x11/pixman/Makefile Wed Oct 19 15:43:19 2022 +0000
+++ b/x11/pixman/Makefile Wed Oct 19 17:14:32 2022 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.83 2022/10/18 11:01:01 wiz Exp $
+# $NetBSD: Makefile,v 1.84 2022/10/19 17:14:32 he Exp $
DISTNAME= pixman-0.42.0
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=lib/}
EXTRACT_SUFX= .tar.xz
diff -r 04f05d705c32 -r c79eab01bbce x11/pixman/distinfo
--- a/x11/pixman/distinfo Wed Oct 19 15:43:19 2022 +0000
+++ b/x11/pixman/distinfo Wed Oct 19 17:14:32 2022 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.70 2022/10/18 12:53:09 wiz Exp $
+$NetBSD: distinfo,v 1.71 2022/10/19 17:14:32 he Exp $
BLAKE2s (pixman-0.42.0.tar.xz) = 9846ec6a902afa54328b18a9a58cbdf7ad066aa69cbbfddb145b1475c6ad8899
SHA512 (pixman-0.42.0.tar.xz) = 43d43d1aef9b8a6167098ab68ce2cfd8c0429c4825d40a4fb468b5b51dc1a2035f8bd1b70413e4ecd77deb469b5d558f42171b423e348d5ddd8604c466ffc7d9
Size (pixman-0.42.0.tar.xz) = 652780 bytes
SHA1 (patch-Makefile.in) = 244969af69e43472d43d8cd1556abacf9ec679e0
SHA1 (patch-configure) = 909bf50acfd69700b26bd55a47f93fd77b49226c
-SHA1 (patch-pixman_pixman-vmx.c) = 993dde53047d20102d17d10420940cf2210a2049
+SHA1 (patch-pixman_pixman-vmx.c) = 1139e520dbc7ea4066ab5f0b4d98345c87a37267
diff -r 04f05d705c32 -r c79eab01bbce x11/pixman/patches/patch-pixman_pixman-vmx.c
--- a/x11/pixman/patches/patch-pixman_pixman-vmx.c Wed Oct 19 15:43:19 2022 +0000
+++ b/x11/pixman/patches/patch-pixman_pixman-vmx.c Wed Oct 19 17:14:32 2022 +0000
@@ -1,12 +1,46 @@
-$NetBSD: patch-pixman_pixman-vmx.c,v 1.2 2022/10/18 12:53:10 wiz Exp $
+$NetBSD: patch-pixman_pixman-vmx.c,v 1.3 2022/10/19 17:14:32 he Exp $
Add a fix so that this builds on NetBSD/powerpc. Otherwise we get
pixman-vmx.c:2936:5: error: subscripted value is neither array nor pointer
+Also fix something which clearly must be bugs with loading
+vector registers from single 32-bit ints.
+
https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/64/
--- pixman/pixman-vmx.c.orig 2016-01-04 09:13:54.000000000 +0000
+++ pixman/pixman-vmx.c
@@ -2913,32 +2913,29 @@ scaled_nearest_scanline_vmx_8888_8888_OV
+@@ -292,7 +292,9 @@ create_mask_1x32_128 (const uint32_t *sr
+ static force_inline vector unsigned int
+ create_mask_32_128 (uint32_t mask)
+ {
+- return create_mask_1x32_128(&mask);
++ uint32_t nmask[4]; /* vector sized array */
++ nmask[3] = nmask[2] = nmask[1] = nmask[0] = mask;
++ return create_mask_1x32_128(nmask);
+ }
+
+ static force_inline vector unsigned int
+@@ -2435,6 +2437,9 @@ vmx_fill (pixman_implementation_t *imp,
+ uint8_t *byte_line;
+
+ vector unsigned int vfiller;
++ uint32_t fillers[4];
++
++ fillers[3] = fillers[2] = fillers[1] = fillers[0] = filler;
+
+ if (bpp == 8)
+ {
+@@ -2471,7 +2476,7 @@ vmx_fill (pixman_implementation_t *imp,
+ return FALSE;
+ }
+
+- vfiller = create_mask_1x32_128(&filler);
++ vfiller = create_mask_1x32_128(fillers);
+
+ while (height--)
+ {
+@@ -2913,32 +2918,29 @@ scaled_nearest_scanline_vmx_8888_8888_OV
while (w >= 4)
{
Home |
Main Index |
Thread Index |
Old Index