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:
commit
dc06ddda2e
17
Mesa.changes
17
Mesa.changes
@ -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
|
||||
|
||||
|
11
Mesa.spec
11
Mesa.spec
@ -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
|
||||
|
||||
|
@ -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
3
mesa-17.2.1.tar.xz
Normal 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
BIN
mesa-17.2.1.tar.xz.sig
Normal file
Binary file not shown.
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user