Hello community, here is the log from the commit of package Mesa for openSUSE:Factory checked in at 2018-05-25 21:36:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/Mesa (Old) and /work/SRC/openSUSE:Factory/.Mesa.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Mesa" Fri May 25 21:36:51 2018 rev:326 rq:611368 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/Mesa/Mesa-drivers.changes 2018-05-20 17:20:33.394199664 +0200 +++ /work/SRC/openSUSE:Factory/.Mesa.new/Mesa-drivers.changes 2018-05-25 21:36:53.092901655 +0200 @@ -1,0 +2,48 @@ +Tue May 22 16:08:15 UTC 2018 - tobias.johannes.klausm...@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 - m...@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...@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. + +------------------------------------------------------------------- Mesa.changes: same change Old: ---- mesa-18.0.4.tar.xz mesa-18.0.4.tar.xz.sig New: ---- U_dri3-Stricter-SBC-wraparound-handling.patch mesa-18.1.0.tar.xz mesa-18.1.0.tar.xz.sha1sum u_intel_anv-make-scripts-python-2-3-compat.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Mesa-drivers.spec ++++++ --- /var/tmp/diff_new_pack.xxlIfy/_old 2018-05-25 21:36:56.732769903 +0200 +++ /var/tmp/diff_new_pack.xxlIfy/_new 2018-05-25 21:36:56.736769758 +0200 @@ -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 @@ # 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 @@ 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: 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 @@ %endif %patch43 -p1 +%patch44 -p1 %patch47 -p1 +%patch100 -p1 # Remove requires to libglvnd/libglvnd-devel from baselibs.conf when # disabling libglvnd build; ugly ... Mesa.spec: same change ++++++ Mesa.keyring ++++++ ++++ 5349 lines (skipped) ++++ between Mesa.keyring ++++ and /work/SRC/openSUSE:Factory/.Mesa.new/Mesa.keyring ++++++ U_dri3-Stricter-SBC-wraparound-handling.patch ++++++ >From fe2edb25dd5628c395a65b60998f11e839d2b458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daen...@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-sta...@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/106351 Tested-by: Mike Lothian <m...@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 ++++++ archlinux_0001-Fix-linkage-against-shared-glapi.patch ++++++ --- /var/tmp/diff_new_pack.xxlIfy/_old 2018-05-25 21:36:56.896763967 +0200 +++ /var/tmp/diff_new_pack.xxlIfy/_new 2018-05-25 21:36:56.896763967 +0200 @@ -8,12 +8,12 @@ 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 \ ++++++ mesa-18.0.4.tar.xz -> mesa-18.1.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/Mesa/mesa-18.0.4.tar.xz /work/SRC/openSUSE:Factory/.Mesa.new/mesa-18.1.0.tar.xz differ: char 26, line 1 ++++++ mesa-18.1.0.tar.xz.sha1sum ++++++ 3da4b5f4ae3705c017a8f988f1304be45eed875f mesa-18.1.0.tar.xz ++++++ n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch ++++++ --- /var/tmp/diff_new_pack.xxlIfy/_old 2018-05-25 21:36:56.988760636 +0200 +++ /var/tmp/diff_new_pack.xxlIfy/_new 2018-05-25 21:36:56.988760636 +0200 @@ -12,11 +12,11 @@ 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 @@ $${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 @@ $${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 @@ $${dest_dir}/$${l}; \ ln -sf $${l} \ $${dest_dir}/$${k}.$(XVMC_MAJOR).$(XVMC_MINOR); \ --- -2.6.2 - ++++++ u_intel_anv-make-scripts-python-2-3-compat.patch ++++++ 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):