Accepting request 527051 from X11:XOrg

1

OBS-URL: https://build.opensuse.org/request/show/527051
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=302
This commit is contained in:
Dominique Leuenberger 2017-09-19 14:20:15 +00:00 committed by Git OBS Bridge
commit dc06ddda2e
9 changed files with 22 additions and 157 deletions

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Mon Sep 18 08:38:41 UTC 2017 - mimi.vx@gmail.com
- update to 17.2.1
* drop upstreamed patches
n_force-xlocale-funcs.patch
u_gallivm-correct-channel-shift-logic-on-big-endian.patch
u_llvmpipe-lp_build_gather_elem_vec-BE-fix-for-3x16-lo.patch
* fdo#100613 - Regression in Mesa 17 on s390x (zSystems)
* fdo#101709 - [llvmpipe] piglit gl-1.0-scissor-offscreen regression
* fdo#102454 - glibc 2.26 doesn't provide anymore xlocale.h
* fdo#102467 - [src/mesa/state_tracker/st_cb_readpixels.c:178]: (warning)
Redundant assignment
* fdo#102502 - [bisected] Kodi crashes since commit 707d2e8b - gallium:
fold u_trim_pipe_prim call from st/mesa to drivers
* many fixes for RADV a glsl
-------------------------------------------------------------------
Thu Sep 7 10:16:43 UTC 2017 - sndirsch@suse.com

View File

@ -22,7 +22,7 @@
%endif
%define glamor 1
%define _name_archive mesa
%define _version 17.2.0
%define _version 17.2.1
%define with_opencl 0
%define with_vulkan 0
%ifarch %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le s390x
@ -54,7 +54,7 @@
%endif
Name: Mesa
Version: 17.2.0
Version: 17.2.1
Release: 0
Summary: System for rendering interactive 3-D graphics
License: MIT
@ -81,13 +81,9 @@ Patch15: u_mesa-8.0-llvmpipe-shmget.patch
Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
# never to be upstreamed
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
# never to be upstreamed
Patch22: n_force-xlocale-funcs.patch
# currently needed for libglvnd support
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
Patch40: u_gallivm-correct-channel-shift-logic-on-big-endian.patch
Patch41: u_llvmpipe-lp_build_gather_elem_vec-BE-fix-for-3x16-lo.patch
Patch42: u_r600-Add-support-for-B5G5R5A1.patch
Patch43: u_svga-Fix-build-on-ppc64le.patch
@ -656,15 +652,12 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch12 -p1
%patch18 -p1
%patch21 -p1
%patch22 -p1
%if 0%{?libglvnd}
%patch31 -p1
%patch32 -p1
%endif
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3123448f770eae58bc73e15480e78909defb892f10ab777e9116c9b218094943
size 10335284

Binary file not shown.

3
mesa-17.2.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77385d17827cff24a3bae134342234f2efe7f7f990e778109682571dbbc9ba1e
size 10414776

BIN
mesa-17.2.1.tar.xz.sig Normal file

Binary file not shown.

View File

@ -1,27 +0,0 @@
From: Fabian Vogt <fvogt@suse.com>
Subject: Force use of strtod_l and friends
Patch-mainline: never
References: boo#1055929
With glibc 2.26, xlocale.h got removed, but the used functions
are available as part of local.h since POSIX2008, so use them
unconditionally.
This is necessary to fix strod with non-EN locales.
Index: mesa-17.1.6/src/util/strtod.c
===================================================================
--- mesa-17.1.6.orig/src/util/strtod.c
+++ mesa-17.1.6/src/util/strtod.c
@@ -28,11 +28,9 @@
#ifdef _GNU_SOURCE
#include <locale.h>
-#ifdef HAVE_XLOCALE_H
-#include <xlocale.h>
+#define HAVE_XLOCALE_H
static locale_t loc;
#endif
-#endif
#include "strtod.h"

View File

@ -1,42 +0,0 @@
From ab0e1e38ab9e8b23602af21d1b43e98afbf80e45 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 21 Apr 2017 15:22:14 -0400
Subject: [PATCH] gallivm: correct channel shift logic on big endian
lp_build_fetch_rgba_soa fetches a texel from a texture.
Part of that process involves first gathering the element
together from memory into a packed format, and then breaking
out the individual color channels into separate, parallel
arrays.
The code fails to account for endianess when reading the packed
values.
This commit attempts to correct the problem by reversing the order
the packed values are read on big endian systems.
---
src/gallium/auxiliary/gallivm/lp_bld_format_soa.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
index 98eb694..22c19b1 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c
@@ -650,7 +650,13 @@ lp_build_fetch_rgba_soa(struct gallivm_state *gallivm,
for (i = 0; i < format_desc->nr_channels; i++) {
struct util_format_channel_description chan_desc = format_desc->channel[i];
unsigned blockbits = type.width;
- unsigned vec_nr = chan_desc.shift / type.width;
+ unsigned vec_nr;
+
+#ifdef PIPE_ARCH_BIG_ENDIAN
+ vec_nr = (format_desc->block.bits - (chan_desc.shift + chan_desc.size)) / type.width;
+#else
+ vec_nr = chan_desc.shift / type.width;
+#endif
chan_desc.shift %= type.width;
output[i] = lp_build_extract_soa_chan(&bld,
--
1.8.3.1

View File

@ -1,76 +0,0 @@
From d3135d11bb77235324a21ccaa23be6df836c9870 Mon Sep 17 00:00:00 2001
From: Ben Crocker <bcrocker@redhat.com>
Date: Tue, 22 Aug 2017 13:43:29 -0400
Subject: [PATCH] llvmpipe: lp_build_gather_elem_vec BE fix for 3x16 load
Fix loading of a 3x16 vector as a single 48-bit load
on big-endian systems (PPC64, S390).
Roland Scheidegger's commit e827d9175675aaa6cfc0b981e2a80685fb7b3a74
plus Ray Strode's patch reduce pre-Roland Piglit failures from ~4000 to ~2000.
This patch fixes three of the four regressions observed by Ray:
- draw-vertices
- draw-vertices-half-float
- draw-vertices-half-float_gles2
One regression remains:
- draw-vertices-2101010
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100613
Cc: "17.2" "17.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Ben Crocker <bcrocker@redhat.com>
---
src/gallium/auxiliary/gallivm/lp_bld_gather.c | 30 +++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.c b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
index ccd0376..7d11dcd 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
@@ -234,13 +234,39 @@ lp_build_gather_elem_vec(struct gallivm_state *gallivm,
*/
res = LLVMBuildZExt(gallivm->builder, res, dst_elem_type, "");
- if (vector_justify) {
#ifdef PIPE_ARCH_BIG_ENDIAN
+ if (vector_justify) {
res = LLVMBuildShl(gallivm->builder, res,
LLVMConstInt(dst_elem_type,
dst_type.width - src_width, 0), "");
-#endif
}
+ if (src_width == 48) {
+ /* Load 3x16 bit vector.
+ * The sequence of loads on big-endian hardware proceeds as follows.
+ * 16-bit fields are denoted by X, Y, Z, and 0. In memory, the sequence
+ * of three fields appears in the order X, Y, Z.
+ *
+ * Load 32-bit word: 0.0.X.Y
+ * Load 16-bit halfword: 0.0.0.Z
+ * Rotate left: 0.X.Y.0
+ * Bitwise OR: 0.X.Y.Z
+ *
+ * The order in which we need the fields in the result is 0.Z.Y.X,
+ * the same as on little-endian; permute 16-bit fields accordingly
+ * within 64-bit register:
+ */
+ LLVMValueRef shuffles[4] = {
+ lp_build_const_int32(gallivm, 2),
+ lp_build_const_int32(gallivm, 1),
+ lp_build_const_int32(gallivm, 0),
+ lp_build_const_int32(gallivm, 3),
+ };
+ res = LLVMBuildBitCast(gallivm->builder, res,
+ lp_build_vec_type(gallivm, lp_type_uint_vec(16, 4*16)), "");
+ res = LLVMBuildShuffleVector(gallivm->builder, res, res, LLVMConstVector(shuffles, 4), "");
+ res = LLVMBuildBitCast(gallivm->builder, res, dst_elem_type, "");
+ }
+#endif
}
}
return res;
--
2.7.4