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