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

mesa: Changes to 'debian-unstable'



 VERSION                                                       |    2 
 bin/.cherry-ignore                                            |    6 
 configure.ac                                                  |   15 +
 debian/changelog                                              |   10 -
 debian/control                                                |    4 
 docs/relnotes/10.1.3.html                                     |    3 
 docs/relnotes/10.1.4.html                                     |   97 ++++++++++
 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp |   11 -
 src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp      |    3 
 src/gallium/drivers/nouveau/nv50/nv50_context.h               |    8 
 src/gallium/drivers/nouveau/nv50/nv50_tex.c                   |    2 
 src/gallium/drivers/r600/r600_pipe.h                          |    9 
 src/gallium/drivers/radeon/r600_pipe_common.h                 |    9 
 src/gallium/drivers/radeonsi/si_descriptors.c                 |    4 
 src/gallium/drivers/radeonsi/si_pipe.c                        |    4 
 src/gallium/drivers/radeonsi/si_pipe.h                        |    4 
 src/gallium/drivers/radeonsi/si_state.c                       |   17 -
 src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp                |   23 +-
 src/mesa/main/context.c                                       |    4 
 19 files changed, 191 insertions(+), 44 deletions(-)

New commits:
commit 4fe80b28056088ea828b8f5fcabe27368be351fd
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu May 22 09:44:09 2014 +0200

    Bump llvm-3.4-dev and libclang-3.4-dev to 1:3.4.1-3
    
    Enables geometry shaders on radeonsi

diff --git a/debian/changelog b/debian/changelog
index a58f940..3f2cff2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ mesa (10.1.4-1) UNRELEASED; urgency=medium
 
   [ Andreas Boll ]
   * New upstream release.
+  * Bump llvm-3.4-dev and libclang-3.4-dev to 1:3.4.1-3
+    - Enables geometry shaders on radeonsi
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 22 May 2014 09:34:33 +0200
 
diff --git a/debian/control b/debian/control
index 0a49c81..6bd89b9 100644
--- a/debian/control
+++ b/debian/control
@@ -38,10 +38,10 @@ Build-Depends:
  libudev-dev [linux-any],
  flex,
  bison,
- llvm-3.4-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
+ llvm-3.4-dev (>= 1:3.4.1-3) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
  libelf-dev [amd64 i386 kfreebsd-amd64 kfreebsd-i386 armhf],
  libwayland-dev (>= 1.2.0) [linux-any],
- libclang-3.4-dev [amd64 i386 armhf],
+ libclang-3.4-dev (>= 1:3.4.1-3) [amd64 i386 armhf],
  libclc-dev [amd64 i386 armhf],
 Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/mesa
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/mesa.git

commit c184244f2fa2a8520b196d5965f92c568c3e6c93
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Thu May 22 09:35:59 2014 +0200

    New upstream release.

diff --git a/debian/changelog b/debian/changelog
index 961e936..a58f940 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,12 @@
-mesa (10.1.3-1) UNRELEASED; urgency=medium
+mesa (10.1.4-1) UNRELEASED; urgency=medium
 
+  [ Timo Aaltonen ]
+  * New upstream release.
+
+  [ Andreas Boll ]
   * New upstream release.
 
- -- Timo Aaltonen <tjaalton@ubuntu.com>  Sat, 10 May 2014 01:20:18 +0300
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Thu, 22 May 2014 09:34:33 +0200
 
 mesa (10.1.2-1) unstable; urgency=medium
 

commit cc9b282f8a00c1d8e552a3776709ca84e1f4467d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue May 20 14:22:34 2014 -0700

    docs: Add release notes for the 10.1.4 release.

diff --git a/docs/relnotes/10.1.4.html b/docs/relnotes/10.1.4.html
new file mode 100644
index 0000000..6c02f32
--- /dev/null
+++ b/docs/relnotes/10.1.4.html
@@ -0,0 +1,97 @@
+<!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 10.1.4 Release Notes / (May 20, 2014)</h1>
+
+<p>
+Mesa 10.1.4 is a bug fix release which fixes bugs found since the 10.1.3 release.
+</p>
+
+<p>
+Mesa 10.1.4 implements the OpenGL 3.3 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 3.3.  OpenGL
+3.3 is <strong>only</strong> available if requested at context creation
+because compatibility contexts are not supported.
+</p>
+
+
+<h2>MD5 checksums</h2>
+<pre>
+</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=78225";>Bug 78225</a> - Compile error due to undefined reference to `gbm_dri_backend', fix attached</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78537";>Bug 78537</a> - no anisotropic filtering in a native Half-Life 2</li>
+
+</ul>
+
+<h2>Changes</h2>
+
+<p>Brian Paul (1):</p>
+<ul>
+  <li>mesa: fix double-freeing of dispatch tables inside glBegin/End.</li>
+</ul>
+
+<p>Carl Worth (3):</p>
+<ul>
+  <li>docs: Add MD5 sums for 10.1.3</li>
+  <li>cherry-ignore: Roland and Michel agreed to drop these patches.</li>
+  <li>VERSION: Update to 10.1.4</li>
+</ul>
+
+<p>Emil Velikov (1):</p>
+<ul>
+  <li>configure: error out if building GBM without dri</li>
+</ul>
+
+<p>Eric Anholt (1):</p>
+<ul>
+  <li>i965/vs: Use samplers for UBOs in the VS like we do for non-UBO pulls.</li>
+</ul>
+
+<p>Ilia Mirkin (3):</p>
+<ul>
+  <li>nv50/ir: make sure to reverse cond codes on all the OP_SET variants</li>
+  <li>nv50: fix setting of texture ms info to be per-stage</li>
+  <li>nv50/ir: fix integer mul lowering for u32 x u32 -&gt; high u32</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+  <li>radeonsi: Fix anisotropic filtering state setup</li>
+</ul>
+
+<p>Tom Stellard (2):</p>
+<ul>
+  <li>configure.ac: Add LLVM_VERSION_PATCH to DEFINES</li>
+  <li>radeonsi: Enable geometry shaders with LLVM 3.4.1</li>
+</ul>
+
+</div>
+</body>
+</html>

commit edab352b250ea687df6e61a553bb51d0093a0e14
Author: Carl Worth <cworth@cworth.org>
Date:   Tue May 20 14:19:05 2014 -0700

    VERSION: Update to 10.1.4
    
    In preparation for the 10.1.4 release.

diff --git a/VERSION b/VERSION
index c8d7efc..655f923 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.1.3
+10.1.4

commit 2d6f733979dd3c3e3f32876bb1eb89c0693edf80
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Tue May 13 11:23:33 2014 -0400

    nv50/ir: fix integer mul lowering for u32 x u32 -> high u32
    
    UNION appears to expect that all of its sources are conditionally
    defined. Otherwise it inserts an unpredicated mov instruction which
    overwrites the desired result. This fixes tests that use UMUL_HI, and
    much less directly, unsigned integer division by a constant, which uses
    this functionality in a peephole pass.
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
    (cherry picked from commit 5b8f1a0f7c5b1412577a913d374192a2329fa615)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
index 7030c21..c4ae6c4 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
@@ -75,16 +75,17 @@ expandIntegerMUL(BuildUtil *bld, Instruction *mul)
    i[4] = bld->mkOp3(OP_MAD, fTy, t[3], a[0], b[0], t[2]);
 
    if (highResult) {
-      Value *r[3];
+      Value *r[4];
       Value *imm = bld->loadImm(NULL, 1 << (halfSize * 8));
       c[0] = bld->getSSA(1, FILE_FLAGS);
       c[1] = bld->getSSA(1, FILE_FLAGS);
-      for (int j = 0; j < 3; ++j)
+      for (int j = 0; j < 4; ++j)
          r[j] = bld->getSSA(fullSize);
 
       i[8] = bld->mkOp2(OP_SHR, fTy, r[0], t[1], bld->mkImm(halfSize * 8));
       i[6] = bld->mkOp2(OP_ADD, fTy, r[1], r[0], imm);
-      bld->mkOp2(OP_UNION, TYPE_U32, r[2], r[1], r[0]);
+      bld->mkMov(r[3], r[0])->setPredicate(CC_NC, c[0]);
+      bld->mkOp2(OP_UNION, TYPE_U32, r[2], r[1], r[3]);
       i[5] = bld->mkOp3(OP_MAD, fTy, mul->getDef(0), a[1], b[1], r[2]);
 
       // set carry defs / sources

commit 507d2e523ca81823d07e593d08ab6bfb261ceb88
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 16 17:22:12 2014 -0700

    cherry-ignore: Roland and Michel agreed to drop these patches.
    
    The first was apparently not entirely suitable for stable, (and buggy). And
    the second existed only to fix a bug in the first. So without the first, we
    don't need either.

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index 756da19..51effb9 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -7,3 +7,9 @@ ac35ded4733883037316d556af596524e5e02535
 # This patch introduces some regressions. See:
 # https://bugs.freedesktop.org/show_bug.cgi?id=77443
 1afe3359258a9e89b62c8638761f52d78f6d1cbc
+
+# Author retracted this from consideration for stable branch
+3e817e7e56806d8adb8f16c35136045c29908944
+
+# And this one was simply a bug fix for the previously-retracted commit
+2bab95973d8ad3a84f62670143d6f26c230d9582

commit 07ada102cba0e9f0b826cc4cdad0a1398274d6b2
Author: Brian Paul <brianp@vmware.com>
Date:   Thu May 15 15:49:14 2014 -0600

    mesa: fix double-freeing of dispatch tables inside glBegin/End.
    
    We allocate dispatch tables for BeginEnd and OutsideBeginEnd.  But
    when we destroy the context we were freeing the BeginEnd and Exec
    tables.  If Exec==BeginEnd we did a double-free.  This would happen
    if the context was destroyed while inside a glBegin/End pair.  Now
    free the BeginEnd and OutsideBeginEnd pointers.
    
    Cc: "10.1", "10.2" <mesa-stable@lists.freedesktop.org>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    (cherry picked from commit ef6b6658f91bd5871739bdb71a08042f26abe389)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index b818ab4..dcd319b 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1112,7 +1112,7 @@ _mesa_initialize_context(struct gl_context *ctx,
 fail:
    _mesa_reference_shared_state(ctx, &ctx->Shared, NULL);
    free(ctx->BeginEnd);
-   free(ctx->Exec);
+   free(ctx->OutsideBeginEnd);
    free(ctx->Save);
    return GL_FALSE;
 }
@@ -1213,7 +1213,7 @@ _mesa_free_context_data( struct gl_context *ctx )
 
    /* free dispatch tables */
    free(ctx->BeginEnd);
-   free(ctx->Exec);
+   free(ctx->OutsideBeginEnd);
    free(ctx->Save);
 
    /* Shared context state (display lists, textures, etc) */

commit 13b142a42053b7aa0c5bc8df69c6e0d7b5f2085d
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Feb 14 16:06:31 2014 -0800

    i965/vs: Use samplers for UBOs in the VS like we do for non-UBO pulls.
    
    Improves performance of a dolphin emulator trace I had laying around by
    3.60131% +/- 0.995887% (n=128).
    
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    (cherry picked from commit 9245206cbfaaa4e18c1f3715eebb5f281070d772)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index b5b8f36..8f91085 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -1616,14 +1616,27 @@ vec4_visitor::visit(ir_expression *ir)
          emit(SHR(dst_reg(offset), op[1], src_reg(4)));
       }
 
