SHA256
1
0
forked from pool/Mesa

Accepting request 500026 from X11:XOrg

- u_llvmpipe-lp_build_gather_elem_vec-BE-fix-for-3x16-lo.patch
  * Fix loading of a 3x16 vector as a single 48-bit load on 
    big-endian systems (PPC64, S390). [fdo#100613]

- update to 17.1.1
- dropped patch:
    fedora_0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch
 * fdo#100854 - YUV to RGB Color Space Conversion result is not precise
 * fdo#100925 - [HSW/BSW/BDW/SKL] Google Earth is not resolving
    all the details in the map correctly
 * radeonsi: add new vega10 pci ids
 * gbm/dri: Fix sign-extension in modifier query
 * radeon: automake: remove unneeded elf Cflags/Libs
 * egl: add g_egldispatchstubs.h to the release tarball
 * renderonly: Initialize fields of struct winsys_handle
 * vc4: Don't allocate new BOs to avoid synchronization when they're shared
 * anv: fix possible stack corruption
 * anv: don't leak DRM devices
 * glxglvnddispatch: Add missing dispatch for GetDriverConfig
 * nvc0/ir: SHLADD's middle source must be an immediate
 * nir/lower_tex: Fix minor error in YUV color conversion matrix
 * amd/addrlib: import Raven support
 * radeonsi/gfx9: add support for Raven
 * anv/formats: Update the three-channel BC1 mappings
 * 965/formats: Update the three-channel DXT1 mapping
 * radeonsi: mark fast-cleared textures as compressed when dirtying
 * radeonsi: fix primitive ID in fragment shader when using tessellation
 * radeonsi: fix gl_PrimitiveID in tessellation with instanced draws on SI
 * radeonsi: fix gl_PrimitiveIDIn in geometry shader when using tessellation
 * intel/isl/gen7: Use stencil vertical alignment of 8 instead of 4
 * mesa/st: fix yuv EGLImage's
 * virgl: fix virgl_bo_transfer_{put, get} box struct cop
 * 965/vec4/gs: restore the uniform values which was overwritten by failed
    vec4_gs_visitor execution
 * i965/vec4: fix swizzle and writemask when loading an uniform with constant offset
 * i965/vec4: load dvec3/4 uniforms first in the push constant buffer
 * gallivm: Make sure module has the correct data layout when pass manager runs

- specfile: libglvnd0 -> libglvnd; missed the package name
  change in libglvnd package (boo#1038619, comment#5)

OBS-URL: https://build.opensuse.org/request/show/500026
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=291
This commit is contained in:
2017-06-01 14:29:23 +00:00
committed by Git OBS Bridge
8 changed files with 112 additions and 101 deletions

View File

@@ -1,3 +1,53 @@
-------------------------------------------------------------------
Wed May 31 07:42:39 UTC 2017 - sndirsch@suse.com
- u_llvmpipe-lp_build_gather_elem_vec-BE-fix-for-3x16-lo.patch
* Fix loading of a 3x16 vector as a single 48-bit load on
big-endian systems (PPC64, S390). [fdo#100613]
-------------------------------------------------------------------
Thu May 25 07:48:22 UTC 2017 - mimi.vx@gmail.com
- update to 17.1.1
- dropped patch:
fedora_0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch
* fdo#100854 - YUV to RGB Color Space Conversion result is not precise
* fdo#100925 - [HSW/BSW/BDW/SKL] Google Earth is not resolving
all the details in the map correctly
* radeonsi: add new vega10 pci ids
* gbm/dri: Fix sign-extension in modifier query
* radeon: automake: remove unneeded elf Cflags/Libs
* egl: add g_egldispatchstubs.h to the release tarball
* renderonly: Initialize fields of struct winsys_handle
* vc4: Don't allocate new BOs to avoid synchronization when they're shared
* anv: fix possible stack corruption
* anv: don't leak DRM devices
* glxglvnddispatch: Add missing dispatch for GetDriverConfig
* nvc0/ir: SHLADD's middle source must be an immediate
* nir/lower_tex: Fix minor error in YUV color conversion matrix
* amd/addrlib: import Raven support
* radeonsi/gfx9: add support for Raven
* anv/formats: Update the three-channel BC1 mappings
* 965/formats: Update the three-channel DXT1 mapping
* radeonsi: mark fast-cleared textures as compressed when dirtying
* radeonsi: fix primitive ID in fragment shader when using tessellation
* radeonsi: fix gl_PrimitiveID in tessellation with instanced draws on SI
* radeonsi: fix gl_PrimitiveIDIn in geometry shader when using tessellation
* intel/isl/gen7: Use stencil vertical alignment of 8 instead of 4
* mesa/st: fix yuv EGLImage's
* virgl: fix virgl_bo_transfer_{put, get} box struct cop
* 965/vec4/gs: restore the uniform values which was overwritten by failed
vec4_gs_visitor execution
* i965/vec4: fix swizzle and writemask when loading an uniform with constant offset
* i965/vec4: load dvec3/4 uniforms first in the push constant buffer
* gallivm: Make sure module has the correct data layout when pass manager runs
-------------------------------------------------------------------
Sun May 21 21:07:48 UTC 2017 - sndirsch@suse.com
- specfile: libglvnd0 -> libglvnd; missed the package name
change in libglvnd package (boo#1038619, comment#5)
-------------------------------------------------------------------
Thu May 11 09:10:25 UTC 2017 - sndirsch@suse.com

View File

@@ -22,7 +22,7 @@
%endif
%define glamor 1
%define _name_archive mesa
%define _version 17.1.0
%define _version 17.1.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.1.0
Version: 17.1.1
Release: 0
Summary: System for rendering interactive 3-D graphics
License: MIT
@@ -84,8 +84,8 @@ Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
# currently needed for libglvnd support
Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
Patch35: fedora_0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.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
BuildRequires: autoconf >= 2.60
BuildRequires: automake
@@ -170,7 +170,7 @@ BuildRequires: llvm-clang-devel
%if 0%{?libglvnd}
Requires: Mesa-libEGL1 = %{version}
Requires: Mesa-libGL1 = %{version}
Requires: libglvnd0 >= 0.1.0
Requires: libglvnd >= 0.1.0
%endif
%description
@@ -230,7 +230,7 @@ just Mesa or The Mesa 3-D graphics library.
Summary: Free implementation of the EGL API
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd0 >= 0.1.0
Requires: libglvnd >= 0.1.0
%endif
%description -n Mesa-libEGL1
@@ -268,7 +268,7 @@ Summary: The GL/GLX runtime of the Mesa 3D graphics library
Group: System/Libraries
Requires: Mesa = %{version}
%if 0%{?libglvnd}
Requires: libglvnd0 >= 0.1.0
Requires: libglvnd >= 0.1.0
%endif
%description -n Mesa-libGL1
@@ -301,7 +301,7 @@ programs with Mesa.
Summary: Free implementation of the OpenGL|ES 1.x Common Profile API
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd0 >= 0.1.0
Requires: libglvnd >= 0.1.0
%endif
%description -n Mesa-libGLESv1_CM1
@@ -336,7 +336,7 @@ using the OpenGL|ES 1.x APIs.
Summary: Free implementation of the OpenGL|ES 2.x API
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd0 >= 0.1.0
Requires: libglvnd >= 0.1.0
%endif
%description -n Mesa-libGLESv2-2
@@ -654,12 +654,12 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%if 0%{?libglvnd}
%patch31 -p1
%patch32 -p1
%patch35 -p1
%endif
%patch40 -p1
%patch41 -p1
# Remove requires to libglvnd0/libglvnd-devel from baselibs.conf when
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
# disabling libglvnd build; ugly ...
%if 0%{?libglvnd} == 0
grep -v libglvnd $RPM_SOURCE_DIR/baselibs.conf > $RPM_SOURCE_DIR/temp && \

View File

@@ -1,88 +0,0 @@
From efa4f2ebc1e788c3f1cfcf3842058cf838171653 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 20 Mar 2017 08:41:26 +0100
Subject: [PATCH] glxglvnddispatch: Add missing dispatch for GetDriverConfig
Together with some fixes to xdriinfo this fixes xdriinfo not working
with glvnd.
Since apps (xdriinfo) expect GetDriverConfig to work without going to
need through the dance to setup a glxcontext (which is a reasonable
expectation IMHO), the dispatch for this ends up significantly different
then any other dispatch function.
This patch gets the job done, but I'm not really happy with how this
patch turned out, suggestions for a better fix are welcome.
Cc: Kyle Brenneman <kbrenneman@nvidia.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
src/glx/g_glxglvnddispatchfuncs.c | 18 ++++++++++++++++++
src/glx/g_glxglvnddispatchindices.h | 1 +
2 files changed, 19 insertions(+)
diff --git a/src/glx/g_glxglvnddispatchfuncs.c b/src/glx/g_glxglvnddispatchfuncs.c
index b5e3398..040cdf8 100644
--- a/src/glx/g_glxglvnddispatchfuncs.c
+++ b/src/glx/g_glxglvnddispatchfuncs.c
@@ -4,6 +4,7 @@
*/
#include <stdlib.h>
+#include "glxclient.h"
#include "glxglvnd.h"
#include "glxglvnddispatchfuncs.h"
#include "g_glxglvnddispatchindices.h"
@@ -50,6 +51,7 @@ const char * const __glXDispatchTableStrings[DI_LAST_INDEX] = {
__ATTRIB(GetCurrentDisplayEXT),
// glXGetCurrentDrawable implemented by libglvnd
// glXGetCurrentReadDrawable implemented by libglvnd
+ __ATTRIB(GetDriverConfig),
// glXGetFBConfigAttrib implemented by libglvnd
__ATTRIB(GetFBConfigAttribSGIX),
__ATTRIB(GetFBConfigFromVisualSGIX),
@@ -334,6 +336,21 @@ static Display *dispatch_GetCurrentDisplayEXT(void)
+static const char *dispatch_GetDriverConfig(const char *driverName)
+{
+ /*
+ * The options are constant for a given driverName, so we do not need
+ * a context (and apps expect to be able to call this without one).
+ */
+#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
+ return glXGetDriverConfig(driverName);
+#else
+ return NULL;
+#endif
+}
+
+
+
static int dispatch_GetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config,
int attribute, int *value_return)
{
@@ -939,6 +956,7 @@ const void * const __glXDispatchFunctions[DI_LAST_INDEX + 1] = {
__ATTRIB(DestroyGLXPbufferSGIX),
__ATTRIB(GetContextIDEXT),
__ATTRIB(GetCurrentDisplayEXT),
+ __ATTRIB(GetDriverConfig),
__ATTRIB(GetFBConfigAttribSGIX),
__ATTRIB(GetFBConfigFromVisualSGIX),
__ATTRIB(GetMscRateOML),
diff --git a/src/glx/g_glxglvnddispatchindices.h b/src/glx/g_glxglvnddispatchindices.h
index 05a2c8c..3ba50a7 100644
--- a/src/glx/g_glxglvnddispatchindices.h
+++ b/src/glx/g_glxglvnddispatchindices.h
@@ -39,6 +39,7 @@ typedef enum __GLXdispatchIndex {
DI_GetCurrentDisplayEXT,
// GetCurrentDrawable implemented by libglvnd
// GetCurrentReadDrawable implemented by libglvnd
+ DI_GetDriverConfig,
// GetFBConfigAttrib implemented by libglvnd
DI_GetFBConfigAttribSGIX,
DI_GetFBConfigFromVisualSGIX,
--
2.9.3

View File

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

Binary file not shown.

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

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

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

Binary file not shown.

View File

@@ -0,0 +1,49 @@
From 3f993cdf6db5cf344179fcb4fbf899f6ef9a6b2b Mon Sep 17 00:00:00 2001
From: Ben Crocker <bcrocker@redhat.com>
Date: Tue, 30 May 2017 12:34:23 -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).
Signed-off-by: Ben Crocker <bcrocker@redhat.com>
---
src/gallium/auxiliary/gallivm/lp_bld_gather.c | 17 +++++++++++++++--
1 file changed, 15 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..8e56e42 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
@@ -234,13 +234,26 @@ 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) {
+ 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),
+ };
+ struct lp_type type16 = {FALSE, FALSE, TRUE, FALSE, 16, 4};
+ res = LLVMBuildBitCast(gallivm->builder, res,
+ lp_build_vec_type(gallivm, type16), "");
+ res = LLVMBuildShuffleVector(gallivm->builder, res, res, LLVMConstVector(shuffles, 4), "");
+ res = LLVMBuildBitCast(gallivm->builder, res, dst_elem_type, "");
+ }
+#endif
}
}
return res;
--
2.7.4