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

mesa: Changes to 'ubuntu'



 Makefile.am                                                         |    1 
 VERSION                                                             |    2 
 bin/.cherry-ignore                                                  |    5 
 debian/changelog                                                    |   17 +
 debian/control                                                      |    2 
 debian/libosmesa6.lintian-overrides                                 |    1 
 debian/libwayland-egl1-mesa.lintian-overrides                       |    1 
 debian/mesa-opencl-icd.lintian-overrides                            |    1 
 debian/patches/docs-Replace-sourceforge-logo-with-a-text-link.patch |   73 +++++
 debian/patches/series                                               |    1 
 docs/relnotes/11.0.5.html                                           |    3 
 docs/relnotes/11.0.6.html                                           |  144 ++++++++++
 src/gallium/drivers/llvmpipe/lp_bld_interp.c                        |    7 
 src/gallium/drivers/nouveau/nouveau_vp3_video.c                     |    1 
 src/gallium/drivers/r600/evergreen_state.c                          |    4 
 src/gallium/drivers/r600/evergreend.h                               |    2 
 src/gallium/drivers/radeon/radeon_uvd.c                             |    6 
 src/gallium/drivers/radeon/radeon_video.c                           |    3 
 src/gallium/drivers/radeonsi/si_state.c                             |   15 -
 src/gallium/drivers/vc4/vc4_bufmgr.c                                |    5 
 src/gallium/drivers/vc4/vc4_opt_algebraic.c                         |    2 
 src/gallium/drivers/vc4/vc4_program.c                               |    4 
 src/gallium/drivers/vc4/vc4_qir.c                                   |    8 
 src/gallium/drivers/vc4/vc4_qir.h                                   |    8 
 src/gallium/drivers/vc4/vc4_qpu_emit.c                              |    4 
 src/gallium/drivers/vc4/vc4_resource.c                              |   46 ++-
 src/gallium/drivers/vc4/vc4_state.c                                 |    4 
 src/gallium/state_trackers/va/picture.c                             |    2 
 src/gallium/winsys/radeon/drm/radeon_drm_bo.c                       |   30 +-
 src/glsl/ast_to_hir.cpp                                             |   37 +-
 src/glsl/nir/nir_lower_vars_to_ssa.c                                |    5 
 src/mesa/drivers/common/meta_generate_mipmap.c                      |   10 
 src/mesa/drivers/dri/i965/brw_device_info.c                         |    9 
 src/mesa/drivers/dri/r200/r200_tex.h                                |    4 
 src/mesa/drivers/dri/radeon/radeon_tex.h                            |    2 
 src/mesa/main/copyimage.c                                           |   40 ++
 36 files changed, 452 insertions(+), 57 deletions(-)

New commits:
commit 9a1727e99b9099ea6ae0b73ab8b3ab52c5b34135
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Mon Nov 30 16:46:16 2015 +0200

    upload to xenial

diff --git a/debian/changelog b/debian/changelog
index a5b9ed0..0fe522c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mesa (11.0.6-1ubuntu1) xenial; urgency=medium
+
+  * Merge from Debian.
+    - new bugfix release
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Mon, 30 Nov 2015 16:24:08 +0200
+
 mesa (11.0.6-1) unstable; urgency=medium
 
   * New upstream release.

commit 74da11789aa01f4e77d948d299927bf79972fd69
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Nov 27 09:00:03 2015 +0100

    Upload to unstable.

diff --git a/debian/changelog b/debian/changelog
index 4abc418..2dc43f6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (11.0.6-1) UNRELEASED; urgency=medium
+mesa (11.0.6-1) unstable; urgency=medium
 
   * New upstream release.
   * Bump libvdpau-dev build-dep.
@@ -6,7 +6,7 @@ mesa (11.0.6-1) UNRELEASED; urgency=medium
     Lintian error privacy-breach-logo).
   * Add some Lintian overrides for package-name-doesnt-match-sonames.
 
- -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 26 Nov 2015 19:52:36 +0100
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 27 Nov 2015 08:59:30 +0100
 
 mesa (11.0.5-1) unstable; urgency=medium
 

commit 8b03d0f256b14a8ca03d228dd2c38e5ffb2072e7
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 26 20:16:13 2015 +0100

    Add some Lintian overrides for package-name-doesnt-match-sonames.

diff --git a/debian/changelog b/debian/changelog
index 8302f91..4abc418 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ mesa (11.0.6-1) UNRELEASED; urgency=medium
   * Bump libvdpau-dev build-dep.
   * Add docs-Replace-sourceforge-logo-with-a-text-link.patch (Fixes
     Lintian error privacy-breach-logo).
+  * Add some Lintian overrides for package-name-doesnt-match-sonames.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 26 Nov 2015 19:52:36 +0100
 
diff --git a/debian/libosmesa6.lintian-overrides b/debian/libosmesa6.lintian-overrides
new file mode 100644
index 0000000..9ce8905
--- /dev/null
+++ b/debian/libosmesa6.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libOSMesa8
diff --git a/debian/libwayland-egl1-mesa.lintian-overrides b/debian/libwayland-egl1-mesa.lintian-overrides
new file mode 100644
index 0000000..ae81552
--- /dev/null
+++ b/debian/libwayland-egl1-mesa.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libwayland-egl1
diff --git a/debian/mesa-opencl-icd.lintian-overrides b/debian/mesa-opencl-icd.lintian-overrides
new file mode 100644
index 0000000..fefa26b
--- /dev/null
+++ b/debian/mesa-opencl-icd.lintian-overrides
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames libMesaOpenCL1

commit 54c3c5532ed253b92ce535bea85293ae14b52480
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 26 20:13:18 2015 +0100

    Add docs-Replace-sourceforge-logo-with-a-text-link.patch
    
    Fixes Lintian error privacy-breach-logo

diff --git a/debian/changelog b/debian/changelog
index 158a9b3..8302f91 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ mesa (11.0.6-1) UNRELEASED; urgency=medium
 
   * New upstream release.
   * Bump libvdpau-dev build-dep.
+  * Add docs-Replace-sourceforge-logo-with-a-text-link.patch (Fixes
+    Lintian error privacy-breach-logo).
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 26 Nov 2015 19:52:36 +0100
 
diff --git a/debian/patches/docs-Replace-sourceforge-logo-with-a-text-link.patch b/debian/patches/docs-Replace-sourceforge-logo-with-a-text-link.patch
new file mode 100644
index 0000000..9078eaf
--- /dev/null
+++ b/debian/patches/docs-Replace-sourceforge-logo-with-a-text-link.patch
@@ -0,0 +1,73 @@
+From 65ba65b73e4758fc16e79b1d135b51f7f34bbb0a Mon Sep 17 00:00:00 2001
+From: Andreas Boll <andreas.boll.dev@gmail.com>
+Date: Thu, 26 Nov 2015 20:06:07 +0100
+Subject: [PATCH] docs: Replace sourceforge logo with a text link
+
+Fixes the following Lintian (Debian package checker) error:
+
+privacy-breach-logo
+
+  usr/share/doc/mesa-common-dev/contents.html
+    (http://sourceforge.net/sflogo.php?group_id=3&amp;type=1)
+  usr/share/doc/mesa-common-dev/thanks.html
+    (http://sourceforge.net/sflogo.php?group_id=3&amp;type=1)
+
+The extended description of this tag is:
+
+    This package creates a potential privacy breach by fetching a logo
+at runtime.
+
+    Before using a local copy you should check that the logo is suitable
+for main. You can get help with determining this by posting a link to
+the logo and a copy of, or a link to, the logo copyright and license
+information to the debian-legal mailing list.
+
+    Please replace any scripts, images, or other remote resources with
+non-remote resources. It is preferable to replace them with text and
+links but local copies of the remote resources are also acceptable as
+long as they don't also make calls to remote services. Please ensure
+that the remote resources are suitable for Debian main before making
+local copies of them.
+
+    Severity: serious, Certainty: possible
+
+    Check: files, Type: binary, udeb
+
+Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>
+---
+ docs/contents.html | 3 +--
+ docs/thanks.html   | 4 +---
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/docs/contents.html b/docs/contents.html
+index 6612cbe..5e0f514 100644
+--- a/docs/contents.html
++++ b/docs/contents.html
+@@ -96,8 +96,7 @@
+ <br>
+ <blockquote>
+ <a href="http://sourceforge.net";
+-target="_parent"><img src="http://sourceforge.net/sflogo.php?group_id=3&amp;type=1";
+-width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a>
++target="_parent">sourceforge.net</a>
+ </blockquote>
+ 
+ </body>
+diff --git a/docs/thanks.html b/docs/thanks.html
+index 29a41e4..685cb31 100644
+--- a/docs/thanks.html
++++ b/docs/thanks.html
+@@ -42,9 +42,7 @@ Tungsten Graphics, Inc. have supported the ongoing development of Mesa.
+ <li>The
+ <a href="http://www.mesa3d.org";>Mesa</a>
+ website is hosted by
+-<a href="http://sourceforge.net";>
+-<img src="http://sourceforge.net/sflogo.php?group_id=3&amp;type=1";
+-width="88" height="31" align="bottom" alt="Sourceforge.net" border="0"></a>
++<a href="http://sourceforge.net";>sourceforge.net</a>.
+ <br>
+ <br>
+ 
+-- 
+2.1.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 9f0749f..deba126 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 07_gallium-fix-build-failure-on-powerpcspe.diff
+docs-Replace-sourceforge-logo-with-a-text-link.patch

commit 93dc6bb5a3dee17341aae780a7c2bd84b94ea2c9
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 26 20:04:33 2015 +0100

    Bump libvdpau-dev build-dep.

diff --git a/debian/changelog b/debian/changelog
index 9089ca6..158a9b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 mesa (11.0.6-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+  * Bump libvdpau-dev build-dep.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 26 Nov 2015 19:52:36 +0100
 
diff --git a/debian/control b/debian/control
index 800f99b..3679638 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,7 @@ Build-Depends:
  libxfixes-dev,
  libxdamage-dev,
  libxext-dev,
- libvdpau-dev [linux-any kfreebsd-any],
+ libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any],
  autoconf,
  automake,
  libtool,

commit 570a0bb548b4a6d7bf0d07c4a71596be605f811e
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu Nov 26 19:52:58 2015 +0100

    Bump changelog

diff --git a/debian/changelog b/debian/changelog
index 13ba1e8..9089ca6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (11.0.6-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 26 Nov 2015 19:52:36 +0100
+
 mesa (11.0.5-1) unstable; urgency=medium
 
   * New upstream release.

commit 04fd3a6f629b5098cc2a4da1f2392678349ecf56
Author: Emil Velikov <emil.velikov@collabora.com>
Date:   Sat Nov 21 11:38:20 2015 +0000

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

diff --git a/docs/relnotes/11.0.6.html b/docs/relnotes/11.0.6.html
new file mode 100644
index 0000000..2da9e98
--- /dev/null
+++ b/docs/relnotes/11.0.6.html
@@ -0,0 +1,144 @@
+<!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 11.0.6 Release Notes / November 21, 2015</h1>
+
+<p>
+Mesa 11.0.6 is a bug fix release which fixes bugs found since the 11.0.5 release.
+</p>
+<p>
+Mesa 11.0.6 implements the OpenGL 4.1 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.1.  OpenGL
+4.1 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>
+
+<p>This list is likely incomplete.</p>
+
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=91780";>Bug 91780</a> - Rendering issues with geometry shader</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92588";>Bug 92588</a> - [HSW,BDW,BSW,SKL-Y][GLES 3.1 CTS] ES31-CTS.arrays_of_arrays.InteractionFunctionCalls2 - assert</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92738";>Bug 92738</a> - Randon R7 240 doesn't work on 16KiB page size platform</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92860";>Bug 92860</a> - [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=92900";>Bug 92900</a> - [regression bisected] About 700 piglit regressions is what could go wrong</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Alex Deucher (1):</p>
+<ul>
+  <li>radeonsi: enable optimal raster config setting for fiji (v2)</li>
+</ul>
+
+<p>Ben Widawsky (1):</p>
+<ul>
+  <li>i965/skl/gt4: Fix URB programming restriction.</li>
+</ul>
+
+<p>Boyuan Zhang (2):</p>
+<ul>
+  <li>st/vaapi: fix vaapi VC-1 simple/main corruption v2</li>
+  <li>radeon/uvd: fix VC-1 simple/main profile decode v2</li>
+</ul>
+
+<p>Dave Airlie (1):</p>
+<ul>
+  <li>r600: initialised PGM_RESOURCES_2 for ES/GS</li>
+</ul>
+
+<p>Emil Velikov (4):</p>
+<ul>
+  <li>docs: add sha256 checksums for 11.0.5</li>
+  <li>cherry-ignore: add the swrast front buffer support</li>
+  <li>automake: use static llvm for make distcheck</li>
+  <li>Update version to 11.0.6</li>
+</ul>
+
+<p>Eric Anholt (3):</p>
+<ul>
+  <li>vc4: Return GL_OUT_OF_MEMORY when buffer allocation fails.</li>
+  <li>vc4: Return NULL when we can't make our shadow for a sampler view.</li>
+  <li>vc4: Add support for nir_op_uge, using the carry bit on QPU_A_SUB.</li>
+</ul>
+
+<p>Ian Romanick (2):</p>
+<ul>
+  <li>meta/generate_mipmap: Don't leak the sampler object</li>
+  <li>meta/generate_mipmap: Only modify the draw framebuffer binding in fallback_required</li>
+</ul>
+
+<p>Ilia Mirkin (2):</p>
+<ul>
+  <li>mesa/copyimage: allow width/height to not be multiples of block</li>
+  <li>nouveau: don't expose HEVC decoding support</li>
+</ul>
+
+<p>Jason Ekstrand (1):</p>
+<ul>
+  <li>nir/vars_to_ssa: Rework copy set handling in lower_copies_to_load_store</li>
+</ul>
+
+<p>Kenneth Graunke (1):</p>
+<ul>
+  <li>glsl: Allow implicit int -&gt; uint conversions for the % operator.</li>
+</ul>
+
+<p>Marek Olšák (1):</p>
+<ul>
+  <li>radeonsi: initialize SX_PS_DOWNCONVERT to 0 on Stoney</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+  <li>winsys/radeon: Use CPU page size instead of hardcoding 4096 bytes v3</li>
+</ul>
+
+<p>Oded Gabbay (1):</p>
+<ul>
+  <li>llvmpipe: use simple coeffs calc for 128bit vectors</li>
+</ul>
+
+<p>Roland Scheidegger (2):</p>
+<ul>
+  <li>radeon: fix bgrx8/xrgb8 blits</li>
+  <li>r200: fix bgrx8/xrgb8 blits</li>
+</ul>
+
+
+</div>
+</body>
+</html>

commit 50184185739cd5319f802a2a39c1cf7a1aa445b0
Author: Emil Velikov <emil.velikov@collabora.com>
Date:   Sat Nov 21 11:29:18 2015 +0000

    Update version to 11.0.6
    
    Signed-off-by: Emil Velikov <emil.velikov@collabora.com>

diff --git a/VERSION b/VERSION
index bfd97fb..5326b8b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-11.0.5
+11.0.6

commit 040785c08bac6703643893d4b7d6d0180c059efe
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Fri Nov 20 15:15:18 2015 +0000

    automake: use static llvm for make distcheck
    
    With llvm 3.7 semi-dropping the autoconf build, we rely on their cmake
    build. With the latter of which annoyingly using another (busted?)
    SONAME.
    
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    (cherry picked from commit c45b4257c26b93043508e55c6a1aeb3a8b14eee9)

diff --git a/Makefile.am b/Makefile.am
index 149610c..a9ed31e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,6 +32,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
 	--enable-vdpau \
 	--enable-xa \
 	--enable-xvmc \
+	--disable-llvm-shared-libs \
 	--with-egl-platforms=x11,wayland,drm \
 	--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \
 	--with-gallium-drivers=i915,ilo,nouveau,r300,r600,radeonsi,freedreno,svga,swrast

commit 0c56517d16e4589f228a48f7e99c95b494ab80d6
Author: Oded Gabbay <oded.gabbay@gmail.com>
Date:   Tue Nov 3 10:36:01 2015 +0200

    llvmpipe: use simple coeffs calc for 128bit vectors
    
    There are currently two methods in llvmpipe code to calculate coeffs to
    be used as inputs for the fragment shader. The two methods use slightly
    different ways to do the floating point calculations and thus produce
    slightly different results.
    
    The decision which method to use is determined by the size of the vector
    that is used by the platform.
    
    For vectors with size of more than 128bit, a single-step method is used,
    in which coeffs_init_simple() + attribs_update_simple() are called.
    
    For vectors with size of 128bit or less, a two-step method is used, in
    which coeffs_init() + attribs_update() are called.
    
    This causes some piglit tests (clip-distance-bulk-copy,
    interface-vs-unnamed-to-fs-unnamed) to fail when using platforms with
    128bit vectors (such as ppc64le or x86-64 without AVX).
    
    This patch makes platforms with 128bit vectors use the single-step
    method (aka "simple" method) instead of the two-step method.
    This would make the resulting coeffs identical between more platforms,
    make sure the piglit tests passes, and make debugging and maintainability
    a bit easier as the generated LLVM IR will be the same for more platforms.
    
    The performance impact is negligible for x86-64 without AVX, and
    basically non-existent for ppc64le, as it can be seen from the following
    benchmarking results:
    
    - glxspheres, on ppc64le:
    
       - original code:  4.892745317 frames/sec 5.460303857 Mpixels/sec
       - with the patch: 4.932083873 frames/sec 5.504205571 Mpixels/sec
       - Additional 0.8% performance boost
    
    - glxspheres, on x86-64 without AVX:
    
       - original code:  20.16418809 frames/sec 22.50323395 Mpixels/sec
       - with the patch: 20.31328989 frames/sec 22.66963152 Mpixels/sec
       - Additional 0.74% performance boost
    
    - glmark2, on ppc64le:
    
      - original code:  score of 58
      - with my change: score of 57
    
    - glmark2, on x86-64 without AVX:
    
      - original code:  score of 175
      - with the patch: score of 167
      - Impact of of -4.5% on performance
    
    - OpenArena, on ppc64le:
    
      - original code:  3398 frames 1719.0 seconds 2.0 fps
                        255.0/505.9/2773.0/0.0 ms
    
      - with the patch: 3398 frames 1690.4 seconds 2.0 fps
                        241.0/497.5/2563.0/0.2 ms
    
      - 29 seconds faster with the patch, which is about 2%
    
    - OpenArena, on x86-64 without AVX:
    
      - original code:  3398 frames 239.6 seconds 14.2 fps
                        38.0/70.5/719.0/14.6 ms
    
      - with the patch: 3398 frames 244.4 seconds 13.9 fps
                        38.0/71.9/697.0/14.3 ms
    
      - 0.3 fps slower with the patch (about 2%)
    
    Additional details can be found at:
    http://lists.freedesktop.org/archives/mesa-dev/2015-October/098635.html
    
    Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
    Reviewed-by: Roland Scheidegger <sroland@vmware.com>
    (cherry picked from commit 39b4dfe6ab1003863778a25c091c080e098833ec)

diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.c b/src/gallium/drivers/llvmpipe/lp_bld_interp.c
index df262fa..ceac86a 100644
--- a/src/gallium/drivers/llvmpipe/lp_bld_interp.c
+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.c
@@ -746,7 +746,12 @@ lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld,
 
    pos_init(bld, x0, y0);
 
-   if (coeff_type.length > 4) {
+   /*
+    * Simple method (single step interpolation) may be slower if vector length
+    * is just 4, but the results are different (generally less accurate) with
+    * the other method, so always use more accurate version.
+    */
+   if (1) {
       bld->simple_interp = TRUE;
       {
          /* XXX this should use a global static table */

commit d425a2f26c15156cc60a1b48e59bb6fc1cdcebbf
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Nov 10 15:37:47 2015 -0800

    vc4: Add support for nir_op_uge, using the carry bit on QPU_A_SUB.
    
    It looks like nir_lower_idiv is going to use it soon, so add support.
    With Ilia's change, this fixes one case in fs-op-div-large-uint-uint (with
    GL 3.0 forced on).
    
    Cc: "11.0" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit a4bf28178f064082d3b818d2cd48abf9075cc459)
    [Emil Velikov: Resolve trivial conflicts]
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    
    Conflicts:
    	src/gallium/drivers/vc4/vc4_qpu_emit.c

diff --git a/src/gallium/drivers/vc4/vc4_opt_algebraic.c b/src/gallium/drivers/vc4/vc4_opt_algebraic.c
index 5b43583..5b018e4 100644
--- a/src/gallium/drivers/vc4/vc4_opt_algebraic.c
+++ b/src/gallium/drivers/vc4/vc4_opt_algebraic.c
@@ -143,6 +143,8 @@ qir_opt_algebraic(struct vc4_compile *c)
                 case QOP_SEL_X_Y_ZC:
                 case QOP_SEL_X_Y_NS:
                 case QOP_SEL_X_Y_NC:
+                case QOP_SEL_X_Y_CS:
+                case QOP_SEL_X_Y_CC:
                         if (is_zero(c, inst->src[1])) {
                                 /* Replace references to a 0 uniform value
                                  * with the SEL_X_0 equivalent.
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index e002983..8476833 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -1055,6 +1055,10 @@ ntq_emit_alu(struct vc4_compile *c, nir_alu_instr *instr)
                 qir_SF(c, qir_SUB(c, src[0], src[1]));
                 *dest = qir_SEL_X_0_NC(c, qir_uniform_ui(c, ~0));
                 break;
+        case nir_op_uge:
+                qir_SF(c, qir_SUB(c, src[0], src[1]));
+                *dest = qir_SEL_X_0_CC(c, qir_uniform_ui(c, ~0));
+                break;
         case nir_op_ilt:
                 qir_SF(c, qir_SUB(c, src[0], src[1]));
                 *dest = qir_SEL_X_0_NS(c, qir_uniform_ui(c, ~0));
diff --git a/src/gallium/drivers/vc4/vc4_qir.c b/src/gallium/drivers/vc4/vc4_qir.c
index 073ba5f..50e37e8 100644
--- a/src/gallium/drivers/vc4/vc4_qir.c
+++ b/src/gallium/drivers/vc4/vc4_qir.c
@@ -62,10 +62,14 @@ static const struct qir_op_info qir_op_info[] = {
         [QOP_SEL_X_0_NC] = { "fsel_x_0_nc", 1, 1, false, true },
         [QOP_SEL_X_0_ZS] = { "fsel_x_0_zs", 1, 1, false, true },
         [QOP_SEL_X_0_ZC] = { "fsel_x_0_zc", 1, 1, false, true },
+        [QOP_SEL_X_0_CS] = { "fsel_x_0_cs", 1, 1, false, true },
+        [QOP_SEL_X_0_CC] = { "fsel_x_0_cc", 1, 1, false, true },
         [QOP_SEL_X_Y_NS] = { "fsel_x_y_ns", 1, 2, false, true },
         [QOP_SEL_X_Y_NC] = { "fsel_x_y_nc", 1, 2, false, true },
         [QOP_SEL_X_Y_ZS] = { "fsel_x_y_zs", 1, 2, false, true },
         [QOP_SEL_X_Y_ZC] = { "fsel_x_y_zc", 1, 2, false, true },
+        [QOP_SEL_X_Y_CS] = { "fsel_x_y_cs", 1, 2, false, true },
+        [QOP_SEL_X_Y_CC] = { "fsel_x_y_cc", 1, 2, false, true },
 
         [QOP_RCP] = { "rcp", 1, 1, false, true },
         [QOP_RSQ] = { "rsq", 1, 1, false, true },
@@ -193,10 +197,14 @@ qir_depends_on_flags(struct qinst *inst)
         case QOP_SEL_X_0_NC:
         case QOP_SEL_X_0_ZS:
         case QOP_SEL_X_0_ZC:
+        case QOP_SEL_X_0_CS:
+        case QOP_SEL_X_0_CC:
         case QOP_SEL_X_Y_NS:
         case QOP_SEL_X_Y_NC:
         case QOP_SEL_X_Y_ZS:
         case QOP_SEL_X_Y_ZC:
+        case QOP_SEL_X_Y_CS:
+        case QOP_SEL_X_Y_CC:
                 return true;
         default:
                 return false;
diff --git a/src/gallium/drivers/vc4/vc4_qir.h b/src/gallium/drivers/vc4/vc4_qir.h
index a2b21fa..fe8b582 100644
--- a/src/gallium/drivers/vc4/vc4_qir.h
+++ b/src/gallium/drivers/vc4/vc4_qir.h
@@ -91,11 +91,15 @@ enum qop {
         QOP_SEL_X_0_ZC,
         QOP_SEL_X_0_NS,
         QOP_SEL_X_0_NC,
+        QOP_SEL_X_0_CS,
+        QOP_SEL_X_0_CC,
         /* Selects the src[0] if the ns flag bit is set, otherwise src[1]. */
         QOP_SEL_X_Y_ZS,
         QOP_SEL_X_Y_ZC,
         QOP_SEL_X_Y_NS,
         QOP_SEL_X_Y_NC,
+        QOP_SEL_X_Y_CS,
+        QOP_SEL_X_Y_CC,
 
         QOP_FTOI,
         QOP_ITOF,
@@ -570,10 +574,14 @@ QIR_ALU1(SEL_X_0_ZS)
 QIR_ALU1(SEL_X_0_ZC)
 QIR_ALU1(SEL_X_0_NS)
 QIR_ALU1(SEL_X_0_NC)
+QIR_ALU1(SEL_X_0_CS)
+QIR_ALU1(SEL_X_0_CC)
 QIR_ALU2(SEL_X_Y_ZS)
 QIR_ALU2(SEL_X_Y_ZC)
 QIR_ALU2(SEL_X_Y_NS)
 QIR_ALU2(SEL_X_Y_NC)
+QIR_ALU2(SEL_X_Y_CS)
+QIR_ALU2(SEL_X_Y_CC)
 QIR_ALU2(FMIN)
 QIR_ALU2(FMAX)
 QIR_ALU2(FMINABS)
diff --git a/src/gallium/drivers/vc4/vc4_qpu_emit.c b/src/gallium/drivers/vc4/vc4_qpu_emit.c
index adf3a8b..6402d1a 100644
--- a/src/gallium/drivers/vc4/vc4_qpu_emit.c
+++ b/src/gallium/drivers/vc4/vc4_qpu_emit.c
@@ -271,6 +271,8 @@ vc4_generate_code(struct vc4_context *vc4, struct vc4_compile *c)
                 case QOP_SEL_X_0_ZC:
                 case QOP_SEL_X_0_NS:
                 case QOP_SEL_X_0_NC:
+                case QOP_SEL_X_0_CS:
+                case QOP_SEL_X_0_CC:
                         queue(c, qpu_a_MOV(dst, src[0]));
                         set_last_cond_add(c, qinst->op - QOP_SEL_X_0_ZS +
                                           QPU_COND_ZS);
@@ -284,6 +286,8 @@ vc4_generate_code(struct vc4_context *vc4, struct vc4_compile *c)
                 case QOP_SEL_X_Y_ZC:
                 case QOP_SEL_X_Y_NS:
                 case QOP_SEL_X_Y_NC:
+                case QOP_SEL_X_Y_CS:
+                case QOP_SEL_X_Y_CC:
                         queue(c, qpu_a_MOV(dst, src[0]));
                         set_last_cond_add(c, qinst->op - QOP_SEL_X_Y_ZS +
                                           QPU_COND_ZS);

commit c667a0d1d36ea72cfc0024ae4a33f1443be98362
Author: Roland Scheidegger <sroland@vmware.com>
Date:   Tue Nov 17 01:04:05 2015 +0100

    r200: fix bgrx8/xrgb8 blits
    
    Since 779cabfc7d022de8b7b9bc7fdac0caffa8646c51 the same txformat table entries
    are used for "normal" texturing as well as for blits. However, I forgot to put
    in an entry for the bgrx8 (le) and xrgb8 (be) formats - the normal texturing
    path can't hit them because the radeon tex format chooser will never chose
    them, but we get that format from the dri buffers (at least I assume we got
    it from there).
    This is untested but essentially addressing the same bug as for radeon.
    (I don't think that the second entry per le/be table is actually necessary,
    but shouldn't hurt...)
    
    Tested-by: Ian Romanick <ian.d.romanick@intel.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Cc: "11.0" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit a2611ffe4b5f1852c59301f086b988233a1c62f3)

diff --git a/src/mesa/drivers/dri/r200/r200_tex.h b/src/mesa/drivers/dri/r200/r200_tex.h
index a8c31b7..14f5e71 100644
--- a/src/mesa/drivers/dri/r200/r200_tex.h
+++ b/src/mesa/drivers/dri/r200/r200_tex.h
@@ -63,7 +63,9 @@ static const struct tx_table tx_table_be[] =
    [ MESA_FORMAT_A8B8G8R8_UNORM ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
    [ MESA_FORMAT_R8G8B8A8_UNORM ] = { R200_TXFORMAT_RGBA8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
    [ MESA_FORMAT_B8G8R8A8_UNORM ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
+   [ MESA_FORMAT_B8G8R8X8_UNORM ] = { R200_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_A8R8G8B8_UNORM ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
+   [ MESA_FORMAT_X8R8G8B8_UNORM ] = { R200_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_BGR_UNORM8 ] = { 0xffffffff, 0 },
    [ MESA_FORMAT_B5G6R5_UNORM ] = { R200_TXFORMAT_RGB565, 0 },
    [ MESA_FORMAT_R5G6B5_UNORM ] = { R200_TXFORMAT_RGB565, 0 },
@@ -91,7 +93,9 @@ static const struct tx_table tx_table_le[] =
    [ MESA_FORMAT_A8B8G8R8_UNORM ] = { R200_TXFORMAT_RGBA8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
    [ MESA_FORMAT_R8G8B8A8_UNORM ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
    [ MESA_FORMAT_B8G8R8A8_UNORM ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
+   [ MESA_FORMAT_B8G8R8X8_UNORM ] = { R200_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_A8R8G8B8_UNORM ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
+   [ MESA_FORMAT_X8R8G8B8_UNORM ] = { R200_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_BGR_UNORM8 ] = { R200_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_B5G6R5_UNORM ] = { R200_TXFORMAT_RGB565, 0 },
    [ MESA_FORMAT_R5G6B5_UNORM ] = { R200_TXFORMAT_RGB565, 0 },

commit f112696f1531cdb658ada4290120781e30df2366
Author: Roland Scheidegger <sroland@vmware.com>
Date:   Thu Nov 12 19:33:14 2015 +0100

    radeon: fix bgrx8/xrgb8 blits
    
    Since d21320f6258b2e1780a15c1ca718963d8a15ca18 the same txformat table entries
    are used for "normal" texturing as well as for blits. However, I forgot to put
    in an entry for the bgrx8 (le) and xrgb8 (be) formats - the normal texturing
    path can't hit them because the radeon tex format chooser will never chose
    them, but we get that format from the dri buffers (at least I assume we got
    it from there). This caused lots of piglit regressions (and probably lots of
    trouble outside piglit too).
    This fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=92900.
    
    Tested-by: Ian Romanick <ian.d.romanick@intel.com>
    Acked-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Cc: "11.0" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 983614dbede7b94cba1bad9f3e8627fc5e14bb91)

diff --git a/src/mesa/drivers/dri/radeon/radeon_tex.h b/src/mesa/drivers/dri/radeon/radeon_tex.h
index f8ec432..37c2fa0 100644
--- a/src/mesa/drivers/dri/radeon/radeon_tex.h
+++ b/src/mesa/drivers/dri/radeon/radeon_tex.h
@@ -63,6 +63,8 @@ static const struct tx_table tx_table[] =
    [ MESA_FORMAT_R8G8B8A8_UNORM ] = { RADEON_TXFORMAT_RGBA8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
    [ MESA_FORMAT_B8G8R8A8_UNORM ] = { RADEON_TXFORMAT_ARGB8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
    [ MESA_FORMAT_A8R8G8B8_UNORM ] = { RADEON_TXFORMAT_ARGB8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
+   [ MESA_FORMAT_B8G8R8X8_UNORM ] = { RADEON_TXFORMAT_ARGB8888, 0 },
+   [ MESA_FORMAT_X8R8G8B8_UNORM ] = { RADEON_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_BGR_UNORM8 ] = { RADEON_TXFORMAT_ARGB8888, 0 },
    [ MESA_FORMAT_B5G6R5_UNORM ] = { RADEON_TXFORMAT_RGB565, 0 },
    [ MESA_FORMAT_R5G6B5_UNORM ] = { RADEON_TXFORMAT_RGB565, 0 },

commit acbaa3d0fcd2a0d357a4c7539d12877f9838548a
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri Nov 13 11:58:41 2015 -0800

    meta/generate_mipmap: Only modify the draw framebuffer binding in fallback_required
    
    Previously GL_FRAMEBUFFER was used.  However, if GL_EXT_framebuffer_blit
    is supported (note: it is supported by every Mesa driver), this is
    *sometimes* an alias for GL_DRAW_FRAMEBUFFER (getters) and *sometimes*
    an alias for *both* GL_DRAW_FRAMEBUFFER and GL_READ_FRAMEBUFFER
    (setters).  As a result, the code saved one binding but modified both.
    If the bindings were different, the GL_READ_FRAMEBUFFER would be
    incorrect on exit.
    
    Fixes the piglit fbo-generatemipmap-versus-READ_FRAMEBUFFER test.
    
    Ideally this function would use DSA functions and not modify the binding
    at all.  However, that would be a much more intrusive change because
    _mesa_meta_bind_fbo_image would also need to be modified.
    _mesa_meta_bind_fbo_image has a lot of callers.  Much of this code is
    about to get a major rework due to bug #92363, so I don't think it
    matters too much.  In fact, I discovered this bug while working on the
    other bug.  Le bon temps!
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
    Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit c40a88b6c5a698e5297957e28cccf2ce23820caa)

diff --git a/src/mesa/drivers/common/meta_generate_mipmap.c b/src/mesa/drivers/common/meta_generate_mipmap.c
index ced4742..9d3b9b6 100644
--- a/src/mesa/drivers/common/meta_generate_mipmap.c
+++ b/src/mesa/drivers/common/meta_generate_mipmap.c
@@ -102,13 +102,13 @@ fallback_required(struct gl_context *ctx, GLenum target,
     */
    if (!mipmap->FBO)
       _mesa_GenFramebuffers(1, &mipmap->FBO);
-   _mesa_BindFramebuffer(GL_FRAMEBUFFER_EXT, mipmap->FBO);
+   _mesa_BindFramebuffer(GL_DRAW_FRAMEBUFFER, mipmap->FBO);
 
-   _mesa_meta_bind_fbo_image(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, baseImage, 0);
+   _mesa_meta_bind_fbo_image(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, baseImage, 0);
 
-   status = _mesa_CheckFramebufferStatus(GL_FRAMEBUFFER_EXT);
+   status = _mesa_CheckFramebufferStatus(GL_DRAW_FRAMEBUFFER);
 
-   _mesa_BindFramebuffer(GL_FRAMEBUFFER_EXT, fboSave);
+   _mesa_BindFramebuffer(GL_DRAW_FRAMEBUFFER, fboSave);
 
    if (status != GL_FRAMEBUFFER_COMPLETE_EXT) {
       _mesa_perf_debug(ctx, MESA_DEBUG_SEVERITY_HIGH,

commit 55325d06320dcd95f0152cb872b84fedc92fc5de
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Fri Nov 13 13:00:30 2015 -0500

    radeonsi: enable optimal raster config setting for fiji (v2)
    
    Requires proper kernel tiling configuration so check the tiling
    config registers.
    
    v2: send the right version of the patch
    
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Cc: mesa-stable@lists.freedesktop.org
    (cherry picked from commit 00f554abba8c0f3b65af94365c15109c3b858486)

diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 1bca645..81e1382 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -3176,6 +3176,7 @@ si_write_harvested_raster_configs(struct si_context *sctx,
 
 static void si_init_config(struct si_context *sctx)
 {
+	struct si_screen *sscreen = sctx->screen;
 	unsigned num_rb = MIN2(sctx->screen->b.info.r600_num_backends, 16);
 	unsigned rb_mask = sctx->screen->b.info.si_backend_enabled_mask;
 	unsigned raster_config, raster_config_1;
@@ -3243,9 +3244,14 @@ static void si_init_config(struct si_context *sctx)
 		raster_config_1 = 0x0000002e;
 		break;
 	case CHIP_FIJI:
-		/* Fiji should be same as Hawaii, but that causes corruption in some cases */
-		raster_config = 0x16000012; /* 0x3a00161a */
-		raster_config_1 = 0x0000002a; /* 0x0000002e */
+		if (sscreen->b.info.cik_macrotile_mode_array[0] == 0x000000e8) {
+			/* old kernels with old tiling config */
+			raster_config = 0x16000012;
+			raster_config_1 = 0x0000002a;
+		} else {
+			raster_config = 0x3a00161a;
+			raster_config_1 = 0x0000002e;
+		}
 		break;
 	case CHIP_TONGA:
 		raster_config = 0x16000012;

commit 09a7ee2782205b7b7177c8bc805be3c5929347dd
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Sat Nov 14 10:28:55 2015 -0500

    nouveau: don't expose HEVC decoding support
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: mesa-stable@lists.freedesktop.org
    (cherry picked from commit f94e1d97381ec787c2abbbcd5265252596217e33)

diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.c b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
index f3a64b2..4652e56 100644
--- a/src/gallium/drivers/nouveau/nouveau_vp3_video.c
+++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
@@ -437,6 +437,7 @@ nouveau_vp3_screen_get_video_param(struct pipe_screen *pscreen,
       /* VP3 does not support MPEG4, VP4+ do. */
       return entrypoint == PIPE_VIDEO_ENTRYPOINT_BITSTREAM &&
          profile >= PIPE_VIDEO_PROFILE_MPEG1 &&
+         profile < PIPE_VIDEO_PROFILE_HEVC_MAIN &&
          (!vp3 || codec != PIPE_VIDEO_FORMAT_MPEG4) &&
          firmware_present(pscreen, profile);
    case PIPE_VIDEO_CAP_NPOT_TEXTURES:

commit 120559bd3042b8ab0eab3f0b3c3ab10594043d41
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Thu Nov 12 13:02:05 2015 -0800

    glsl: Allow implicit int -> uint conversions for the % operator.
    
    GLSL 4.00 and GL_ARB_gpu_shader5 introduced a new int -> uint implicit
    conversion rule and updated the rules for modulus to use them.  (In
    earlier languages, none of the implicit conversion rules did anything
    relevant, so there was no point in applying them.)
    
    This allows expressions such as:
    
       int foo;
       uint bar;
       uint mod = foo % bar;
    
    Cc: mesa-stable@lists.freedesktop.org
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 511de1a80cedc0add386dad79cce56dd68d2f611)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 9fdfd44..94bae57 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -482,18 +482,20 @@ bit_logic_result_type(const struct glsl_type *type_a,
 }
 
 static const struct glsl_type *
-modulus_result_type(const struct glsl_type *type_a,
-                    const struct glsl_type *type_b,
+modulus_result_type(ir_rvalue * &value_a, ir_rvalue * &value_b,
                     struct _mesa_glsl_parse_state *state, YYLTYPE *loc)
 {
+   const glsl_type *type_a = value_a->type;
+   const glsl_type *type_b = value_b->type;
+
    if (!state->check_version(130, 300, loc, "operator '%%' is reserved")) {
       return glsl_type::error_type;
    }
 
-   /* From GLSL 1.50 spec, page 56:
+   /* Section 5.9 (Expressions) of the GLSL 4.00 specification says:
+    *
     *    "The operator modulus (%) operates on signed or unsigned integers or
-    *    integer vectors. The operand types must both be signed or both be
-    *    unsigned."
+    *    integer vectors."
     */
    if (!type_a->is_integer()) {
       _mesa_glsl_error(loc, state, "LHS of operator %% must be an integer");
@@ -503,11 +505,28 @@ modulus_result_type(const struct glsl_type *type_a,
       _mesa_glsl_error(loc, state, "RHS of operator %% must be an integer");
       return glsl_type::error_type;
    }
-   if (type_a->base_type != type_b->base_type) {
+
+   /*    "If the fundamental types in the operands do not match, then the
+    *    conversions from section 4.1.10 "Implicit Conversions" are applied
+    *    to create matching types."
+    *
+    * Note that GLSL 4.00 (and GL_ARB_gpu_shader5) introduced implicit
+    * int -> uint conversion rules.  Prior to that, there were no implicit
+    * conversions.  So it's harmless to apply them universally - no implicit
+    * conversions will exist.  If the types don't match, we'll receive false,


Reply to: