VERSION                                                    |    2 
 bin/.cherry-ignore                                         |   45 ++++
 configure.ac                                               |    4 
 debian/changelog                                           |    6 
 docs/relnotes/17.0.4.html                                  |    3 
 docs/relnotes/17.0.5.html                                  |  143 +++++++++++++
 src/amd/vulkan/radv_device.c                               |    2 
 src/amd/vulkan/radv_radeon_winsys.h                        |    2 
 src/compiler/glsl/glsl_to_nir.cpp                          |    3 
 src/compiler/nir/nir_intrinsics.h                          |    2 
 src/gallium/auxiliary/util/u_queue.c                       |   11 -
 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp  |   15 +
 src/gallium/state_trackers/clover/llvm/codegen.hpp         |    2 
 src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp |    4 
 src/gallium/state_trackers/clover/llvm/codegen/common.cpp  |    6 
 src/gallium/state_trackers/clover/llvm/codegen/native.cpp  |    2 
 src/gallium/state_trackers/clover/llvm/compat.hpp          |    8 
 src/gallium/state_trackers/clover/llvm/metadata.hpp        |   12 -
 src/gallium/winsys/sw/dri/dri_sw_winsys.c                  |    2 
 src/intel/vulkan/anv_blorp.c                               |   38 +++
 src/intel/vulkan/genX_cmd_buffer.c                         |  106 +++++----
 src/mapi/glapi/gen/gl_API.xml                              |    2 
 src/mesa/Makefile.am                                       |    1 
 src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp          |    5 
 src/mesa/drivers/dri/i965/brw_vec4.cpp                     |    7 
 src/mesa/main/api_validate.c                               |  104 +++++++--
 src/mesa/main/api_validate.h                               |    4 
 src/mesa/main/uniform_query.cpp                            |    2 
 src/mesa/main/uniforms.c                                   |   23 +-
 src/mesa/main/varray.c                                     |   18 -
 src/mesa/program/ir_to_mesa.cpp                            |    5 
 src/mesa/state_tracker/st_draw.c                           |    2 
 src/mesa/vbo/vbo_exec_array.c                              |   52 ++++
 src/mesa/vbo/vbo_save_api.c                                |   35 +++
 34 files changed, 541 insertions(+), 137 deletions(-)

New commits:
commit 73eb557dab50e93742320912d0ba436d750d5760
Author: Timo Aaltonen <tjaal...@debian.org>
Date:   Thu May 4 20:08:57 2017 +0300

    upload to artful

diff --git a/debian/changelog b/debian/changelog
index 20f7f55..07b312e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (17.0.5-0ubuntu1) artful; urgency=medium
+
+  * New upstream bugfix release. (LP: #1686344)
+
+ -- Timo Aaltonen <tjaal...@debian.org>  Thu, 04 May 2017 20:07:36 +0300
+
 mesa (17.0.4-1ubuntu1) artful; urgency=medium
 
   * Merge from Debian.

commit 61b134a862ecc1877bbe2f2c14e493b5fb607e04
Author: Andres Gomez <ago...@igalia.com>
Date:   Fri Apr 28 20:41:38 2017 +0300

    docs: add release notes for 17.0.5
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/docs/relnotes/17.0.5.html b/docs/relnotes/17.0.5.html
new file mode 100644
index 0000000..8649f89
--- /dev/null
+++ b/docs/relnotes/17.0.5.html
@@ -0,0 +1,143 @@
+<!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 17.0.5 Release Notes / April 28, 2017</h1>
+
+<p>
+Mesa 17.0.5 is a bug fix release which fixes bugs found since the 17.0.4 
release.
+</p>
+<p>
+Mesa 17.0.5 implements the OpenGL 4.5 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.5.  OpenGL
+4.5 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=97524";>Bug 97524</a> 
- Samplers referring to the same texture unit with different types should raise 
GL_INVALID_OPERATION</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Andres Gomez (16):</p>
+<ul>
+  <li>cherry-ignore: Add the pci_id into the shader cache UUID</li>
+  <li>cherry-ignore: fix crash if ctx torn down with no rendering</li>
+  <li>cherry-ignore: Fix typos.</li>
+  <li>cherry-ignore: Revert "etnaviv: Cannot render to rb-swapped formats"</li>
+  <li>cherry-ignore: Revert "i965/fs: Don't emit SEL instructions for 
type-converting MOVs."</li>
+  <li>cherry-ignore: fix typo in a2b10g10r10 fast clear calculation</li>
+  <li>cherry-ignore: remove unused anv_dispatch_table dtable</li>
+  <li>cherry-ignore: remove unused radv_dispatch_table dtable</li>
+  <li>cherry-ignore: make radv_resolve_entrypoint static</li>
+  <li>cherry-ignore: vulkan: add support for libmesa_vulkan_util</li>
+  <li>cherry-ignore: r600: fix libmesa_amd_common dependency</li>
+  <li>cherry-ignore: remove dead brw_new_shader() declaration</li>
+  <li>cherry-ignore: remove i965_symbols_test reference from .gitignore</li>
+  <li>cherry-ignore: automake: ensure that the destination directory is 
created</li>
+  <li>cherry-ignore: provide required gem stubs for the tests</li>
+  <li>Update version to 17.0.5</li>
+</ul>
+
+<p>Boyan Ding (2):</p>
+<ul>
+  <li>nvc0/ir: Properly handle a "split form" of predicate destination</li>
+  <li>nir: Destination component count of shader_clock intrinsic is 2</li>
+</ul>
+
+<p>Emil Velikov (5):</p>
+<ul>
+  <li>docs: add sha256 checksums for 17.0.4</li>
+  <li>winsys/sw/dri: don't use GNU void pointer arithmetic</li>
+  <li>st/clover: add space between &lt; and ::</li>
+  <li>configure.ac: check require_basic_egl only if egl enabled</li>
+  <li>st/mesa: automake: honour the vdpau header install location</li>
+</ul>
+
+<p>Francisco Jerez (2):</p>
+<ul>
+  <li>intel/fs: Use regs_written() in spilling cost heuristic for improved 
accuracy.</li>
+  <li>intel/fs: Take into account amount of data read in spilling cost 
heuristic.</li>
+</ul>
+
+<p>Grazvydas Ignotas (1):</p>
+<ul>
+  <li>radv: report timestampPeriod correctly</li>
+</ul>
+
+<p>Jason Ekstrand (5):</p>
+<ul>
+  <li>anv/blorp: Flush the texture cache in UpdateBuffer</li>
+  <li>anv/cmd_buffer: Flush the VF cache at the top of all primaries</li>
+  <li>anv/cmd_buffer: Always set up a null surface state</li>
+  <li>anv/cmd_buffer: Use the null surface state for ATTACHMENT_UNUSED</li>
+  <li>anv/blorp: Properly handle VK_ATTACHMENT_UNUSED</li>
+</ul>
+
+<p>Kenneth Graunke (1):</p>
+<ul>
+  <li>i965/vec4: Avoid reswizzling MACH instructions in 
opt_register_coalesce().</li>
+</ul>
+
+<p>Marek Olšák (1):</p>
+<ul>
+  <li>st/mesa: invalidate the readpix cache in st_indirect_draw_vbo</li>
+</ul>
+
+<p>Nanley Chery (1):</p>
+<ul>
+  <li>anv/cmd_buffer: Disable CCS on BDW input attachments</li>
+</ul>
+
+<p>Nicolai Hähnle (4):</p>
+<ul>
+  <li>mesa: fix remaining xfb prims check for GLES with multiple instances</li>
+  <li>mesa: extract need_xfb_remaining_prims_check</li>
+  <li>mesa: move glMultiDrawArrays to vbo and fix error handling</li>
+  <li>vbo: fix gl_DrawID handling in glMultiDrawArrays</li>
+</ul>
+
+<p>Rob Clark (1):</p>
+<ul>
+  <li>util/queue: don't hang at exit</li>
+</ul>
+
+<p>Timothy Arceri (1):</p>
+<ul>
+  <li>mesa: validate sampler type across the whole program</li>
+</ul>
+
+</div>
+</body>
+</html>

commit 314bc3f04868b1218390f3b2e8e5d32f458fe98c
Author: Andres Gomez <ago...@igalia.com>
Date:   Fri Apr 28 20:33:00 2017 +0300

    Update version to 17.0.5
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/VERSION b/VERSION
index ea2195e..43a9b40 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-17.0.4
+17.0.5

commit b7916134a0102218d6b4ec0d482bfd0e3aeeba43
Author: Timothy Arceri <tarc...@itsqueeze.com>
Date:   Fri Apr 21 17:04:10 2017 +1000

    mesa: validate sampler type across the whole program
    
    Currently we were only making sure types were the same within a
    single stage. This looks to have regressed with 953a0af8e3f73.
    
    Fixes: 953a0af8e3f73 ("mesa: validate sampler uniforms during gluniform 
calls")
    
    Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
    Reviewed-by: Tapani Pälli <tapani.pa...@intel.com>
    https://bugs.freedesktop.org/show_bug.cgi?id=97524
    (cherry picked from commit d682f8aa8e0edd166166f87fcd774dd2d57b4180)
    [Andres Gomez: there was an intermediate cleanup but this commit
    basically brings everything that was missing back]
    Signed-off-by: Andres Gomez <ago...@igalia.com>
    
    Conflicts:
        src/mesa/main/uniforms.c

diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index 145eff0..3c95785 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -856,6 +856,8 @@ _mesa_uniform(struct gl_context *ctx, struct 
gl_shader_program *shProg,
     */
    if (uni->type->is_sampler()) {
       bool flushed = false;
+      shProg->SamplersValidated = GL_TRUE;
+
       for (int i = 0; i < MESA_SHADER_STAGES; i++) {
         struct gl_linked_shader *const sh = shProg->_LinkedShaders[i];
 
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 51db39e..b7b8f1f 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -68,15 +68,14 @@ _mesa_update_shader_textures_used(struct gl_shader_program 
*shProg,
                                  struct gl_program *prog)
 {
    GLbitfield mask = prog->SamplersUsed;
-   struct gl_linked_shader *shader =
-      shProg->_LinkedShaders[_mesa_program_enum_to_shader_stage(prog->Target)];
+   gl_shader_stage prog_stage =
+      _mesa_program_enum_to_shader_stage(prog->Target);
+   struct gl_linked_shader *shader = shProg->_LinkedShaders[prog_stage];
 
    assert(shader);
 
    memset(prog->TexturesUsed, 0, sizeof(prog->TexturesUsed));
 
-   shProg->SamplersValidated = GL_TRUE;
-
    while (mask) {
       const int s = u_bit_scan(&mask);
       GLuint unit = prog->SamplerUnits[s];
@@ -92,8 +91,20 @@ _mesa_update_shader_textures_used(struct gl_shader_program 
*shProg,
        *     types pointing to the same texture image unit within a program
        *     object."
        */
-      if (prog->TexturesUsed[unit] & ~(1 << tgt))
-         shProg->SamplersValidated = GL_FALSE;
+      unsigned stages_mask = shProg->data->linked_stages;
+      while (stages_mask) {
+         const int stage = u_bit_scan(&stages_mask);
+
+         /* Skip validation if we are yet to update textures used in this
+          * stage.
+          */
+         if (prog_stage < stage)
+            break;
+
+         struct gl_program *glprog = shProg->_LinkedShaders[stage]->Program;
+         if (glprog->TexturesUsed[unit] & ~(1 << tgt))
+            shProg->SamplersValidated = GL_FALSE;
+      }
 
       prog->TexturesUsed[unit] |= (1 << tgt);
    }
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index f7797e2..29320dd 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -3060,6 +3060,11 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct 
gl_shader_program *prog)
    }
 
    if (prog->data->LinkStatus) {
+      /* Reset sampler validated to true, validation happens via the
+       * LinkShader call below.
+       */
+      prog->SamplersValidated = GL_TRUE;
+
       if (!ctx->Driver.LinkShader(ctx, prog)) {
          prog->data->LinkStatus = GL_FALSE;
       }

commit e98c9af5598038dc8eaef6f654c9e1f752a83a35
Author: Emil Velikov <emil.veli...@collabora.com>
Date:   Sun Apr 16 15:46:28 2017 +0100

    st/mesa: automake: honour the vdpau header install location
    
    If VDPAU is installed in the non-default location, we'll fail to find
    the headers and error at build time.
    
    ../../src/gallium/include/state_tracker/vdpau_dmabuf.h:37:25: fatal error: 
vdpau/vdpau.h: No such file or directory
     #include <vdpau/vdpau.h>
                             ^
    
    Fixes: faba96bc60b ("st/vdpau: add new interop interface")
    Cc: Christian König <christian.koe...@amd.com>
    Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
    (cherry picked from commit 51c0c213b7fa53b249e9fcb9004a3ba1076fe773)

diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index 9710c7f..53f311d 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -96,6 +96,7 @@ endif
 
 AM_CPPFLAGS = $(DEFINES) $(INCLUDE_DIRS)
 AM_CFLAGS = \
+       $(VDPAU_CFLAGS) \
        $(LLVM_CFLAGS) \
        $(VISIBILITY_CFLAGS) \
        $(MSVC2013_COMPAT_CFLAGS)

commit 8d7a8711d4e0723e1996058d1a6251053ffd44a2
Author: Emil Velikov <emil.l.veli...@gmail.com>
Date:   Sun Apr 16 01:46:59 2017 +0100

    configure.ac: check require_basic_egl only if egl enabled
    
    Fixes: 1ac40173c2a ("configure.ac: simplify EGL requirements for drivers 
dependent on EGL")
    Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
    (cherry picked from commit 4516bfbd309a6996c18f577de47b13e33dce0828)

diff --git a/configure.ac b/configure.ac
index bd1ac23..0a797c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2394,7 +2394,9 @@ if test -n "$with_gallium_drivers"; then
         xvirgl)
             HAVE_GALLIUM_VIRGL=yes
             require_libdrm "virgl"
-            require_basic_egl "virgl"
+            if test "x$enable_egl" = xyes; then
+                require_basic_egl "virgl"
+            fi
             ;;
         *)
             AC_MSG_ERROR([Unknown Gallium driver: $driver])

commit 795287c66e0c4d73c649e85f9c41bd9521ee20be
Author: Grazvydas Ignotas <nota...@gmail.com>
Date:   Fri Apr 14 20:00:26 2017 +0300

    radv: report timestampPeriod correctly
    
    The kernel returns frequency in kHz, so to convert to nanosecond
    interval that Vulkan uses the dividend should be 1000000.0 and not
    100000.0.
    
    This fixes the GPU graph in DOOM and matches the amdgpu-pro blob.
    
    Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
    Signed-off-by: Grazvydas Ignotas <nota...@gmail.com>
    Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
    (cherry picked from commit 1b2fe7ce45a508fa080e6bf93b820e6217beed83)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 6022db0..5e5fedd 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -570,7 +570,7 @@ void radv_GetPhysicalDeviceProperties(
                .storageImageSampleCounts                 = 
VK_SAMPLE_COUNT_1_BIT,
                .maxSampleMaskWords                       = 1,
                .timestampComputeAndGraphics              = false,
-               .timestampPeriod                          = 100000.0 / 
pdevice->rad_info.clock_crystal_freq,
+               .timestampPeriod                          = 1000000.0 / 
pdevice->rad_info.clock_crystal_freq,
                .maxClipDistances                         = 8,
                .maxCullDistances                         = 8,
                .maxCombinedClipAndCullDistances          = 8,
diff --git a/src/amd/vulkan/radv_radeon_winsys.h 
b/src/amd/vulkan/radv_radeon_winsys.h
index a0b5092..3e633ff 100644
--- a/src/amd/vulkan/radv_radeon_winsys.h
+++ b/src/amd/vulkan/radv_radeon_winsys.h
@@ -94,7 +94,7 @@ struct radeon_info {
        uint32_t                    compute_rings;
        uint32_t                    vce_fw_version;
        uint32_t                    vce_harvest_config;
-       uint32_t                    clock_crystal_freq;
+       uint32_t                    clock_crystal_freq; /* in kHz */
 
        /* Kernel info. */
        uint32_t                    drm_major; /* version */

commit 375cc332bbcdbb088ce2dafab1321622ea0314a9
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:25:39 2017 +0300

    cherry-ignore: provide required gem stubs for the tests
    
    Only reported because it referes to fixes in 2 commits, but they are
    not in stable.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 73976dc..a57766a 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -45,3 +45,6 @@ f282ace67862c0633d0a8135e4808867740d0d39 i965: remove 
i965_symbols_test referenc
 # fixes: reported only because referes to fixes in 2 commits, but they
 #        are not in stable.
 15603055fb36a630cf3023219e9dd5c4a49c0596 anv: automake: ensure that the 
destination directory is created
+# fixes: reported only because referes to fixes in 2 commits, but they
+#        are not in stable.
+a6840efc096bd26e92bcee1a50515d845988a2f9 anv: provide required gem stubs for 
the tests

commit ce03b2c40ec6ab7bbb5d034e7e93d469d42a8d99
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:23:58 2017 +0300

    cherry-ignore: automake: ensure that the destination directory is created
    
    Only reported because it referes to fixes in 2 commits, but they are
    not in stable.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 225d083..73976dc 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -42,3 +42,6 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 b69a03e12aa38ed5d8b60a056630ed445f6097dc i965: remove dead brw_new_shader() 
declaration
 # fixes: it just cleans .gitignore.
 f282ace67862c0633d0a8135e4808867740d0d39 i965: remove i965_symbols_test 
reference from .gitignore
+# fixes: reported only because referes to fixes in 2 commits, but they
+#        are not in stable.
+15603055fb36a630cf3023219e9dd5c4a49c0596 anv: automake: ensure that the 
destination directory is created

commit ccdae185e8225f43ece91393893b8692d7e4597e
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:22:21 2017 +0300

    cherry-ignore: remove i965_symbols_test reference from .gitignore
    
    It just cleans .gitignore.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index c442995..225d083 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -40,3 +40,5 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 # fixes: removes unused symbols but it doesn't really add nor fix
 #        anything relevant.
 b69a03e12aa38ed5d8b60a056630ed445f6097dc i965: remove dead brw_new_shader() 
declaration
+# fixes: it just cleans .gitignore.
+f282ace67862c0633d0a8135e4808867740d0d39 i965: remove i965_symbols_test 
reference from .gitignore

commit 7020d316c03cca6a776ac023e3aefcbfc2a7ba70
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:20:37 2017 +0300

    cherry-ignore: remove dead brw_new_shader() declaration
    
    Removes unused symbols but it doesn't really add nor fix anything
    relevant.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index b8ab56f..c442995 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -37,3 +37,6 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 # fixes: reported only because referes to fixes in 2 commits, but they
 #        are not in stable.
 61c38d14b7b1d0ccacc440340ee0b1bc4454eca2 android: r600: fix libmesa_amd_common 
dependency
+# fixes: removes unused symbols but it doesn't really add nor fix
+#        anything relevant.
+b69a03e12aa38ed5d8b60a056630ed445f6097dc i965: remove dead brw_new_shader() 
declaration

commit b2a9b5c5d564a98faa71391dcc814ea28edf6e89
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:19:12 2017 +0300

    cherry-ignore: r600: fix libmesa_amd_common dependency
    
    Only reported because it referes to fixes in 2 commits, but they are
    not in stable.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index af38807..b8ab56f 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -34,3 +34,6 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 # fixes: reported only because referes to fixes in 2 commits, but they
 #        are not in stable.
 3f2cb699cfe0481f214c709b5a1375caf0a9c7fe android: vulkan: add support for 
libmesa_vulkan_util
+# fixes: reported only because referes to fixes in 2 commits, but they
+#        are not in stable.
+61c38d14b7b1d0ccacc440340ee0b1bc4454eca2 android: r600: fix libmesa_amd_common 
dependency

commit 82082aea427e8eb54ce2738285e72ea9b9d06a03
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:17:08 2017 +0300

    cherry-ignore: vulkan: add support for libmesa_vulkan_util
    
    Only reported because it referes to fixes in 2 commits, but they are
    not in stable.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 5bb3a0a..af38807 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -31,3 +31,6 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 320561bd831b81843e732d38d2b254aa3b25f2f6 radv: remove unused 
radv_dispatch_table dtable
 # fixes: it just makes a local function static.
 8b79f0ed0812a3a80dd91e47112fd722bd2d6978 radv: make radv_resolve_entrypoint 
static
+# fixes: reported only because referes to fixes in 2 commits, but they
+#        are not in stable.
+3f2cb699cfe0481f214c709b5a1375caf0a9c7fe android: vulkan: add support for 
libmesa_vulkan_util

commit 5f3a44a736cb3e75fdfe775d171f9cc83c41950f
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:14:05 2017 +0300

    cherry-ignore: make radv_resolve_entrypoint static
    
    It just makes a local function static.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 43b077c..5bb3a0a 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -29,3 +29,5 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 # fixes: removes unused symbols but it doesn't really add nor fix
 #        anything relevant.
 320561bd831b81843e732d38d2b254aa3b25f2f6 radv: remove unused 
radv_dispatch_table dtable
+# fixes: it just makes a local function static.
+8b79f0ed0812a3a80dd91e47112fd722bd2d6978 radv: make radv_resolve_entrypoint 
static

commit 2b4d42bb26385acd502eb686cd84d3d6457a6329
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:11:27 2017 +0300

    cherry-ignore: remove unused radv_dispatch_table dtable
    
    Removes unused symbols but it doesn't really add nor fix anything
    relevant.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 01ddf1b..43b077c 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -26,3 +26,6 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 # fixes: removes unused symbols but it doesn't really add nor fix
 #        anything relevant.
 9807e9dea67a60ab8ee04741c75b748eade582ee anv: remove unused anv_dispatch_table 
dtable
+# fixes: removes unused symbols but it doesn't really add nor fix
+#        anything relevant.
+320561bd831b81843e732d38d2b254aa3b25f2f6 radv: remove unused 
radv_dispatch_table dtable

commit 270898aba9f4f55f3578ed7edeed58fae6966436
Author: Andres Gomez <ago...@igalia.com>
Date:   Wed Apr 26 00:03:12 2017 +0300

    cherry-ignore: remove unused anv_dispatch_table dtable
    
    Removes unused symbols but it doesn't really add nor fix anything
    relevant.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 9f24b9a..01ddf1b 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -23,3 +23,6 @@ dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: 
Don't emit SEL instruc
 # fixes: finds 2 commit references but it is really only one, and only
 #        in master.
 2b3c490e23a6cd7f4f6bb489267c2b9b4fde5b20 radv: fix typo in a2b10g10r10 fast 
clear calculation
+# fixes: removes unused symbols but it doesn't really add nor fix
+#        anything relevant.
+9807e9dea67a60ab8ee04741c75b748eade582ee anv: remove unused anv_dispatch_table 
dtable

commit 7c373a5990650ea577b8b322ddf5a80e4af9b230
Author: Andres Gomez <ago...@igalia.com>
Date:   Tue Apr 25 23:57:17 2017 +0300

    cherry-ignore: fix typo in a2b10g10r10 fast clear calculation
    
    The fixes script finds 2 commit references but it is really only one,
    and only in master.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 56eecb1..9f24b9a 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -20,3 +20,6 @@ e75001811e3b66986b4ede165a0fdde703d4f05b Revert "etnaviv: 
Cannot render to rb-sw
 # extra: the commit depends on earlier commits which did not land in
 #       branch.
 dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: Don't emit SEL 
instructions for type-converting MOVs."
+# fixes: finds 2 commit references but it is really only one, and only
+#        in master.
+2b3c490e23a6cd7f4f6bb489267c2b9b4fde5b20 radv: fix typo in a2b10g10r10 fast 
clear calculation

commit a93c1e07030c2abfed0041cac05333a1207071fc
Author: Andres Gomez <ago...@igalia.com>
Date:   Tue Apr 25 23:45:10 2017 +0300

    cherry-ignore: Revert "i965/fs: Don't emit SEL instructions for 
type-converting MOVs."
    
    The commit depends on earlier commits which did not land in branch.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index a20fff4..56eecb1 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -17,3 +17,6 @@ b81d85f1754928139f9f01474495e024946aa1b4 configure.ac: Fix 
typos.
 # extra: this reverts a commit in stable only because a new feature in
 #       master replaces it.
 e75001811e3b66986b4ede165a0fdde703d4f05b Revert "etnaviv: Cannot render to 
rb-swapped formats"
+# extra: the commit depends on earlier commits which did not land in
+#       branch.
+dee31311eb024a636466e359b43d3a67b0135f32 Revert "i965/fs: Don't emit SEL 
instructions for type-converting MOVs."

commit df53e5844b383abfd1b2ece00d941150141008f9
Author: Rob Clark <robdcl...@gmail.com>
Date:   Mon Apr 17 21:20:37 2017 -0400

    util/queue: don't hang at exit
    
    So atexit() is horrible and 4aea8fe7 is probably not a good idea.  But
    add an extra layer of duct-tape to the problem.  Otherwise we hit a
    situation where app using an atexit() handler that runs later than ours
    doesn't hang when trying to tear down a context.
    
     (gdb) bt
     #0  util_queue_killall_and_wait (queue=queue@entry=0x52bc80) at 
../../../src/util/u_queue.c:264
     #1  0x0000007fb6c380c0 in atexit_handler () at 
../../../src/util/u_queue.c:51
     #2  0x0000007fb7730e2c in __run_exit_handlers () from /lib64/libc.so.6
     #3  0x0000007fb7730e5c in exit () from /lib64/libc.so.6
     #4  0x0000007fb7ce17dc in piglit_report_result (result=PIGLIT_PASS) at 
/home/robclark/src/piglit/tests/util/piglit-util.c:267
     #5  0x0000007fb7ef99f8 in process_next_event (x11_fw=0x432c20) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:139
     #6  0x0000007fb7ef9a90 in enter_event_loop (winsys_fw=0x432c20) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:153
     #7  0x0000007fb7ef8e50 in run_test (gl_fw=0x432c20, argc=1, 
argv=0x7ffffff588) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:88
     #8  0x0000007fb7edb890 in piglit_gl_test_run (argc=1, argv=0x7ffffff588, 
config=0x7ffffff400) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl.c:203
     #9  0x0000000000401224 in main (argc=1, argv=0x7ffffff588) at 
/home/robclark/src/piglit/tests/bugs/drawbuffer-modes.c:46
     (gdb) c
     Continuing.
     [Thread 0x7fb67580c0 (LWP 3471) exited]
     ^C
     Thread 1 "drawbuffer-mode" received signal SIGINT, Interrupt.
     0x0000007fb72dda34 in pthread_cond_wait@@GLIBC_2.17 () from 
/lib64/libpthread.so.0
     (gdb) bt
     #0  0x0000007fb72dda34 in pthread_cond_wait@@GLIBC_2.17 () from 
/lib64/libpthread.so.0
     #1  0x0000007fb6c38304 in cnd_wait (mtx=0x5bdc90, cond=0x5bdcc0) at 
../../../include/c11/threads_posix.h:159
     #2  util_queue_fence_wait (fence=0x5bdc90) at 
../../../src/util/u_queue.c:106
     #3  0x0000007fb6daac70 in fd_batch_sync (batch=0x5bdc70) at 
../../../../../src/gallium/drivers/freedreno/freedreno_batch.c:233
     #4  batch_reset (batch=batch@entry=0x5bdc70) at 
../../../../../src/gallium/drivers/freedreno/freedreno_batch.c:183
     #5  0x0000007fb6daa5e0 in batch_flush (batch=0x5bdc70) at 
../../../../../src/gallium/drivers/freedreno/freedreno_batch.c:290
     #6  fd_batch_flush (batch=0x5bdc70, sync=<optimized out>) at 
../../../../../src/gallium/drivers/freedreno/freedreno_batch.c:308
     #7  0x0000007fb6daba2c in fd_bc_flush (cache=0x461220, ctx=0x52b920) at 
../../../../../src/gallium/drivers/freedreno/freedreno_batch_cache.c:141
     #8  0x0000007fb6dac954 in fd_context_flush (pctx=0x52b920, fence=0x0, 
flags=<optimized out>) at 
../../../../../src/gallium/drivers/freedreno/freedreno_context.c:54
     #9  0x0000007fb6b43294 in st_glFlush (ctx=<optimized out>) at 
../../../src/mesa/state_tracker/st_cb_flush.c:121
     #10 0x0000007fb69a84e8 in _mesa_make_current (newCtx=newCtx@entry=0x0, 
drawBuffer=drawBuffer@entry=0x0, readBuffer=readBuffer@entry=0x0) at 
../../../src/mesa/main/context.c:1654
     #11 0x0000007fb6b7ca58 in st_api_make_current (stapi=<optimized out>, 
stctxi=0x0, stdrawi=0x0, streadi=0x0) at 
../../../src/mesa/state_tracker/st_manager.c:827
     #12 0x0000007fb6cc87e8 in dri_unbind_context (cPriv=<optimized out>) at 
../../../../../src/gallium/state_trackers/dri/dri_context.c:217
     #13 0x0000007fb6cc80b0 in driUnbindContext (pcp=0x5271e0) at 
../../../../../../src/mesa/drivers/dri/common/dri_util.c:591
     #14 0x0000007fb7d1da08 in MakeContextCurrent (dpy=0x433380, draw=0, 
read=0, gc_user=0x0) at ../../../src/glx/glxcurrent.c:214
     #15 0x0000007fb7a8d5e0 in glx_platform_make_current () from 
/lib64/libwaffle-1.so.0
     #16 0x0000007fb7a894e4 in waffle_make_current () from 
/lib64/libwaffle-1.so.0
     #17 0x0000007fb7ef8c60 in piglit_wfl_framework_teardown (wfl_fw=0x432c20) 
at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_wfl_framework.c:628
     #18 0x0000007fb7ef939c in piglit_winsys_framework_teardown 
(winsys_fw=0x432c20) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:238
     #19 0x0000007fb7ef9c30 in destroy (gl_fw=0x432c20) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:212
     #20 0x0000007fb7edb7c4 in destroy () at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl.c:184
     #21 0x0000007fb7730e2c in __run_exit_handlers () from /lib64/libc.so.6
     #22 0x0000007fb7730e5c in exit () from /lib64/libc.so.6
     #23 0x0000007fb7ce17dc in piglit_report_result (result=PIGLIT_PASS) at 
/home/robclark/src/piglit/tests/util/piglit-util.c:267
     #24 0x0000007fb7ef99f8 in process_next_event (x11_fw=0x432c20) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:139
     #25 0x0000007fb7ef9a90 in enter_event_loop (winsys_fw=0x432c20) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:153
     #26 0x0000007fb7ef8e50 in run_test (gl_fw=0x432c20, argc=1, 
argv=0x7ffffff588) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:88
     #27 0x0000007fb7edb890 in piglit_gl_test_run (argc=1, argv=0x7ffffff588, 
config=0x7ffffff400) at 
/home/robclark/src/piglit/tests/util/piglit-framework-gl.c:203
     #28 0x0000000000401224 in main (argc=1, argv=0x7ffffff588) at 
/home/robclark/src/piglit/tests/bugs/drawbuffer-modes.c:46
     (gdb) r
    
    Fixes: 4aea8fe7 ("gallium/u_queue: fix random crashes when the app calls 
exit()")
    Signed-off-by: Rob Clark <robdcl...@gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
    (cherry picked from commit 6fb7935dedc87ffd767a2999f402ce1a46d18cce)
    [Andres Gomez: rename mtx_* back to pipe_mutex_*]
    Signed-off-by: Andres Gomez <ago...@igalia.com>
    
    Conflicts:
        src/gallium/auxiliary/util/u_queue.c

diff --git a/src/gallium/auxiliary/util/u_queue.c 
b/src/gallium/auxiliary/util/u_queue.c
index 643c92b..55ac402 100644
--- a/src/gallium/auxiliary/util/u_queue.c
+++ b/src/gallium/auxiliary/util/u_queue.c
@@ -294,9 +294,18 @@ util_queue_add_job(struct util_queue *queue,
    struct util_queue_job *ptr;
 
    assert(fence->signalled);
-   fence->signalled = false;
 
    pipe_mutex_lock(queue->lock);
+   if (queue->kill_threads) {
+      pipe_mutex_unlock(queue->lock);
+      /* well no good option here, but any leaks will be
+       * short-lived as things are shutting down..
+       */
+      return;
+   }
+
+   fence->signalled = false;
+
    assert(queue->num_queued >= 0 && queue->num_queued <= queue->max_jobs);
 
    /* if the queue is full, wait until there is space */

commit 0e3fd35eb28c95261f10567aeeed461baa880686
Author: Andres Gomez <ago...@igalia.com>
Date:   Tue Apr 25 23:17:27 2017 +0300

    cherry-ignore: Revert "etnaviv: Cannot render to rb-swapped formats"
    
    Reverts a commit in stable only because a new feature in master
    replaces it.
    
    Signed-off-by: Andres Gomez <ago...@igalia.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 129a64f..a20fff4 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -14,3 +14,6 @@ d4601b0efc7f5e24e3f39fefa8e29e79560245ce freedreno: fix crash 
if ctx torn down w
 #        could be merged is not really providing anything relevant to
 #        stable.
 b81d85f1754928139f9f01474495e024946aa1b4 configure.ac: Fix typos.
+# extra: this reverts a commit in stable only because a new feature in
+#       master replaces it.
+e75001811e3b66986b4ede165a0fdde703d4f05b Revert "etnaviv: Cannot render to 
rb-swapped formats"

commit c8f4160c404291be26594f1dc0f464444f8f4490
Author: Emil Velikov <emil.veli...@collabora.com>
Date:   Wed Apr 19 11:35:10 2017 +0100

    st/clover: add space between < and ::
    
    As pointed out by compiler
    
    ./llvm/codegen.hpp:52:22: error: ‘<::’ cannot begin a template-argument 
list [-fpermissive]
    ./llvm/codegen.hpp:52:22: note: ‘<:’ is an alternate spelling for ‘[’. 
Insert whitespace between ‘<’ and ‘::’
    
    Cc: Francisco Jerez <curroje...@riseup.net>
    Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
    Reviewed-by: Vedran Miletić <ved...@miletic.net>
    (cherry picked from commit dd6ec78b4fc1208c9ec330642ad42361fea91678)

diff --git a/src/gallium/state_trackers/clover/llvm/codegen.hpp 
b/src/gallium/state_trackers/clover/llvm/codegen.hpp
index 44971ad..25f6e01 100644
--- a/src/gallium/state_trackers/clover/llvm/codegen.hpp
+++ b/src/gallium/state_trackers/clover/llvm/codegen.hpp
@@ -49,7 +49,7 @@ namespace clover {
       build_module_library(const ::llvm::Module &mod,
                            enum module::section::type section_type);
 
-      std::unique_ptr<::llvm::Module>
+      std::unique_ptr< ::llvm::Module>
       parse_module_library(const module &m, ::llvm::LLVMContext &ctx,
                            std::string &r_log);
 
diff --git a/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp 
b/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
index d09207b..6737f7a 100644
--- a/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
+++ b/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
@@ -94,7 +94,7 @@ clover::llvm::build_module_library(const ::llvm::Module &mod,
    return m;
 }
 
-std::unique_ptr<::llvm::Module>
+std::unique_ptr< ::llvm::Module>
 clover::llvm::parse_module_library(const module &m, ::llvm::LLVMContext &ctx,
                                    std::string &r_log) {
    auto mod = ::llvm::parseBitcodeFile(::llvm::MemoryBufferRef(
@@ -104,5 +104,5 @@ clover::llvm::parse_module_library(const module &m, 
::llvm::LLVMContext &ctx,
          fail(r_log, error(CL_INVALID_PROGRAM), s);
       });
 
-   return std::unique_ptr<::llvm::Module>(std::move(*mod));
+   return std::unique_ptr< ::llvm::Module>(std::move(*mod));
 }
diff --git a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp 
b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
index 13ccd59..c915114 100644
--- a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
+++ b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
@@ -121,12 +121,12 @@ namespace {
          } else {
             // Other types.
             const auto actual_type =
-               isa<::llvm::PointerType>(arg_type) && arg.hasByValAttr() ?
-               cast<::llvm::PointerType>(arg_type)->getElementType() : 
arg_type;
+               isa< ::llvm::PointerType>(arg_type) && arg.hasByValAttr() ?
+               cast< ::llvm::PointerType>(arg_type)->getElementType() : 
arg_type;
 
             if (actual_type->isPointerTy()) {
                const unsigned address_space =
-                  cast<::llvm::PointerType>(actual_type)->getAddressSpace();
+                  cast< ::llvm::PointerType>(actual_type)->getAddressSpace();
 
                if (address_space == address_spaces[clang::LangAS::opencl_local
                                                    - clang::LangAS::Offset]) {
diff --git a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp 
b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
index 4f24332..b9e6750 100644
--- a/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
+++ b/src/gallium/state_trackers/clover/llvm/codegen/native.cpp
@@ -156,7 +156,7 @@ clover::llvm::print_module_native(const ::llvm::Module &mod,
                                   const target &target) {
    std::string log;
    try {
-      std::unique_ptr<::llvm::Module> cmod { CloneModule(&mod) };
+      std::unique_ptr< ::llvm::Module> cmod { CloneModule(&mod) };
       return as_string(emit_code(*cmod, target,
                                  TargetMachine::CGFT_AssemblyFile, log));
    } catch (...) {
diff --git a/src/gallium/state_trackers/clover/llvm/compat.hpp 
b/src/gallium/state_trackers/clover/llvm/compat.hpp
index 81592ce..e1bcce4 100644
--- a/src/gallium/state_trackers/clover/llvm/compat.hpp
+++ b/src/gallium/state_trackers/clover/llvm/compat.hpp
@@ -118,18 +118,18 @@ namespace clover {
 #endif
          }
 
-         inline std::unique_ptr<::llvm::Linker>
+         inline std::unique_ptr< ::llvm::Linker>
          create_linker(::llvm::Module &mod) {
 #if HAVE_LLVM >= 0x0308
-            return std::unique_ptr<::llvm::Linker>(new ::llvm::Linker(mod));
+            return std::unique_ptr< ::llvm::Linker>(new ::llvm::Linker(mod));
 #else
-            return std::unique_ptr<::llvm::Linker>(new ::llvm::Linker(&mod));
+            return std::unique_ptr< ::llvm::Linker>(new ::llvm::Linker(&mod));
 #endif
          }
 
          inline bool
          link_in_module(::llvm::Linker &linker,
-                        std::unique_ptr<::llvm::Module> mod) {
+                        std::unique_ptr< ::llvm::Module> mod) {
 #if HAVE_LLVM >= 0x0308
             return linker.linkInModule(std::move(mod));
 #else
diff --git a/src/gallium/state_trackers/clover/llvm/metadata.hpp 
b/src/gallium/state_trackers/clover/llvm/metadata.hpp
index 814c830..825008d 100644
--- a/src/gallium/state_trackers/clover/llvm/metadata.hpp
+++ b/src/gallium/state_trackers/clover/llvm/metadata.hpp
@@ -51,7 +51,7 @@ namespace clover {
          is_kernel_node_for(const ::llvm::Function &f) {
             return [&](const ::llvm::MDNode *n) {
                using ::llvm::mdconst::dyn_extract;
-               return &f == dyn_extract<::llvm::Function>(n->getOperand(0));
+               return &f == dyn_extract< ::llvm::Function>(n->getOperand(0));
             };
          }
 
@@ -65,7 +65,7 @@ namespace clover {
 #endif
          }
 
-         inline iterator_range<::llvm::MDNode::op_iterator>
+         inline iterator_range< ::llvm::MDNode::op_iterator>
          get_kernel_metadata_operands(const ::llvm::Function &f,
                                       const std::string &name) {
 #if HAVE_LLVM >= 0x0309
@@ -79,11 +79,11 @@ namespace clover {
             const auto kernel_node = find(is_kernel_node_for(f),
                                           get_kernel_nodes(*f.getParent()));
 
-            const auto data_node = cast<::llvm::MDNode>(
+            const auto data_node = cast< ::llvm::MDNode>(
                find([&](const ::llvm::MDOperand &op) {
-                     if (auto m = dyn_cast<::llvm::MDNode>(op))
+                     if (auto m = dyn_cast< ::llvm::MDNode>(op))
                         if (m->getNumOperands())
-                           if (auto m_name = dyn_cast<::llvm::MDString>(
+                           if (auto m_name = dyn_cast< ::llvm::MDString>(
                                   m->getOperand(0).get()))
                               return m_name->getString() == name;
 
@@ -106,7 +106,7 @@ namespace clover {
       get_argument_metadata(const ::llvm::Function &f,
                             const ::llvm::Argument &arg,
                             const std::string &name) {
-         return ::llvm::cast<::llvm::MDString>(
+         return ::llvm::cast< ::llvm::MDString>(
                detail::get_kernel_metadata_operands(f, name)[arg.getArgNo()])
             ->getString();
       }

commit 313f48f0300f3e07c026265fc692279a245e1616
Author: Nanley Chery <nanley.g.ch...@intel.com>
Date:   Thu Apr 13 09:52:31 2017 -0700

    anv/cmd_buffer: Disable CCS on BDW input attachments
    
    The description under RENDER_SURFACE_STATE::RedClearColor says,
    
       For Sampling Engine Multisampled Surfaces and Render Targets:
        Specifies the clear value for the red channel.
       For Other Surfaces:
        This field is ignored.
    
    This means that the sampler on BDW doesn't support CCS.
    
    Cc: Samuel Iglesias Gonsálvez <sigles...@igalia.com>
    Cc: Jordan Justen <jordan.l.jus...@intel.com>
    Cc: <mesa-sta...@lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
    Signed-off-by: Nanley Chery <nanley.g.ch...@intel.com>
    (cherry picked from commit d9d793696bf54e970491302605a1efd0aa182d1b)
    [Andres Gomez: _ccs_e renamed back to _lossless_compression]
    Signed-off-by: Andres Gomez <ago...@igalia.com>
    
    Conflicts:
        src/intel/vulkan/genX_cmd_buffer.c

diff --git a/src/intel/vulkan/genX_cmd_buffer.c 
b/src/intel/vulkan/genX_cmd_buffer.c
index b08ab5b..25a19ec 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -272,26 +272,21 @@ color_attachment_compute_aux_usage(struct anv_device 
*device,
       att_state->input_aux_usage = ISL_AUX_USAGE_CCS_E;
    } else if (att_state->fast_clear) {
       att_state->aux_usage = ISL_AUX_USAGE_CCS_D;
-      if (GEN_GEN >= 9) {
-         /* From the Sky Lake PRM, RENDER_SURFACE_STATE::AuxiliarySurfaceMode:
-          *
-          *    "If Number of Multisamples is MULTISAMPLECOUNT_1, AUX_CCS_D
-          *    setting is only allowed if Surface Format supported for Fast
-          *    Clear. In addition, if the surface is bound to the sampling
-          *    engine, Surface Format must be supported for Render Target
-          *    Compression for surfaces bound to the sampling engine."
-          *

Reply via email to