SHA256
1
0
forked from pool/Mesa
Dominique Leuenberger 2018-05-25 19:36:51 +00:00 committed by Git OBS Bridge
commit b542643b15
13 changed files with 5550 additions and 143 deletions

View File

@ -1,3 +1,51 @@
-------------------------------------------------------------------
Tue May 22 16:08:15 UTC 2018 - tobias.johannes.klausmann@mni.thm.de
- Add patch U_dri3-Stricter-SBC-wraparound-handling.patch
This fixes an error with timestamps, avoiding near infinite client
hangs with the new X server 1.20 release and some clients, the most
prominent being plasmashell & steam
Bugentry: FDO#106351
-------------------------------------------------------------------
Tue May 22 08:44:11 UTC 2018 - msrb@suse.com
- Fix python3-Mako dependency on <= Leap 42.3.
- Temporarily replace mesa-18.1.0.tar.xz.sig with
mesa-18.1.0.tar.xz.sha1sum. The sig file uses EDDSA which is not
supported by gpg in OBS at the moment.
-------------------------------------------------------------------
Sat May 19 17:45:35 UTC 2018 - mimi.vx@gmail.com
- Update to 18.1.0
- refreshed archlinux_0001-Fix-linkage-against-shared-glapi.patch
- add u_intel_anv-make-scripts-python-2-3-compat.patch for build ANV
with python
* Vulkan 1.1 support for the ANV and RADV drivers.
* RadeonSI and RADV have "Vega M" GPU support for Kabylake G processors
* A simple Gallium3D HUD option as an alternative to the advanced
heads-up display
* There is also now Vega 12 support too.
* For new hardware support on the Intel side are the initial
bits for Intel Icelake.
* The Intel driver stack has meanwhile landed more SPIR-V
bits towards OpenGL 4.6.
* The Intel ANV driver has received new extensions too as well as
enabling features like MSAA fast clears.
* VP9 VA-API support for VCN and HEVC Main for VCN - Raven Ridge CPUs.
* DRI3 1.1/1.2 support for going with the soon-to-be-out X.Org Server 1.20.
* Etnaviv performance counter support when paired with the latest Etnaviv
DRM in the mainline kernel.
* The last-year-GSoC'ed OpenMAX Tizonia H.264 encoder/decoder.
* UVD-based HEVC video encoding.
* OpenGL 3.1 ARB_compatibility support for the major Gallium3D drivers.
* RadeonSI 32-bit pointers support.
* The Intel GLSL shader cache is enabled by default.
* Nouveau NVC0 meanwhile finally has ARB_bindless_texture support.
* On the old hardware front, R600g is now effectively at OpenGL 4.4
for the Radeon HD 5800/6900 series.
-------------------------------------------------------------------
Sat May 19 14:56:38 UTC 2018 - sndirsch@suse.com

View File

@ -43,7 +43,7 @@
%define glamor 1
%define _name_archive mesa
%define _version 18.0.4
%define _version 18.1.0
%define with_opencl 0
%define with_vulkan 0
%define with_llvm 0
@ -113,7 +113,7 @@
%endif
Name: Mesa-drivers
Version: 18.0.4
Version: 18.1.0
Release: 0
Summary: System for rendering 3-D graphics
License: MIT
@ -124,7 +124,8 @@ Url: http://www.mesa3d.org
# Source: ftp://ftp.freedesktop.org/pub/mesa/%%{version}/%%{_name_archive}-%%{_version}.tar.xz
Source: ftp://ftp.freedesktop.org/pub/mesa/%{_name_archive}-%{_version}.tar.xz
# Source1: ftp://ftp.freedesktop.org/pub/mesa/%%{version}/%%{_name_archive}-%%{_version}.tar.xz.sig
Source1: ftp://ftp.freedesktop.org/pub/mesa/%{_name_archive}-%{_version}.tar.xz.sig
# Source1: ftp://ftp.freedesktop.org/pub/mesa/%{_name_archive}-%{_version}.tar.xz.sig
Source1: %{_name_archive}-%{_version}.tar.xz.sha1sum
Source2: baselibs.conf
Source3: README.updates
Source4: manual-pages.tar.bz2
@ -137,7 +138,10 @@ Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
# Upstream
Patch43: u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch
Patch44: u_intel_anv-make-scripts-python-2-3-compat.patch
Patch47: u_st-dri-don-t-set-queryDmaBufFormats-queryDmaBufModif.patch
# Already upstream
Patch100: U_dri3-Stricter-SBC-wraparound-handling.patch
BuildRequires: autoconf >= 2.60
BuildRequires: automake
@ -149,6 +153,8 @@ BuildRequires: pkgconfig
BuildRequires: python3-base
%if 0%{?suse_version} > 1320
BuildRequires: python3-mako
%else
BuildRequires: python3-Mako
%endif
BuildRequires: python3-xml
BuildRequires: pkgconfig(dri2proto)
@ -744,7 +750,9 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%endif
%patch43 -p1
%patch44 -p1
%patch47 -p1
%patch100 -p1
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
# disabling libglvnd build; ugly ...

View File

@ -1,3 +1,51 @@
-------------------------------------------------------------------
Tue May 22 16:08:15 UTC 2018 - tobias.johannes.klausmann@mni.thm.de
- Add patch U_dri3-Stricter-SBC-wraparound-handling.patch
This fixes an error with timestamps, avoiding near infinite client
hangs with the new X server 1.20 release and some clients, the most
prominent being plasmashell & steam
Bugentry: FDO#106351
-------------------------------------------------------------------
Tue May 22 08:44:11 UTC 2018 - msrb@suse.com
- Fix python3-Mako dependency on <= Leap 42.3.
- Temporarily replace mesa-18.1.0.tar.xz.sig with
mesa-18.1.0.tar.xz.sha1sum. The sig file uses EDDSA which is not
supported by gpg in OBS at the moment.
-------------------------------------------------------------------
Sat May 19 17:45:35 UTC 2018 - mimi.vx@gmail.com
- Update to 18.1.0
- refreshed archlinux_0001-Fix-linkage-against-shared-glapi.patch
- add u_intel_anv-make-scripts-python-2-3-compat.patch for build ANV
with python
* Vulkan 1.1 support for the ANV and RADV drivers.
* RadeonSI and RADV have "Vega M" GPU support for Kabylake G processors
* A simple Gallium3D HUD option as an alternative to the advanced
heads-up display
* There is also now Vega 12 support too.
* For new hardware support on the Intel side are the initial
bits for Intel Icelake.
* The Intel driver stack has meanwhile landed more SPIR-V
bits towards OpenGL 4.6.
* The Intel ANV driver has received new extensions too as well as
enabling features like MSAA fast clears.
* VP9 VA-API support for VCN and HEVC Main for VCN - Raven Ridge CPUs.
* DRI3 1.1/1.2 support for going with the soon-to-be-out X.Org Server 1.20.
* Etnaviv performance counter support when paired with the latest Etnaviv
DRM in the mainline kernel.
* The last-year-GSoC'ed OpenMAX Tizonia H.264 encoder/decoder.
* UVD-based HEVC video encoding.
* OpenGL 3.1 ARB_compatibility support for the major Gallium3D drivers.
* RadeonSI 32-bit pointers support.
* The Intel GLSL shader cache is enabled by default.
* Nouveau NVC0 meanwhile finally has ARB_bindless_texture support.
* On the old hardware front, R600g is now effectively at OpenGL 4.4
for the Radeon HD 5800/6900 series.
-------------------------------------------------------------------
Sat May 19 14:56:38 UTC 2018 - sndirsch@suse.com

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@
%define glamor 1
%define _name_archive mesa
%define _version 18.0.4
%define _version 18.1.0
%define with_opencl 0
%define with_vulkan 0
%define with_llvm 0
@ -112,7 +112,7 @@
%endif
Name: Mesa
Version: 18.0.4
Version: 18.1.0
Release: 0
Summary: System for rendering 3-D graphics
License: MIT
@ -123,7 +123,8 @@ Url: http://www.mesa3d.org
# Source: ftp://ftp.freedesktop.org/pub/mesa/%%{version}/%%{_name_archive}-%%{_version}.tar.xz
Source: ftp://ftp.freedesktop.org/pub/mesa/%{_name_archive}-%{_version}.tar.xz
# Source1: ftp://ftp.freedesktop.org/pub/mesa/%%{version}/%%{_name_archive}-%%{_version}.tar.xz.sig
Source1: ftp://ftp.freedesktop.org/pub/mesa/%{_name_archive}-%{_version}.tar.xz.sig
# Source1: ftp://ftp.freedesktop.org/pub/mesa/%{_name_archive}-%{_version}.tar.xz.sig
Source1: %{_name_archive}-%{_version}.tar.xz.sha1sum
Source2: baselibs.conf
Source3: README.updates
Source4: manual-pages.tar.bz2
@ -136,7 +137,10 @@ Patch31: archlinux_0001-Fix-linkage-against-shared-glapi.patch
Patch32: archlinux_glvnd-fix-gl-dot-pc.patch
# Upstream
Patch43: u_r600-egd_tables.py-make-the-script-python-2-3-compat.patch
Patch44: u_intel_anv-make-scripts-python-2-3-compat.patch
Patch47: u_st-dri-don-t-set-queryDmaBufFormats-queryDmaBufModif.patch
# Already upstream
Patch100: U_dri3-Stricter-SBC-wraparound-handling.patch
BuildRequires: autoconf >= 2.60
BuildRequires: automake
@ -148,6 +152,8 @@ BuildRequires: pkgconfig
BuildRequires: python3-base
%if 0%{?suse_version} > 1320
BuildRequires: python3-mako
%else
BuildRequires: python3-Mako
%endif
BuildRequires: python3-xml
BuildRequires: pkgconfig(dri2proto)
@ -743,7 +749,9 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%endif
%patch43 -p1
%patch44 -p1
%patch47 -p1
%patch100 -p1
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
# disabling libglvnd build; ugly ...

View File

@ -0,0 +1,48 @@
From fe2edb25dd5628c395a65b60998f11e839d2b458 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Tue, 8 May 2018 11:51:09 +0200
Subject: [PATCH] dri3: Stricter SBC wraparound handling
Prevents corrupting the upper 32 bits of draw->recv_sbc when
draw->send_sbc resets to 0 (which currently happens when the window is
unbound from a context and bound to one again), which in turn caused
loader_dri3_swap_buffers_msc to calculate target_msc with corrupted
upper 32 bits. This resulted in hangs with the Xorg modesetting driver
as of xserver 1.20 (older versions and other drivers ignored the upper
32 bits of the target MSC, which is why this wasn't noticed earlier).
Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/106351
Tested-by: Mike Lothian <mike@fireburn.co.uk>
---
src/loader/loader_dri3_helper.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
index 6db8303d26..f0ff2f07bd 100644
--- a/src/loader/loader_dri3_helper.c
+++ b/src/loader/loader_dri3_helper.c
@@ -370,9 +370,17 @@ dri3_handle_present_event(struct loader_dri3_drawable *draw,
* checking for wrap.
*/
if (ce->kind == XCB_PRESENT_COMPLETE_KIND_PIXMAP) {
- draw->recv_sbc = (draw->send_sbc & 0xffffffff00000000LL) | ce->serial;
- if (draw->recv_sbc > draw->send_sbc)
- draw->recv_sbc -= 0x100000000;
+ uint64_t recv_sbc = (draw->send_sbc & 0xffffffff00000000LL) | ce->serial;
+
+ /* Only assume wraparound if that results in exactly the previous
+ * SBC + 1, otherwise ignore received SBC > sent SBC (those are
+ * probably from a previous loader_dri3_drawable instance) to avoid
+ * calculating bogus target MSC values in loader_dri3_swap_buffers_msc
+ */
+ if (recv_sbc <= draw->send_sbc)
+ draw->recv_sbc = recv_sbc;
+ else if (recv_sbc == (draw->recv_sbc + 0x100000001ULL))
+ draw->recv_sbc = recv_sbc - 0x100000000ULL;
/* When moving from flip to copy, we assume that we can allocate in
* a more optimal way if we don't need to cater for the display
--
2.16.3

View File

@ -8,12 +8,12 @@ Signed-off-by: Adam Jackson <ajax@redhat.com>
src/gallium/targets/osmesa/Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Index: mesa-17.2.0/src/gallium/targets/osmesa/Makefile.am
Index: mesa-18.1.0/src/gallium/targets/osmesa/Makefile.am
===================================================================
--- mesa-17.2.0.orig/src/gallium/targets/osmesa/Makefile.am
+++ mesa-17.2.0/src/gallium/targets/osmesa/Makefile.am
@@ -63,7 +63,7 @@ lib@OSMESA_LIB@_la_LIBADD = \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
--- mesa-18.1.0.orig/src/gallium/targets/osmesa/Makefile.am
+++ mesa-18.1.0/src/gallium/targets/osmesa/Makefile.am
@@ -61,7 +61,7 @@ lib@OSMESA_LIB@_la_LIBADD = \
$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \
$(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
$(top_builddir)/src/gallium/state_trackers/osmesa/libosmesa.la \
- $(top_builddir)/src/mapi/glapi/libglapi.la \

View File

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

Binary file not shown.

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

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

View File

@ -0,0 +1 @@
3da4b5f4ae3705c017a8f988f1304be45eed875f mesa-18.1.0.tar.xz

View File

@ -12,11 +12,11 @@ Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
src/gallium/targets/xvmc/Makefile.am | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am
index d388f8b..c9cc534 100644
--- a/src/gallium/targets/vdpau/Makefile.am
+++ b/src/gallium/targets/vdpau/Makefile.am
@@ -86,7 +86,7 @@ all-local: $(vdpau_LTLIBRARIES)
Index: mesa-18.1.0/src/gallium/targets/vdpau/Makefile.am
===================================================================
--- mesa-18.1.0.orig/src/gallium/targets/vdpau/Makefile.am
+++ mesa-18.1.0/src/gallium/targets/vdpau/Makefile.am
@@ -91,7 +91,7 @@ all-local: $(vdpau_LTLIBRARIES)
j=libvdpau_gallium.$(LIB_EXT); \
k=libvdpau_$${i}.$(LIB_EXT); \
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
@ -25,7 +25,7 @@ index d388f8b..c9cc534 100644
$${link_dir}/$${l}; \
ln -sf $${l} \
$${link_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
@@ -111,7 +111,7 @@ install-data-hook:
@@ -116,7 +116,7 @@ install-data-hook:
j=libvdpau_gallium.$(LIB_EXT); \
k=libvdpau_$${i}.$(LIB_EXT); \
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
@ -34,11 +34,11 @@ index d388f8b..c9cc534 100644
$${dest_dir}/$${l}; \
ln -sf $${l} \
$${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am
index fdc5f4b..93ef230 100644
--- a/src/gallium/targets/xvmc/Makefile.am
+++ b/src/gallium/targets/xvmc/Makefile.am
@@ -73,7 +73,7 @@ install-data-hook:
Index: mesa-18.1.0/src/gallium/targets/xvmc/Makefile.am
===================================================================
--- mesa-18.1.0.orig/src/gallium/targets/xvmc/Makefile.am
+++ mesa-18.1.0/src/gallium/targets/xvmc/Makefile.am
@@ -75,7 +75,7 @@ install-data-hook:
j=libXvMCgallium.$(LIB_EXT); \
k=libXvMC$${i}.$(LIB_EXT); \
l=$${k}.$(XVMC_MAJOR).$(XVMC_MINOR).0; \
@ -47,6 +47,3 @@ index fdc5f4b..93ef230 100644
$${dest_dir}/$${l}; \
ln -sf $${l} \
$${dest_dir}/$${k}.$(XVMC_MAJOR).$(XVMC_MINOR); \
--
2.6.2

View File

@ -0,0 +1,138 @@
Index: mesa-18.1.0-rc1/src/intel/vulkan/anv_extensions.py
===================================================================
--- mesa-18.1.0-rc1.orig/src/intel/vulkan/anv_extensions.py
+++ mesa-18.1.0-rc1/src/intel/vulkan/anv_extensions.py
@@ -29,13 +29,15 @@ import copy
import re
import xml.etree.cElementTree as et
+
def _bool_to_c_expr(b):
if b is True:
- return 'true';
+ return 'true'
elif b is False:
- return 'false';
+ return 'false'
else:
- return b;
+ return b
+
class Extension:
def __init__(self, name, ext_version, enable):
@@ -43,11 +45,13 @@ class Extension:
self.ext_version = int(ext_version)
self.enable = _bool_to_c_expr(enable)
+
class ApiVersion:
def __init__(self, max_patch_version, enable):
self.max_patch_version = max_patch_version
self.enable = _bool_to_c_expr(enable)
+
# Supported API versions. Each one is the maximum patch version for the given
# version. Version come in increasing order and each version is available if
# it's provided "enable" condition is true and all previous versions are
@@ -60,7 +64,7 @@ API_VERSIONS = [
ApiVersion('1.1.0', 'device->has_syncobj_wait'),
]
-MAX_API_VERSION = None # Computed later
+MAX_API_VERSION = None # Computed later
# On Android, we disable all surface and swapchain extensions. Android's Vulkan
# loader implements VK_KHR_surface and VK_KHR_swapchain, and applications
@@ -113,6 +117,7 @@ EXTENSIONS = [
'device->has_context_priority'),
]
+
class VkVersion:
def __init__(self, string):
split = string.split('.')
@@ -146,14 +151,59 @@ class VkVersion:
patch = self.patch if self.patch is not None else 0
return (self.major << 22) | (self.minor << 12) | patch
- def __cmp__(self, other):
+ def __eq__(self, other):
+ # If only one of them has a patch version, "ignore" it by making
+ # other's patch version match self.
+ if (self.patch is None) != (other.patch is None):
+ other = copy.copy(other)
+ other.patch = self.patch
+
+ return self.__int_ver() == other.__int_ver()
+
+ def __ne__(self, other):
+ # If only one of them has a patch version, "ignore" it by making
+ # other's patch version match self.
+ if (self.patch is None) != (other.patch is None):
+ other = copy.copy(other)
+ other.patch = self.patch
+
+ return self.__int_ver() != other.__int_ver()
+
+ def __lt__(self, other):
+ # If only one of them has a patch version, "ignore" it by making
+ # other's patch version match self.
+ if (self.patch is None) != (other.patch is None):
+ other = copy.copy(other)
+ other.patch = self.patch
+
+ return self.__int_ver() < other.__int_ver()
+
+ def __le__(self, other):
+ # If only one of them has a patch version, "ignore" it by making
+ # other's patch version match self.
+ if (self.patch is None) != (other.patch is None):
+ other = copy.copy(other)
+ other.patch = self.patch
+
+ return self.__int_ver() <= other.__int_ver()
+
+ def __ge__(self, other):
+ # If only one of them has a patch version, "ignore" it by making
+ # other's patch version match self.
+ if (self.patch is None) != (other.patch is None):
+ other = copy.copy(other)
+ other.patch = self.patch
+
+ return self.__int_ver() >= other.__int_ver()
+
+ def __gt__(self, other):
# If only one of them has a patch version, "ignore" it by making
# other's patch version match self.
if (self.patch is None) != (other.patch is None):
other = copy.copy(other)
other.patch = self.patch
- return self.__int_ver().__cmp__(other.__int_ver())
+ return self.__int_ver() > other.__int_ver()
MAX_API_VERSION = VkVersion('0.0.0')
Index: mesa-18.1.0-rc1/src/intel/vulkan/anv_entrypoints_gen.py
===================================================================
--- mesa-18.1.0-rc1.orig/src/intel/vulkan/anv_entrypoints_gen.py
+++ mesa-18.1.0-rc1/src/intel/vulkan/anv_entrypoints_gen.py
@@ -145,7 +145,7 @@ static const struct string_map_entry str
/* Hash table stats:
* size ${len(strmap.sorted_strings)} entries
* collisions entries:
-% for i in xrange(10):
+% for i in range(10):
* ${i}${'+' if i == 9 else ' '} ${strmap.collisions[i]}
% endfor
*/
@@ -507,7 +507,7 @@ def get_entrypoints(doc, entrypoints_to_
assert e.core_version is None
e.extensions.append(ext)
- return [e for e in entrypoints.itervalues() if e.enabled]
+ return [e for e in entrypoints.values() if e.enabled]
def get_entrypoints_defines(doc):