[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'debian-unstable'



 Makefile.am                                                           |    2 
 VERSION                                                               |    2 
 bin/.cherry-ignore                                                    |   16 
 bin/get-pick-list.sh                                                  |    2 
 bin/get-typod-pick-list.sh                                            |   39 +
 configure.ac                                                          |    4 
 debian/changelog                                                      |   12 
 debian/compat                                                         |    2 
 debian/control                                                        |    3 
 debian/patches/r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff |  387 ----------
 debian/patches/series                                                 |    3 
 debian/patches/vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff    |   28 
 debian/patches/workaround-binutils-mips-844357.diff                   |   43 -
 debian/rules                                                          |    3 
 debian/source/local-options                                           |    2 
 docs/relnotes/13.0.3.html                                             |    3 
 docs/relnotes/13.0.4.html                                             |  254 ++++++
 include/GL/internal/dri_interface.h                                   |    2 
 include/vulkan/vk_icd.h                                               |  110 ++
 src/amd/common/ac_nir_to_llvm.c                                       |    4 
 src/amd/vulkan/Makefile.am                                            |    8 
 src/amd/vulkan/radv_cmd_buffer.c                                      |    4 
 src/amd/vulkan/radv_device.c                                          |   45 +
 src/amd/vulkan/radv_wsi.c                                             |   12 
 src/compiler/glsl/opt_function_inlining.cpp                           |    2 
 src/compiler/glsl/opt_minmax.cpp                                      |    4 
 src/compiler/nir/nir_opt_undef.c                                      |   12 
 src/compiler/nir/nir_search.c                                         |   16 
 src/compiler/spirv/vtn_cfg.c                                          |    3 
 src/egl/drivers/dri2/platform_wayland.c                               |    6 
 src/egl/main/eglapi.c                                                 |   10 
 src/egl/main/eglcontext.c                                             |   38 
 src/gallium/auxiliary/cso_cache/cso_context.c                         |    1 
 src/gallium/auxiliary/hud/hud_cpufreq.c                               |    1 
 src/gallium/auxiliary/vl/vl_zscan.c                                   |    2 
 src/gallium/drivers/freedreno/freedreno_batch.c                       |    2 
 src/gallium/drivers/freedreno/freedreno_batch_cache.c                 |    4 
 src/gallium/drivers/freedreno/freedreno_batch_cache.h                 |    2 
 src/gallium/drivers/freedreno/freedreno_context.c                     |   17 
 src/gallium/drivers/freedreno/freedreno_context.h                     |    2 
 src/gallium/drivers/freedreno/freedreno_fence.c                       |    7 
 src/gallium/drivers/freedreno/freedreno_fence.h                       |    8 
 src/gallium/drivers/freedreno/freedreno_gmem.c                        |    4 
 src/gallium/drivers/freedreno/freedreno_screen.c                      |    4 
 src/gallium/drivers/nouveau/nouveau_video.c                           |    2 
 src/gallium/drivers/nouveau/nv30/nv30_clear.c                         |    2 
 src/gallium/drivers/nouveau/nv30/nv30_transfer.c                      |    8 
 src/gallium/drivers/nouveau/nv50/nv50_surface.c                       |    6 
 src/gallium/drivers/nouveau/nv50/nv50_vbo.c                           |    2 
 src/gallium/drivers/nouveau/nv50/nv98_video.c                         |    6 
 src/gallium/drivers/nouveau/nv50/nv98_video_bsp.c                     |    7 
 src/gallium/drivers/nouveau/nv50/nv98_video_ppp.c                     |    7 
 src/gallium/drivers/nouveau/nv50/nv98_video_vp.c                      |    9 
 src/gallium/drivers/nouveau/nvc0/nvc0_query_hw.c                      |    2 
 src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c                           |    2 
 src/gallium/drivers/nouveau/nvc0/nvc0_video.c                         |    6 
 src/gallium/drivers/nouveau/nvc0/nvc0_video_bsp.c                     |    7 
 src/gallium/drivers/nouveau/nvc0/nvc0_video_ppp.c                     |    7 
 src/gallium/drivers/nouveau/nvc0/nvc0_video_vp.c                      |    9 
 src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp                        |   25 
 src/gallium/drivers/r600/sb/sb_gcm.cpp                                |    7 
 src/gallium/drivers/r600/sb/sb_ir.cpp                                 |    4 
 src/gallium/drivers/r600/sb/sb_ir.h                                   |   14 
 src/gallium/drivers/r600/sb/sb_pass.h                                 |    6 
 src/gallium/drivers/r600/sb/sb_valtable.cpp                           |   42 -
 src/gallium/drivers/radeonsi/si_descriptors.c                         |   19 
 src/gallium/drivers/radeonsi/si_shader.c                              |    7 
 src/gallium/drivers/radeonsi/si_state.c                               |    4 
 src/gallium/state_trackers/glx/xlib/Makefile.am                       |    1 
 src/gallium/state_trackers/va/buffer.c                                |    7 
 src/gallium/state_trackers/va/picture.c                               |   11 
 src/gallium/state_trackers/va/va_private.h                            |    1 
 src/gallium/state_trackers/vdpau/output.c                             |    7 
 src/gallium/state_trackers/vdpau/surface.c                            |   12 
 src/glx/dri3_glx.c                                                    |   14 
 src/intel/isl/isl_format.c                                            |    5 
 src/intel/vulkan/anv_device.c                                         |   59 +
 src/intel/vulkan/anv_formats.c                                        |    4 
 src/intel/vulkan/anv_image.c                                          |    2 
 src/intel/vulkan/anv_wsi.c                                            |   12 
 src/intel/vulkan/genX_cmd_buffer.c                                    |    9 
 src/mapi/entry_x86-64_tls.h                                           |   31 
 src/mesa/drivers/common/meta_generate_mipmap.c                        |    1 
 src/mesa/drivers/dri/common/dri_util.c                                |    4 
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp                        |    8 
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp                          |   16 
 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp                      |   22 
 src/mesa/drivers/dri/i965/gen8_draw_upload.c                          |   34 
 src/mesa/drivers/dri/i965/genX_blorp_exec.c                           |    4 
 src/mesa/drivers/dri/i965/hsw_sol.c                                   |    3 
 src/mesa/main/shaderobj.c                                             |   15 
 src/mesa/main/texformat.c                                             |    2 
 src/util/list.h                                                       |    2 
 src/vulkan/wsi/wsi_common.h                                           |   20 
 src/vulkan/wsi/wsi_common_wayland.c                                   |    2 
 src/vulkan/wsi/wsi_common_x11.c                                       |   16 
 96 files changed, 927 insertions(+), 742 deletions(-)

New commits:
commit cb565aa0101449b875412e63029a7e0b5a16995e
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Wed Feb 1 14:15:40 2017 +0100

    Update extend-diff-ignore.

diff --git a/debian/changelog b/debian/changelog
index 59e9874..53327a6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ mesa (13.0.4-1) UNRELEASED; urgency=medium
   * Drop workaround-binutils-mips-844357.diff, binutils regression has
     been fixed (Closes: #852030).
   * Revert to debhelper compat 9 (Workaround for #851130).
+  * Update extend-diff-ignore.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 01 Feb 2017 13:30:04 +0100
 
diff --git a/debian/source/local-options b/debian/source/local-options
index 255ac57..5dc5566 100644
--- a/debian/source/local-options
+++ b/debian/source/local-options
@@ -10,7 +10,7 @@ extend-diff-ignore = Android.*mk|CleanSpec\.mk
 extend-diff-ignore = \.clang-format|\.dir-locals\.el|\.editorconfig|\.mailmap|\.travis\.yml|appveyor\.yml
 
 # misc. files and scripts used by Mesa developers but not required for the build
-extend-diff-ignore = src/compiler/nir/README|src/gallium/drivers/vc4/kernel/README|REVIEWERS|scripts/get_reviewer\.pl|bin/\.cherry-ignore|bin/bugzilla_mesa\.sh|bin/get-extra-pick-list\.sh|bin/get-pick-list\.sh|bin/perf-annotate-jit|bin/shortlog_mesa\.sh|src/intel/blorp/TODO|src/mapi/glapi/gen/next_available_offset\.sh|src/mesa/drivers/dri/gen-symbol-redefs\.py|src/mesa/drivers/dri/r200/Doxyfile
+extend-diff-ignore = src/compiler/nir/README|src/gallium/drivers/vc4/kernel/README|REVIEWERS|scripts/get_reviewer\.pl|bin/\.cherry-ignore|bin/bugzilla_mesa\.sh|bin/get-extra-pick-list\.sh|bin/get-pick-list\.sh|bin/get-typod-pick-list\.sh|bin/perf-annotate-jit|bin/shortlog_mesa\.sh|src/intel/blorp/TODO|src/mapi/glapi/gen/next_available_offset\.sh|src/mesa/drivers/dri/gen-symbol-redefs\.py|src/mesa/drivers/dri/r200/Doxyfile
 
 # radeonsi GLSL lit tests (for developers only)
 extend-diff-ignore = src/gallium/drivers/radeonsi/glsl_tests/

commit e3fd86b24f6c3ac683826e740eeb9442257f9dd9
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Wed Jan 25 16:00:46 2017 +0100

    Revert "Bump debhelper compat to 10."
    
    This reverts commit 181d812f4893be697cef128f407ff129331d0fc4.
    
    Conflicts:
    	debian/changelog

diff --git a/debian/changelog b/debian/changelog
index e74bbfd..59e9874 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ mesa (13.0.4-1) UNRELEASED; urgency=medium
     sb-Fix-loop-optimization-related-hangs-on-eg.diff, upstream.
   * Drop workaround-binutils-mips-844357.diff, binutils regression has
     been fixed (Closes: #852030).
+  * Revert to debhelper compat 9 (Workaround for #851130).
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 01 Feb 2017 13:30:04 +0100
 
diff --git a/debian/compat b/debian/compat
index f599e28..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-10
+9
diff --git a/debian/control b/debian/control
index f469cbc..9c2f750 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,8 @@ Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Andreas Boll <andreas.boll.dev@gmail.com>
 Standards-Version: 3.9.8
 Build-Depends:
- debhelper (>= 10),
+ debhelper (>= 9),
+ dh-autoreconf,
  quilt (>= 0.40),
  pkg-config,
  libdrm-dev (>= 2.4.69) [!hurd-any],
diff --git a/debian/rules b/debian/rules
index 71bbd7a..f6041de 100755
--- a/debian/rules
+++ b/debian/rules
@@ -216,7 +216,8 @@ override_dh_makeshlibs:
 	dh_makeshlibs -a -- -c4
 
 %:
-	dh $@ --with quilt \
+	dh $@ --with quilt,autoreconf \
+		--parallel \
 		--builddirectory=build/
 
 # For maintainer use only, generate a tarball:

commit bf11df7eb906c3921a8f0cc804129d6a7cb52fd6
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Jan 19 17:26:41 2017 +0100

    Drop workaround-binutils-mips-844357.diff, binutils regression has been fixed.
    
    Closes: #852030

diff --git a/debian/changelog b/debian/changelog
index 0cca32a..e74bbfd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ mesa (13.0.4-1) UNRELEASED; urgency=medium
   * New upstream release.
   * Drop vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff and r600-
     sb-Fix-loop-optimization-related-hangs-on-eg.diff, upstream.
+  * Drop workaround-binutils-mips-844357.diff, binutils regression has
+    been fixed (Closes: #852030).
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 01 Feb 2017 13:30:04 +0100
 
diff --git a/debian/patches/series b/debian/patches/series
index 4f7ab78..9f0749f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 07_gallium-fix-build-failure-on-powerpcspe.diff
-workaround-binutils-mips-844357.diff
diff --git a/debian/patches/workaround-binutils-mips-844357.diff b/debian/patches/workaround-binutils-mips-844357.diff
deleted file mode 100644
index 0aedefb..0000000
--- a/debian/patches/workaround-binutils-mips-844357.diff
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index d215b63..a08870b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -553,6 +553,14 @@ AC_LINK_IFELSE(
-         GC_SECTIONS="";])
- LDFLAGS=$save_LDFLAGS
- 
-+# XXX workaround for Debian Bug #844357
-+# --gc-sections is currently broken on mips* with binutils > 2.27-9
-+# Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844357
-+# Upstream bug: https://sourceware.org/bugzilla/show_bug.cgi?id=20828
-+case "$host_cpu" in
-+    mips*) GC_SECTIONS="" ;;
-+esac
-+
- AC_SUBST([GC_SECTIONS])
- 
- dnl
-diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am
-index df825b7..12724a1 100644
---- a/src/gallium/targets/va/Makefile.am
-+++ b/src/gallium/targets/va/Makefile.am
-@@ -29,6 +29,7 @@ gallium_drv_video_la_LIBADD = \
- 	$(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/util/libmesautil.la \
-+	$(top_builddir)/src/compiler/nir/libnir.la \
- 	$(VL_LIBS) \
- 	$(LIBDRM_LIBS) \
- 	$(GALLIUM_COMMON_LIB_DEPS)
-diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am
-index d388f8b..6f0f9e5 100644
---- a/src/gallium/targets/vdpau/Makefile.am
-+++ b/src/gallium/targets/vdpau/Makefile.am
-@@ -34,6 +34,7 @@ libvdpau_gallium_la_LIBADD = \
- 	$(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \
- 	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
- 	$(top_builddir)/src/util/libmesautil.la \
-+	$(top_builddir)/src/compiler/nir/libnir.la \
- 	$(VL_LIBS) \
- 	$(LIBDRM_LIBS) \
- 	$(GALLIUM_COMMON_LIB_DEPS)

commit 0fb7add17804fd62ce284aba398227e4cd4c689f
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Jan 19 17:19:39 2017 +0100

    Drop vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff and
    
    r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff, upstream.

diff --git a/debian/changelog b/debian/changelog
index d9e0d37..0cca32a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 mesa (13.0.4-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+  * Drop vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff and r600-
+    sb-Fix-loop-optimization-related-hangs-on-eg.diff, upstream.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 01 Feb 2017 13:30:04 +0100
 
diff --git a/debian/patches/r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff b/debian/patches/r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff
deleted file mode 100644
index f4c8e6a..0000000
--- a/debian/patches/r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff
+++ /dev/null
@@ -1,387 +0,0 @@
-commit e933246013eef376804662f3fcf4646c143c6c88
-Author: Heiko Przybyl <lil_tux@web.de>
-Date:   Sun Nov 20 14:42:28 2016 +0100
-
-    r600/sb: Fix loop optimization related hangs on eg
-    
-    Make sure unused ops and their references are removed, prior to entering
-    the GCM (global code motion) pass, to stop GCM from breaking the loop
-    logic and thus hanging the GPU.
-    
-    Turns out, that sb has problems with loops and node optimizations
-    regarding associative folding:
-    
-    - the global code motion (gcm) pass moves ops up a loop level/basic block
-    until they've fulfilled their total usage count
-    - if there are ops folded into others, the usage count won't be
-    fulfilled and thus the op moved way up to the top
-    - within GCM the op would be visited and their deps would be moved
-    alongside it, to fulfill the src constaints
-    - in a loop, an unused op is moved out of the loop and GCM would move
-    the src value ops up as well
-    - now here arises the problem: if the loop counter is one of the src
-    values it would get moved up as well, the loop break condition would
-    never get hit and the shader turn into an endless loop, resulting in the
-    GPU hanging and being reset
-    
-    A reduced (albeit nonsense) piglit example would be:
-    
-    [require]
-    GLSL >= 1.20
-    
-    [fragment shader]
-    
-    uniform int SIZE;
-    uniform vec4 lights[512];
-    
-    void main()
-    {
-        float x = 0;
-        for(int i = 0; i < SIZE; i++)
-            x += lights[2*i+1].x;
-    }
-    
-    [test]
-    uniform int SIZE 1
-    draw rect -1 -1 2 2
-    
-    Which gets optimized to:
-    
-    ===== SHADER #12 OPT ================================== PS/BARTS/EVERGREEN =====
-    ===== 42 dw ===== 1 gprs ===== 2 stack =========================================
-    ALU 3 @24
-         1      y: MOV                R0.y,  0
-                t: MULLO_UINT         R0.w,  [0x00000002 2.8026e-45].x, R0.z
-    
-    LOOP_START_DX10 @22
-    PUSH @6
-    ALU 1 @30 KC0[CB0:0-15]
-         2 M    x: PRED_SETGE_INT     __.x,  R0.z, KC0[0].x
-    JUMP @14 POP:1
-    LOOP_BREAK @20
-    POP @14 POP:1
-    ALU 2 @32
-         3      x: ADD_INT            R0.x,  R0.w, [0x00000002 2.8026e-45].x
-    
-    TEX 1 @36
-                   VFETCH             R0.x___, R0.x,   RID:0   MFC:16 UCF:0 FMT[..]
-    ALU 1 @40
-         4      y: ADD                R0.y,  R0.y, R0.x
-    LOOP_END @4
-    EXPORT_DONE        PIXEL 0     R0.____  EOP
-    ===== SHADER_END ===============================================================
-    
-    Notice R0.z being the loop counter/break condition relevant register
-    and being never incremented at all. Also some of the loop content
-    has been moved out of it, to fulfill the requirements for the one unused
-    op.
-    
-    With a debug build of mesa this would produce an error like
-    error at : PRED_SETGE_INT     __, __, EM.2,    R1.x.2||FP@R0.z, C0.x
-      : operand value R1.x.2||FP@R0.z was not previously written to its gpr
-    and the compilation would fail due to this. On a release build it gets
-    passed to the GPU.
-    
-    When using this patch, the loop remains intact:
-    
-    ===== SHADER #12 OPT ================================== PS/BARTS/EVERGREEN =====
-    ===== 48 dw ===== 1 gprs ===== 2 stack =========================================
-    ALU 2 @24
-         1      y: MOV                R0.y,  0
-                z: MOV                R0.z,  0
-    LOOP_START_DX10 @22
-    PUSH @6
-    ALU 1 @28 KC0[CB0:0-15]
-         2 M    x: PRED_SETGE_INT     __.x,  R0.z, KC0[0].x
-    JUMP @14 POP:1
-    LOOP_BREAK @20
-    POP @14 POP:1
-    ALU 4 @30
-         3      t: MULLO_UINT         T0.x,  [0x00000002 2.8026e-45].x, R0.z
-    
-         4      x: ADD_INT            R0.x,  T0.x, [0x00000002 2.8026e-45].x
-    
-    TEX 1 @40
-                   VFETCH             R0.x___, R0.x,   RID:0   MFC:16 UCF:0 FMT[..]
-    ALU 2 @44
-         5      y: ADD                R0.y,  R0.y, R0.x
-                z: ADD_INT            R0.z,  R0.z, 1
-    LOOP_END @4
-    EXPORT_DONE        PIXEL 0     R0.____  EOP
-    ===== SHADER_END ===============================================================
-    
-    Piglit: ./piglit summary console -d results/*_gpu_noglx
-            name: unpatched_gpu_noglx patched_gpu_noglx
-            ----  ------------------- -----------------
-            pass:               18016             18021
-            fail:                 748               743
-            crash:                  7                 7
-            skip:                1124              1124
-            timeout:                0                 0
-            warn:                  13                13
-            incomplete:             0                 0
-            dmesg-warn:             0                 0
-            dmesg-fail:             0                 0
-            changes:                0                 5
-            fixes:                  0                 5
-            regressions:            0                 0
-            total:              19908             19908
-    
-    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94900
-    Tested-by: Heiko Przybyl <lil_tux@web.de>
-    Tested-on: Barts PRO HD6850
-    Signed-off-by: Heiko Przybyl <lil_tux@web.de>
-    Signed-off-by: Marek Olšák <marek.olsak@amd.com>
-
-diff --git a/src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp b/src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp
-index 79aef91..abae2bf 100644
---- a/src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp
-+++ b/src/gallium/drivers/r600/sb/sb_dce_cleanup.cpp
-@@ -30,6 +30,18 @@
- 
- namespace r600_sb {
- 
-+int dce_cleanup::run() {
-+	int r;
-+
-+	// Run cleanup for as long as there are unused nodes.
-+	do {
-+		nodes_changed = false;
-+		r = vpass::run();
-+	} while (r == 0 && nodes_changed);
-+
-+	return r;
-+}
-+
- bool dce_cleanup::visit(node& n, bool enter) {
- 	if (enter) {
- 	} else {
-@@ -110,7 +122,18 @@ bool dce_cleanup::visit(region_node& n, bool enter) {
- void dce_cleanup::cleanup_dst(node& n) {
- 	if (!cleanup_dst_vec(n.dst) && remove_unused &&
- 			!n.dst.empty() && !(n.flags & NF_DONT_KILL) && n.parent)
-+	{
-+		// Delete use references to the removed node from the src values.
-+		for (vvec::iterator I = n.src.begin(), E = n.src.end(); I != E; ++I) {
-+			value* v = *I;
-+			if (v && v->def && v->uses.size())
-+			{
-+				v->remove_use(&n);
-+			}
-+		}
- 		n.remove();
-+		nodes_changed = true;
-+	}
- }
- 
- bool dce_cleanup::visit(container_node& n, bool enter) {
-@@ -130,7 +153,7 @@ bool dce_cleanup::cleanup_dst_vec(vvec& vv) {
- 		if (v->gvn_source && v->gvn_source->is_dead())
- 			v->gvn_source = NULL;
- 
--		if (v->is_dead() || (remove_unused && !v->is_rel() && !v->uses))
-+		if (v->is_dead() || (remove_unused && !v->is_rel() && !v->uses.size()))
- 			v = NULL;
- 		else
- 			alive = true;
-diff --git a/src/gallium/drivers/r600/sb/sb_gcm.cpp b/src/gallium/drivers/r600/sb/sb_gcm.cpp
-index 236b2ea..9c75389 100644
---- a/src/gallium/drivers/r600/sb/sb_gcm.cpp
-+++ b/src/gallium/drivers/r600/sb/sb_gcm.cpp
-@@ -199,10 +199,9 @@ void gcm::td_release_val(value *v) {
- 		sblog << "\n";
- 	);
- 
--	use_info *u = v->uses;
--	while (u) {
-+	for (uselist::iterator I = v->uses.begin(), E = v->uses.end(); I != E; ++I) {
-+		use_info *u = *I;
- 		if (u->op->parent != &pending) {
--			u = u->next;
- 			continue;
- 		}
- 
-@@ -212,6 +211,7 @@ void gcm::td_release_val(value *v) {
- 			sblog << "\n";
- 		);
- 
-+		assert(uses[u->op] > 0);
- 		if (--uses[u->op] == 0) {
- 			GCM_DUMP(
- 				sblog << "td        released : ";
-@@ -222,7 +222,6 @@ void gcm::td_release_val(value *v) {
- 			pending.remove_node(u->op);
- 			ready.push_back(u->op);
- 		}
--		u = u->next;
- 	}
- 
- }
-diff --git a/src/gallium/drivers/r600/sb/sb_ir.cpp b/src/gallium/drivers/r600/sb/sb_ir.cpp
-index 5226893..d989dce 100644
---- a/src/gallium/drivers/r600/sb/sb_ir.cpp
-+++ b/src/gallium/drivers/r600/sb/sb_ir.cpp
-@@ -255,7 +255,7 @@ void container_node::expand() {
- void node::remove() {parent->remove_node(this);
- }
- 
--value_hash node::hash_src() {
-+value_hash node::hash_src() const {
- 
- 	value_hash h = 12345;
- 
-@@ -269,7 +269,7 @@ value_hash node::hash_src() {
- }
- 
- 
--value_hash node::hash() {
-+value_hash node::hash() const {
- 
- 	if (parent && parent->subtype == NST_LOOP_PHI_CONTAINER)
- 		return 47451;
-diff --git a/src/gallium/drivers/r600/sb/sb_ir.h b/src/gallium/drivers/r600/sb/sb_ir.h
-index 4fc4da2..74c0549 100644
---- a/src/gallium/drivers/r600/sb/sb_ir.h
-+++ b/src/gallium/drivers/r600/sb/sb_ir.h
-@@ -446,15 +446,16 @@ enum use_kind {
- };
- 
- struct use_info {
--	use_info *next;
- 	node *op;
- 	use_kind kind;
- 	int arg;
- 
--	use_info(node *n, use_kind kind, int arg, use_info* next)
--		: next(next), op(n), kind(kind), arg(arg) {}
-+	use_info(node *n, use_kind kind, int arg)
-+		: op(n), kind(kind), arg(arg) {}
- };
- 
-+typedef std::list< use_info * > uselist;
-+
- enum constraint_kind {
- 	CK_SAME_REG,
- 	CK_PACKED_BS,
-@@ -498,7 +499,7 @@ public:
- 	value_hash ghash;
- 
- 	node *def, *adef;
--	use_info *uses;
-+	uselist uses;
- 
- 	ra_constraint *constraint;
- 	ra_chunk *chunk;
-@@ -585,6 +586,7 @@ public:
- 	}
- 
- 	void add_use(node *n, use_kind kind, int arg);
-+	void remove_use(const node *n);
- 
- 	value_hash hash();
- 	value_hash rel_hash();
-@@ -790,8 +792,8 @@ public:
- 	void replace_with(node *n);
- 	void remove();
- 
--	virtual value_hash hash();
--	value_hash hash_src();
-+	virtual value_hash hash() const;
-+	value_hash hash_src() const;
- 
- 	virtual bool fold_dispatch(expr_handler *ex);
- 
-diff --git a/src/gallium/drivers/r600/sb/sb_pass.h b/src/gallium/drivers/r600/sb/sb_pass.h
-index 0346df1..e878f8c 100644
---- a/src/gallium/drivers/r600/sb/sb_pass.h
-+++ b/src/gallium/drivers/r600/sb/sb_pass.h
-@@ -124,7 +124,9 @@ class dce_cleanup : public vpass {
- public:
- 
- 	dce_cleanup(shader &s) : vpass(s),
--		remove_unused(s.dce_flags & DF_REMOVE_UNUSED) {}
-+		remove_unused(s.dce_flags & DF_REMOVE_UNUSED), nodes_changed(false) {}
-+
-+	virtual int run();
- 
- 	virtual bool visit(node &n, bool enter);
- 	virtual bool visit(alu_group_node &n, bool enter);
-@@ -140,6 +142,8 @@ private:
- 	void cleanup_dst(node &n);
- 	bool cleanup_dst_vec(vvec &vv);
- 
-+	// Did we alter/remove nodes during a single pass?
-+	bool nodes_changed;
- };
- 
- 
-diff --git a/src/gallium/drivers/r600/sb/sb_valtable.cpp b/src/gallium/drivers/r600/sb/sb_valtable.cpp
-index eb242b1..a8b7b49 100644
---- a/src/gallium/drivers/r600/sb/sb_valtable.cpp
-+++ b/src/gallium/drivers/r600/sb/sb_valtable.cpp
-@@ -220,17 +220,33 @@ void value::add_use(node* n, use_kind kind, int arg) {
- 	dump::dump_op(n);
- 	sblog << "     kind " << kind << "    arg " << arg << "\n";
- 	}
--	uses = new use_info(n, kind, arg, uses);
-+	uses.push_back(new use_info(n, kind, arg));
- }
- 
--unsigned value::use_count() {
--	use_info *u = uses;
--	unsigned c = 0;
--	while (u) {
--		++c;
--		u = u->next;
-+struct use_node_comp {
-+	explicit use_node_comp(const node *n) : n(n) {}
-+	bool operator() (const use_info *u) {
-+		return u->op->hash() == n->hash();
-+	}
-+
-+	private:
-+		const node *n;
-+};
-+
-+void value::remove_use(const node *n) {
-+	uselist::iterator it =
-+		std::find_if(uses.begin(), uses.end(), use_node_comp(n));
-+
-+	if (it != uses.end())
-+	{
-+		// TODO assert((*it)->kind == kind) ?
-+		// TODO assert((*it)->arg == arg) ?
-+		uses.erase(it);
- 	}
--	return c;
-+}
-+
-+unsigned value::use_count() {
-+	return uses.size();
- }
- 
- bool value::is_global() {
-@@ -274,13 +290,7 @@ bool value::is_prealloc() {
- }
- 
- void value::delete_uses() {
--	use_info *u, *c = uses;
--	while (c) {
--		u = c->next;
--		delete c;
--		c = u;
--	}
--	uses = NULL;
-+	uses.erase(uses.begin(), uses.end());
- }
- 
- void ra_constraint::update_values() {
-@@ -468,7 +478,7 @@ bool r600_sb::sb_value_set::add_vec(vvec& vv) {
- bool r600_sb::sb_value_set::contains(value* v) {
- 	unsigned b = v->uid - 1;
- 	if (b < bs.size())
--		return bs.get(v->uid - 1);
-+		return bs.get(b);
- 	else
- 		return false;
- }
diff --git a/debian/patches/series b/debian/patches/series
index 1c14631..4f7ab78 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,2 @@
 07_gallium-fix-build-failure-on-powerpcspe.diff
 workaround-binutils-mips-844357.diff
-vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff
-r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff
diff --git a/debian/patches/vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff b/debian/patches/vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff
deleted file mode 100644
index 01e0533..0000000
--- a/debian/patches/vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-commit ac57bcda1e0e6dcfa81e24468d5b682686120649
-Author: Christian König <christian.koenig@amd.com>
-Date:   Wed Dec 14 15:03:35 2016 +0100
-
-    vl/zscan: fix "Fix trivial sign compare warnings"
-    
-    The variable actually needs to be signed, otherwise converting it to a
-    float doesn't work as expected.
-    
-    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98914
-    Signed-off-by: Christian König <christian.koenig@amd.com>
-    Reviewed-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
-    Cc: "13.0" <mesa-stable@lists.freedesktop.org>
-    Fixes: 1fb4179f927 ("vl: Fix trivial sign compare warnings")
-
-diff --git a/src/gallium/auxiliary/vl/vl_zscan.c b/src/gallium/auxiliary/vl/vl_zscan.c
-index ef05af4..24d6452 100644
---- a/src/gallium/auxiliary/vl/vl_zscan.c
-+++ b/src/gallium/auxiliary/vl/vl_zscan.c
-@@ -152,7 +152,7 @@ create_vert_shader(struct vl_zscan *zscan)
-    for (i = 0; i < zscan->num_channels; ++i) {
-       ureg_ADD(shader, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y),
-                ureg_imm1f(shader, 1.0f / (zscan->blocks_per_line * VL_BLOCK_WIDTH)
--                * (i - (signed)zscan->num_channels / 2)));
-+                * ((signed)i - (signed)zscan->num_channels / 2)));
- 
-       ureg_MAD(shader, ureg_writemask(o_vtex[i], TGSI_WRITEMASK_X), vrect,
-                ureg_imm1f(shader, 1.0f / zscan->blocks_per_line), ureg_src(tmp));

commit e94bae18371f2492db26a05bddfd20a07e280bc1
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Wed Feb 1 13:30:14 2017 +0100

    Bump changelog

diff --git a/debian/changelog b/debian/changelog
index f48b6ea..d9e0d37 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (13.0.4-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 01 Feb 2017 13:30:04 +0100
+
 mesa (13.0.3-1) unstable; urgency=medium
 
   [ Timo Aaltonen ]

commit 3255d10da4c2703bfdfcefd8f59b0d8f21dbb43f
Author: Emil Velikov <emil.velikov@collabora.com>
Date:   Wed Feb 1 10:10:38 2017 +0000

    docs: add release notes for 13.0.4
    
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

diff --git a/docs/relnotes/13.0.4.html b/docs/relnotes/13.0.4.html
new file mode 100644
index 0000000..52105b7
--- /dev/null
+++ b/docs/relnotes/13.0.4.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=utf-8">
+  <title>Mesa Release Notes</title>
+  <link rel="stylesheet" type="text/css" href="../mesa.css">
+</head>
+<body>
+
+<div class="header">
+  <h1>The Mesa 3D Graphics Library</h1>
+</div>
+
+<iframe src="../contents.html"></iframe>
+<div class="content">
+
+<h1>Mesa 13.0.4 Release Notes / February 1, 2017</h1>
+
+<p>
+Mesa 13.0.4 is a bug fix release which fixes bugs found since the 13.0.3 release.
+</p>
+<p>
+Mesa 13.0.4 implements the OpenGL 4.4 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 4.4.  OpenGL
+4.4 is <strong>only</strong> available if requested at context creation
+because compatibility contexts are not supported.
+</p>
+
+
+<h2>SHA256 checksums</h2>
+<pre>
+TBD
+</pre>
+
+
+<h2>New features</h2>
+<p>None</p>
+
+
+<h2>Bug fixes</h2>
+
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92634";>Bug 92634</a> - gallium's vl_mpeg12_decoder does not work with st/va</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94512";>Bug 94512</a> - X segfaults with glx-tls enabled in a x32 environment</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94900";>Bug 94900</a> - HD6950 GPU lockup loop with various steam games (octodad[always], saints row 4[always], dead island[always], grid autosport[sometimes])</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98263";>Bug 98263</a> - [radv] The Talos Principle fails to launch with &quot;Fatal error: Cannot set display mode.&quot;</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98914";>Bug 98914</a> - mesa-vdpau-drivers: breaks vdpau for mpeg2video</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98975";>Bug 98975</a> - Wasteland 2 Directors Cut: Hangs. GPU fault</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99030";>Bug 99030</a> - [HSW, regression] transform feedback fails on Linux 4.8</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99085";>Bug 99085</a> - [EGL] dEQP-EGL.functional.sharing.gles2.multithread intermittent</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99097";>Bug 99097</a> - [vulkancts] dEQP-VK.image.store regression</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99100";>Bug 99100</a> - [SKL,BDW,BSW,KBL] dEQP-VK.glsl.return.return_in_dynamic_loop_dynamic_vertex regression</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99144";>Bug 99144</a> - Incorrect rendering using glDrawArraysInstancedBaseInstance and first != 0 on Skylake</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99154";>Bug 99154</a> - Link time error when using multiple builtin functions</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99158";>Bug 99158</a> - vdpau segfaults and gpu locks with kodi on R9285</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99185";>Bug 99185</a> - dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99188";>Bug 99188</a> - dEQP-EGL.functional.create_context_ext.robust_gl_30.rgb565_no_depth_no_stencil</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99210";>Bug 99210</a> - ES3-CTS.functional.texture.mipmap.cube.generate.rgba5551_*</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99354";>Bug 99354</a> - [G71] &quot;Assertion `bkref' failed&quot; reproducible with glmark2</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99450";>Bug 99450</a> - [amdgpu] Payday 2 visual glitches on some models</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=99451";>Bug 99451</a> - polygon offset use after free</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Andres Rodriguez (2):</p>
+<ul>
+  <li>vulkan/wsi: clarify the severity of lack of DRI3 v2</li>
+  <li>radv: fix include order for installed headers v2</li>
+</ul>
+
+<p>Arda Coskunses (2):</p>
+<ul>
+  <li>vulkan/wsi/x11: don't crash on null visual</li>
+  <li>vulkan/wsi/x11: don't crash on null wsi x11 connection</li>
+</ul>
+
+<p>Bas Nieuwenhuizen (1):</p>
+<ul>
+  <li>radv: Support loader interface version 3.</li>
+</ul>
+
+<p>Chad Versace (10):</p>
+<ul>
+  <li>egl: Check config's surface types in eglCreate*Surface()</li>
+  <li>dri: Add __DRI_IMAGE_FORMAT_ARGB1555</li>
+  <li>mesa/texformat: Handle GL_RGBA + GL_UNSIGNED_SHORT_5_5_5_1</li>
+  <li>egl: Emit correct error when robust context creation fails</li>
+  <li>anv: Handle vkGetPhysicalDeviceQueueFamilyProperties with count == 0</li>
+  <li>mesa/shaderobj: Fix races on refcounts</li>
+  <li>meta: Disable dithering during glGenerateMipmap</li>
+  <li>vulkan: Add new cast macros for VkIcd types</li>
+  <li>vulkan: Update vk_icd.h to interface version 3</li>
+  <li>anv: Support loader interface version 3 (patch v2)</li>
+</ul>
+
+<p>Christian König (1):</p>
+<ul>
+  <li>vl/zscan: fix "Fix trivial sign compare warnings"</li>
+</ul>
+
+<p>Chuck Atkins (1):</p>
+<ul>
+  <li>glx: Add missing glproto dependency for gallium-xlib glx</li>
+</ul>
+
+<p>Damien Grassart (1):</p>
+<ul>
+  <li>anv: return count of queue families written</li>
+</ul>
+
+<p>Dave Airlie (1):</p>
+<ul>
+  <li>radv: flush smem for uniform buffer bit.</li>
+</ul>
+
+<p>Emil Velikov (10):</p>
+<ul>
+  <li>docs: add sha256 checksums for 13.0.3</li>
+  <li>cherry-ignore: add couple of intel_miptree_copy related patches</li>
+  <li>cherry-ignore: add radv: Call nir_lower_constant_initializers."</li>
+  <li>get-typod-pick-list.sh: add new script</li>
+  <li>cherry-ignore: add "_mesa_ClampColor extension/version fix"</li>
+  <li>cherry-ignore: add wayland race condition fix</li>
+  <li>egl/wayland: use the destroy_window_callback for swrast</li>
+  <li>automake: use shared llvm libs for make distcheck</li>
+  <li>get-pick-list.sh: Require explicit "13.0" for nominating stable patches</li>
+  <li>Update version to 13.0.4</li>
+</ul>
+
+<p>Francisco Jerez (1):</p>
+<ul>
+  <li>anv: Fix uniform and storage buffer offset alignment limits.</li>
+</ul>
+
+<p>Fredrik Höglund (2):</p>
+<ul>
+  <li>radv: fix dual source blending</li>
+  <li>dri3: Fix MakeCurrent without a default framebuffer</li>
+</ul>
+
+<p>Grazvydas Ignotas (1):</p>
+<ul>
+  <li>mapi: update the asm code to support x32</li>
+</ul>
+
+<p>Heiko Przybyl (1):</p>
+<ul>
+  <li>r600/sb: Fix loop optimization related hangs on eg</li>
+</ul>
+
+<p>Ilia Mirkin (1):</p>
+<ul>
+  <li>nouveau: take extra push space into account for pushbuf_space calls</li>
+</ul>
+
+<p>Jason Ekstrand (4):</p>
+<ul>
+  <li>i965/generator/tex: Handle an immediate sampler with an indirect texture</li>
+  <li>anv/formats: Use the real format for B4G4R4A4_UNORM_PACK16 on gen8</li>
+  <li>nir/search: Only allow matching SSA values</li>
+  <li>isl: Mark A4B4G4R4_UNORM as supported on gen8</li>
+</ul>
+
+<p>Jonas Ådahl (1):</p>
+<ul>
+  <li>egl/wayland: Cleanup private display connection when init fails</li>
+</ul>
+
+<p>Kenneth Graunke (7):</p>
+<ul>
+  <li>i965: Don't bail on vertex element processing if we need draw params.</li>
+  <li>i965: Fix last slot calculations</li>
+  <li>i965: Fix texturing in the vec4 TCS and GS backends.</li>
+  <li>spirv: Move cursor before calling vtn_ssa_value() in phi 2nd pass.</li>
+  <li>i965: Make BLORP disable the NP Z PMA stall fix.</li>
+  <li>glsl: Use ir_var_temporary when generating inline functions.</li>
+  <li>i965: Properly flush in hsw_pause_transform_feedback().</li>
+</ul>
+
+<p>Marek Olšák (4):</p>
+<ul>
+  <li>vdpau: call texture_get_handle while the mutex is being held</li>
+  <li>va: call texture_get_handle while the mutex is being held</li>
+  <li>radeonsi: for the tess barrier, only use emit_waitcnt on SI and LLVM 3.9+</li>
+  <li>radeonsi: don't forget to add HTILE to the buffer list for texturing</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+  <li>cso: Don't restore nr_samplers in cso_restore_fragment_samplers</li>
+</ul>
+
+<p>Nanley Chery (3):</p>
+<ul>
+  <li>anv/cmd_buffer: Fix arrayed depth/stencil attachments</li>
+  <li>anv/cmd_buffer: Fix programmed HiZ qpitch</li>
+  <li>anv/image: Disable HiZ for depth buffer arrays</li>
+</ul>
+
+<p>Nayan Deshmukh (1):</p>
+<ul>
+  <li>st/va: delay calling begin_frame until we have all parameters</li>
+</ul>
+
+<p>Rob Clark (1):</p>
+<ul>
+  <li>freedreno: some fence cleanup</li>
+</ul>
+
+<p>Samuel Pitoiset (1):</p>
+<ul>
+  <li>gallium/hud: add missing break in hud_cpufreq_graph_install()</li>
+</ul>
+
+<p>Timothy Arceri (3):</p>


Reply to: