pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/x11/pixman



Module Name:    pkgsrc
Committed By:   he
Date:           Wed Oct 19 17:14:32 UTC 2022

Modified Files:
        pkgsrc/x11/pixman: Makefile distinfo
        pkgsrc/x11/pixman/patches: patch-pixman_pixman-vmx.c

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.83 -r1.84 pkgsrc/x11/pixman/Makefile
cvs rdiff -u -r1.70 -r1.71 pkgsrc/x11/pixman/distinfo
cvs rdiff -u -r1.2 -r1.3 pkgsrc/x11/pixman/patches/patch-pixman_pixman-vmx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/x11/pixman/Makefile
diff -u pkgsrc/x11/pixman/Makefile:1.83 pkgsrc/x11/pixman/Makefile:1.84
--- pkgsrc/x11/pixman/Makefile:1.83     Tue Oct 18 11:01:01 2022
+++ pkgsrc/x11/pixman/Makefile  Wed Oct 19 17:14:32 2022
@@ -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

Index: pkgsrc/x11/pixman/distinfo
diff -u pkgsrc/x11/pixman/distinfo:1.70 pkgsrc/x11/pixman/distinfo:1.71
--- pkgsrc/x11/pixman/distinfo:1.70     Tue Oct 18 12:53:09 2022
+++ pkgsrc/x11/pixman/distinfo  Wed Oct 19 17:14:32 2022
@@ -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

Index: pkgsrc/x11/pixman/patches/patch-pixman_pixman-vmx.c
diff -u pkgsrc/x11/pixman/patches/patch-pixman_pixman-vmx.c:1.2 pkgsrc/x11/pixman/patches/patch-pixman_pixman-vmx.c:1.3
--- pkgsrc/x11/pixman/patches/patch-pixman_pixman-vmx.c:1.2     Tue Oct 18 12:53:10 2022
+++ pkgsrc/x11/pixman/patches/patch-pixman_pixman-vmx.c Wed Oct 19 17:14:32 2022
@@ -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