-      vec4_instruction *pull =
+      if (brw->gen >= 7) {
+         dst_reg grf_offset = dst_reg(this, glsl_type::int_type);
+         grf_offset.type = offset.type;
+
+         emit(MOV(grf_offset, offset));
+
          emit(new(mem_ctx) vec4_instruction(this,
-                                            VS_OPCODE_PULL_CONSTANT_LOAD,
+                                            VS_OPCODE_PULL_CONSTANT_LOAD_GEN7,
                                             dst_reg(packed_consts),
                                             surf_index,
-                                            offset));
-      pull->base_mrf = 14;
-      pull->mlen = 1;
+                                            src_reg(grf_offset)));
+      } else {
+         vec4_instruction *pull =
+            emit(new(mem_ctx) vec4_instruction(this,
+                                               VS_OPCODE_PULL_CONSTANT_LOAD,
+                                               dst_reg(packed_consts),
+                                               surf_index,
+                                               offset));
+         pull->base_mrf = 14;
+         pull->mlen = 1;
+      }
 
       packed_consts.swizzle = swizzle_for_size(ir->type->vector_elements);
       packed_consts.swizzle += BRW_SWIZZLE4(const_offset % 16 / 4,

commit 1ba2298131924daf34b4504ba748a782c5189f48
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed May 14 16:30:33 2014 +0900

    radeonsi: Fix anisotropic filtering state setup
    
    Bring it back in line with r600g. I broke this in the original radeonsi
    bringup. :(
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78537
    
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    (cherry picked from commit c5828b0599a5c00ebab488b795c63a21f1dc53cd)

diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 694653b..2530947 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -827,15 +827,6 @@ static INLINE uint32_t S_FIXED(float value, uint32_t frac_bits)
 }
 #define ALIGN_DIVUP(x, y) (((x) + (y) - 1) / (y))
 
-static inline unsigned r600_tex_aniso_filter(unsigned filter)
-{
-	if (filter <= 1)   return 0;
-	if (filter <= 2)   return 1;
-	if (filter <= 4)   return 2;
-	if (filter <= 8)   return 3;
-	 /* else */        return 4;
-}
-
 /* 12.4 fixed-point */
 static INLINE unsigned r600_pack_float_12p4(float x)
 {
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h
index 3c22c0f..5ea544f 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.h
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h
@@ -390,6 +390,15 @@ r600_resource_reference(struct r600_resource **ptr, struct r600_resource *res)
 				(struct pipe_resource *)res);
 }
 
+static inline unsigned r600_tex_aniso_filter(unsigned filter)
+{
+	if (filter <= 1)   return 0;
+	if (filter <= 2)   return 1;
+	if (filter <= 4)   return 2;
+	if (filter <= 8)   return 3;
+	 /* else */        return 4;
+}
+
 #define R600_ERR(fmt, args...) \
 	fprintf(stderr, "EE %s:%d %s - "fmt, __FILE__, __LINE__, __func__, ##args)
 
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 2489ab9..1caf63e 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2723,16 +2723,15 @@ static void *si_create_sampler_state(struct pipe_context *ctx,
 	rstate->val[0] = (S_008F30_CLAMP_X(si_tex_wrap(state->wrap_s)) |
 			  S_008F30_CLAMP_Y(si_tex_wrap(state->wrap_t)) |
 			  S_008F30_CLAMP_Z(si_tex_wrap(state->wrap_r)) |
-			  (state->max_anisotropy & 0x7) << 9 | /* XXX */
+			  r600_tex_aniso_filter(state->max_anisotropy) << 9 |
 			  S_008F30_DEPTH_COMPARE_FUNC(si_tex_compare(state->compare_func)) |
 			  S_008F30_FORCE_UNNORMALIZED(!state->normalized_coords) |
-			  aniso_flag_offset << 16 | /* XXX */
 			  S_008F30_DISABLE_CUBE_WRAP(!state->seamless_cube_map));
 	rstate->val[1] = (S_008F34_MIN_LOD(S_FIXED(CLAMP(state->min_lod, 0, 15), 8)) |
 			  S_008F34_MAX_LOD(S_FIXED(CLAMP(state->max_lod, 0, 15), 8)));
 	rstate->val[2] = (S_008F38_LOD_BIAS(S_FIXED(CLAMP(state->lod_bias, -16, 16), 8)) |
-			  S_008F38_XY_MAG_FILTER(si_tex_filter(state->mag_img_filter)) |
-			  S_008F38_XY_MIN_FILTER(si_tex_filter(state->min_img_filter)) |
+			  S_008F38_XY_MAG_FILTER(si_tex_filter(state->mag_img_filter) | aniso_flag_offset) |
+			  S_008F38_XY_MIN_FILTER(si_tex_filter(state->min_img_filter) | aniso_flag_offset) |
 			  S_008F38_MIP_FILTER(si_tex_mipfilter(state->min_mip_filter)));
 	rstate->val[3] = S_008F3C_BORDER_COLOR_TYPE(border_color_type);
 

commit 736e16288be8727c8d09a50330a348d2c1a61712
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Tue May 13 21:47:42 2014 -0400

    nv50: fix setting of texture ms info to be per-stage
    
    Different textures may be bound to each slot for each stage. So we need
    to be able to upload ms parameters for each one without stages
    overwriting each other.
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 863573b9cbeb26722fe7bdfbcc4ca6bffdc7dbf6)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
index 984a8ca..7030c21 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
@@ -590,6 +590,10 @@ void NV50LoweringPreSSA::loadTexMsInfo(uint32_t off, Value **ms,
    Value *tmp = new_LValue(func, FILE_GPR);
    uint8_t b = prog->driver->io.resInfoCBSlot;
    off += prog->driver->io.suInfoBase;
+   if (prog->getType() > Program::TYPE_VERTEX)
+      off += 16 * 2 * 4;
+   if (prog->getType() > Program::TYPE_GEOMETRY)
+      off += 16 * 2 * 4;
    *ms_x = bld.mkLoadv(TYPE_U32, bld.mkSymbol(
                              FILE_MEMORY_CONST, b, TYPE_U32, off + 0), NULL);
    *ms_y = bld.mkLoadv(TYPE_U32, bld.mkSymbol(
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_context.h b/src/gallium/drivers/nouveau/nv50/nv50_context.h
index 373cff4..b69ab4c 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_context.h
+++ b/src/gallium/drivers/nouveau/nv50/nv50_context.h
@@ -77,13 +77,13 @@
 /* 8 user clip planes, at 4 32-bit floats each */
 #define NV50_CB_AUX_UCP_OFFSET    0x0000
 #define NV50_CB_AUX_UCP_SIZE      (8 * 4 * 4)
-/* 256 textures, each with ms_x, ms_y u32 pairs */
+/* 16 textures * 3 shaders, each with ms_x, ms_y u32 pairs */
 #define NV50_CB_AUX_TEX_MS_OFFSET 0x0080
-#define NV50_CB_AUX_TEX_MS_SIZE   (256 * 2 * 4)
+#define NV50_CB_AUX_TEX_MS_SIZE   (16 * 3 * 2 * 4)
 /* For each MS level (4), 8 sets of 32-bit integer pairs sample offsets */
-#define NV50_CB_AUX_MS_OFFSET     0x880
+#define NV50_CB_AUX_MS_OFFSET     0x200
 #define NV50_CB_AUX_MS_SIZE       (4 * 8 * 4 * 2)
-/* next spot: 0x980 */
+/* next spot: 0x300 */
 /* 4 32-bit floats for the vertex runout, put at the end */
 #define NV50_CB_AUX_RUNOUT_OFFSET (NV50_CB_AUX_SIZE - 0x10)
 
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_tex.c b/src/gallium/drivers/nouveau/nv50/nv50_tex.c
index 6784821..eceec5a 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_tex.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_tex.c
@@ -286,7 +286,7 @@ nv50_validate_tic(struct nv50_context *nv50, int s)
    }
    if (nv50->num_textures[s]) {
       BEGIN_NV04(push, NV50_3D(CB_ADDR), 1);
-      PUSH_DATA (push, (NV50_CB_AUX_TEX_MS_OFFSET << (8 - 2)) | NV50_CB_AUX);
+      PUSH_DATA (push, ((NV50_CB_AUX_TEX_MS_OFFSET + 16 * s * 2 * 4) << (8 - 2)) | NV50_CB_AUX);
       BEGIN_NI04(push, NV50_3D(CB_DATA(0)), nv50->num_textures[s] * 2);
       for (i = 0; i < nv50->num_textures[s]; i++) {
          struct nv50_tic_entry *tic = nv50_tic_entry(nv50->textures[s][i]);

commit 7396efb19a684531336140901f4a36a61f62ad14
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Sat May 10 15:02:36 2014 -0400

    nv50/ir: make sure to reverse cond codes on all the OP_SET variants
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
    Cc: "10.2 10.1" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 68f47cad0d23281309741cc47eeaa26ebbb41bca)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
index fb82c72..8e8434d 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
@@ -187,7 +187,8 @@ LoadPropagation::checkSwapSrc01(Instruction *insn)
       return;
    }
 
-   if (insn->op == OP_SET)
+   if (insn->op == OP_SET || insn->op == OP_SET_AND ||
+       insn->op == OP_SET_OR || insn->op == OP_SET_XOR)
       insn->asCmp()->setCond = reverseCondCode(insn->asCmp()->setCond);
    else
    if (insn->op == OP_SLCT)

commit c8e24aa5a9a77b5d9cfa48d44d279ec21694fe2f
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Mon May 5 22:09:22 2014 +0100

    configure: error out if building GBM without dri
    
    Both backends require --enable-dri, and building an empty libgbm
    makes little to no sense. Error out at configure to prevent the
    user from shooting themselves in the foot.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78225
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    (cherry picked from commit e477d12c3396ded1607b6f57c15e100ca08f44f5)

diff --git a/configure.ac b/configure.ac
index e2afb1d..f37038d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1200,6 +1200,13 @@ if test "x$enable_gbm" = xyes; then
         if test "x$enable_shared_glapi" = xno; then
             AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
         fi
+    else
+        # Strictly speaking libgbm does not require --enable-dri, although
+        # both of its backends do. Thus one can build libgbm without any
+        # backends if --disable-dri is set.
+        # To avoid unnecessary complexity of checking if at least one backend
+        # is available when building, just mandate --enable-dri.
+        AC_MSG_ERROR([gbm requires --enable-dri])
     fi
 fi
 AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)

commit 16dfaf495a166945d11e024c5aee0b354f331727
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Fri May 9 04:24:42 2014 -0400

    radeonsi: Enable geometry shaders with LLVM 3.4.1
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    
    CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 93c2ebbd83604263fa46351a7efcde382322024b)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index 9078c6c..ce6264b 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -151,7 +151,7 @@ static void si_update_descriptors(struct si_context *sctx,
 			7 + /* copy */
 			(4 + desc->element_dw_size) * util_bitcount(desc->dirty_mask) + /* update */
 			4; /* pointer update */
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 		if (desc->shader_userdata_reg >= R_00B130_SPI_SHADER_USER_DATA_VS_0 &&
 		    desc->shader_userdata_reg < R_00B230_SPI_SHADER_USER_DATA_GS_0)
 			desc->atom.num_dw += 4; /* second pointer update */
@@ -176,7 +176,7 @@ static void si_emit_shader_pointer(struct si_context *sctx,
 	radeon_emit(cs, va);
 	radeon_emit(cs, va >> 32);
 
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 	if (desc->shader_userdata_reg >= R_00B130_SPI_SHADER_USER_DATA_VS_0 &&
 	    desc->shader_userdata_reg < R_00B230_SPI_SHADER_USER_DATA_GS_0) {
 		radeon_emit(cs, PKT3(PKT3_SET_SH_REG, 2, 0));
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index c0eb9c2..bb16611 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -269,7 +269,7 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
 		return 256;
 
 	case PIPE_CAP_GLSL_FEATURE_LEVEL:
-		return HAVE_LLVM >= 0x0305 ? 330 : 140;
+		return (LLVM_SUPPORTS_GEOM_SHADERS) ? 330 : 140;
 
 	case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT:
 		return 1;
@@ -349,7 +349,7 @@ static int si_get_shader_param(struct pipe_screen* pscreen, unsigned shader, enu
 	case PIPE_SHADER_VERTEX:
 		break;
 	case PIPE_SHADER_GEOMETRY:
-#if HAVE_LLVM < 0x0305
+#if !(LLVM_SUPPORTS_GEOM_SHADERS)
 		return 0;
 #endif
 		break;
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index f97feb0..6438980 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -39,6 +39,10 @@
 
 #define SI_MAX_DRAW_CS_DWORDS 18
 
+#define LLVM_SUPPORTS_GEOM_SHADERS \
+	((HAVE_LLVM >= 0x0305) || \
+	(HAVE_LLVM == 0x0304 && LLVM_VERSION_PATCH >= 1))
+
 struct si_pipe_compute;
 
 struct si_screen {
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 5020547..2489ab9 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2307,7 +2307,7 @@ static void *si_create_fs_state(struct pipe_context *ctx,
 	return si_create_shader_state(ctx, state, PIPE_SHADER_FRAGMENT);
 }
 
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 
 static void *si_create_gs_state(struct pipe_context *ctx,
 				const struct pipe_shader_state *state)
@@ -2337,7 +2337,7 @@ static void si_bind_vs_shader(struct pipe_context *ctx, void *state)
 	sctx->vs_shader = sel;
 }
 
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 
 static void si_bind_gs_shader(struct pipe_context *ctx, void *state)
 {
@@ -2396,7 +2396,7 @@ static void si_delete_vs_shader(struct pipe_context *ctx, void *state)
 	si_delete_shader_selector(ctx, sel);
 }
 
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 
 static void si_delete_gs_shader(struct pipe_context *ctx, void *state)
 {
@@ -2890,7 +2890,7 @@ static void si_bind_vs_sampler_states(struct pipe_context *ctx, unsigned count,
 	si_set_sampler_states(sctx, pm4, count, states,
 			      &sctx->samplers[PIPE_SHADER_VERTEX],
 			      R_00B130_SPI_SHADER_USER_DATA_VS_0);
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 	si_set_sampler_states(sctx, pm4, count, states,
 			      &sctx->samplers[PIPE_SHADER_VERTEX],
 			      R_00B330_SPI_SHADER_USER_DATA_ES_0);
@@ -3166,7 +3166,7 @@ void si_init_state_functions(struct si_context *sctx)
 	sctx->b.b.bind_fs_state = si_bind_ps_shader;
 	sctx->b.b.delete_vs_state = si_delete_vs_shader;
 	sctx->b.b.delete_fs_state = si_delete_ps_shader;
-#if HAVE_LLVM >= 0x0305
+#if LLVM_SUPPORTS_GEOM_SHADERS
 	sctx->b.b.create_gs_state = si_create_gs_state;
 	sctx->b.b.bind_gs_state = si_bind_gs_shader;
 	sctx->b.b.delete_gs_state = si_delete_gs_shader;

commit f3eb3455c889e631ef12823d8fa5814050ef28b3
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Fri May 9 04:23:50 2014 -0400

    configure.ac: Add LLVM_VERSION_PATCH to DEFINES
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    
    CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit c5d000832579c17fdeff7ec8aaf7430d9b2e1049)
    
    Conflicts:
    	configure.ac

diff --git a/configure.ac b/configure.ac
index 430e6f3..e2afb1d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1605,6 +1605,12 @@ if test "x$enable_gallium_llvm" = xyes; then
         AC_COMPUTE_INT([LLVM_VERSION_MINOR], [LLVM_VERSION_MINOR],
             [#include "${LLVM_INCLUDEDIR}/llvm/Config/llvm-config.h"])
 
+        dnl In LLVM 3.4.1 patch level was defined in config.h and not
+        dnl llvm-config.h
+        AC_COMPUTE_INT([LLVM_VERSION_PATCH], [LLVM_VERSION_PATCH],
+            [#include "${LLVM_INCLUDEDIR}/llvm/Config/config.h"],
+            LLVM_VERSION_PATCH=0) dnl Default if LLVM_VERSION_PATCH not found
+
         if test "x${LLVM_VERSION_MAJOR}" != x; then
             LLVM_VERSION_INT="${LLVM_VERSION_MAJOR}0${LLVM_VERSION_MINOR}"
         else
@@ -1627,7 +1633,7 @@ if test "x$enable_gallium_llvm" = xyes; then
                 LLVM_COMPONENTS="${LLVM_COMPONENTS} option"
             fi
         fi
-        DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT"
+        DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DLLVM_VERSION_PATCH=$LLVM_VERSION_PATCH"
         MESA_LLVM=1
 
         dnl Check for Clang internal headers

commit 9e1eb6fb93e4505219145f92505b21a3b240a53f
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 9 07:41:41 2014 -0700

    docs: Add MD5 sums for 10.1.3
    
    Just after making the release tar files.

diff --git a/docs/relnotes/10.1.3.html b/docs/relnotes/10.1.3.html
index 7c25cac..84130cf 100644
--- a/docs/relnotes/10.1.3.html
+++ b/docs/relnotes/10.1.3.html
@@ -39,6 +39,9 @@ because compatibility contexts are not supported.
 
 <h2>MD5 checksums</h2>
 <pre>
+665fe1656aaa2c37b32042068aff92cb  MesaLib-10.1.3.tar.gz
+ba6dbe2b9cab0b4de840c996b9b6a3ad  MesaLib-10.1.3.tar.bz2
+4e6f26330a63d3c47e62ac4bdead39e8  MesaLib-10.1.3.zip
 </pre>
 
 


Reply to: