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

mesa: Changes to 'ubuntu+1'



 0 files changed

New commits:
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>
 
 

commit 0028eb1083e6adc110a23a5f02c993cda217067a
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 9 07:38:16 2014 -0700

    docs: Add release notes for Mesa 10.1.3.
    
    This is an emergencyt release to make a performance-regression fix available.

diff --git a/docs/relnotes/10.1.3.html b/docs/relnotes/10.1.3.html
new file mode 100644
index 0000000..7c25cac
--- /dev/null
+++ b/docs/relnotes/10.1.3.html
@@ -0,0 +1,87 @@
+<!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.3 Release Notes / (May 9, 2014)</h1>
+
+<p>
+Mesa 10.1.3 is a bug fix release which fixes bugs found since the 10.1.2 release.
+</p>
+
+<p>
+Note: Mesa 10.1.3 is being released sooner than originally scheduled to make
+available a fix for a performance rgression that was inadvertently introduced
+to Mesa 10.1.2. The performance regression is reported to make vmware
+swapbuffers fall back to software. 
+</p>
+
+<p>
+Mesa 10.1.3 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=77245";>Bug 77245</a> - Bogus GL_ARB_explicit_attrib_location layout identifier warnings</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Carl Worth (3):</p>
+<ul>
+  <li>docs: Add MD5 sums for Mesa 10.1.2</li>
+  <li>get-pick-list.sh: Require explicit "10.1" for nominating stable patches</li>
+  <li>VERSION: Update to 10.1.3</li>
+</ul>
+
+<p>Kenneth Graunke (2):</p>
+<ul>
+  <li>mesa: Fix MaxNumLayers for 1D array textures.</li>
+  <li>i965: Fix depth (array slices) computation for 1D_ARRAY render targets.</li>
+</ul>
+
+<p>Tapani Pälli (1):</p>
+<ul>
+  <li>glsl: fix bogus layout qualifier warnings</li>
+</ul>
+
+<p>Thomas Hellstrom (1):</p>
+<ul>
+  <li>st/xa: Fix performance regression introduced by commit "Cache render target surface"</li>
+</ul>
+
+
+</div>
+</body>
+</html>

commit d4c7ca04c192eaf4dba6fdb18f9efaf201e413dc
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 9 07:17:36 2014 -0700

    VERSION: Update to 10.1.3
    
    For the emergency 10.1.3 release.

diff --git a/VERSION b/VERSION
index b613254..c8d7efc 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.1.2
+10.1.3

commit e16de70a90a5a5a651e677b78f146382394c0d4b
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date:   Thu May 8 09:08:10 2014 +0200

    st/xa: Fix performance regression introduced by commit "Cache render target surface"
    
    The mentioned commit has the nasty side-effect of turning off accelerated
    copies.
    
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
    Reviewed-by: Rob Clark <robdclark@gmail.com>
    (cherry picked from commit 9306b7c171b29ac99f837e9efcd0281caf1d332e)

diff --git a/src/gallium/state_trackers/xa/xa_context.c b/src/gallium/state_trackers/xa/xa_context.c
index 71d3ddb..7fba2a7 100644
--- a/src/gallium/state_trackers/xa/xa_context.c
+++ b/src/gallium/state_trackers/xa/xa_context.c
@@ -223,7 +223,7 @@ XA_EXPORT int
 xa_copy_prepare(struct xa_context *ctx,
 		struct xa_surface *dst, struct xa_surface *src)
 {
-    if (src == dst || ctx->srf != NULL)
+    if (src == dst)
 	return -XA_ERR_INVAL;
 
     if (src->tex->format != dst->tex->format) {

commit f7b949723a1ebcc04a57f8ca5b52d340ffc04d84
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Wed May 7 14:35:43 2014 -0700

    i965: Fix depth (array slices) computation for 1D_ARRAY render targets.
    
    1D array targets store the number of slices in the Height field.
    
    Fixes Piglit's spec/!OpenGL 3.2/layered-rendering/clear-color-all-types
    1d_array single_level, at least when used with Meta clears.
    
    Cc: "10.2 10.1 10.0" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    (cherry picked from commit e6967270c75a5b669152127bb7a746d55f4407a6)

diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
index 12d0fa9..dad3b0c 100644
--- a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
@@ -452,6 +452,8 @@ gen7_update_renderbuffer_surface(struct brw_context *brw,
    const uint8_t mocs = GEN7_MOCS_L3;
    GLenum gl_target = rb->TexImage ?
                          rb->TexImage->TexObject->Target : GL_TEXTURE_2D;
+   if (gl_target == GL_TEXTURE_1D_ARRAY)
+      depth = MAX2(rb->Height, 1);
 
    uint32_t surf_index =
       brw->wm.prog_data->binding_table.render_target_start + unit;
diff --git a/src/mesa/drivers/dri/i965/gen8_surface_state.c b/src/mesa/drivers/dri/i965/gen8_surface_state.c
index 22ffa78..efadb0d 100644
--- a/src/mesa/drivers/dri/i965/gen8_surface_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_surface_state.c
@@ -266,6 +266,9 @@ gen8_update_renderbuffer_surface(struct brw_context *brw,
    GLenum gl_target =
       rb->TexImage ? rb->TexImage->TexObject->Target : GL_TEXTURE_2D;
 
+   if (gl_target == GL_TEXTURE_1D_ARRAY)
+      depth = MAX2(rb->Height, 1);
+
    uint32_t surf_index =
       brw->wm.prog_data->binding_table.render_target_start + unit;
 

commit 558c20fa95f97166c1b452d822856b48ed59f307
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Wed May 7 14:35:42 2014 -0700

    mesa: Fix MaxNumLayers for 1D array textures.
    
    1D array targets store the number of slices in the Height field.
    
    Cc: "10.2 10.1 10.0" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Brian Paul <brianp@vmware.com>
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    (cherry picked from commit 5c399ca8e4ccae509a5116b3b9f41634a7ca4322)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 42f78cc..8090a63 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1055,6 +1055,8 @@ _mesa_test_framebuffer_completeness(struct gl_context *ctx,
       if (att->Layered) {
          if (att_tex_target == GL_TEXTURE_CUBE_MAP)
             att_layer_count = 6;
+         else if (att_tex_target == GL_TEXTURE_1D_ARRAY)
+            att_layer_count = att->Renderbuffer->Height;
          else
             att_layer_count = att->Renderbuffer->Depth;
       } else {

commit 31462dc748b3c08cf7cad3df834388791a789248
Author: Tapani Pälli <tapani.palli@intel.com>
Date:   Wed Apr 30 10:56:59 2014 +0300

    glsl: fix bogus layout qualifier warnings
    
    Print out GL_ARB_explicit_attrib_location warnings only
    when parsing attribute that uses "location" qualifier.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77245
    Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
    Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit e65917f94e5fd13eb75f874fac4d77a29737e808)

diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
index f939fe8..a9d4942 100644
--- a/src/glsl/glsl_parser.yy
+++ b/src/glsl/glsl_parser.yy
@@ -1242,6 +1242,13 @@ layout_qualifier_id:
       if (match_layout_qualifier("location", $1, state) == 0) {
          $$.flags.q.explicit_location = 1;
 
+         if ($$.flags.q.attribute == 1 &&
+             state->ARB_explicit_attrib_location_warn) {
+            _mesa_glsl_warning(& @1, state,
+                               "GL_ARB_explicit_attrib_location layout "
+                               "identifier `%s' used", $1);
+         }
+
          if ($3 >= 0) {
             $$.location = $3;
          } else {
@@ -1298,10 +1305,6 @@ layout_qualifier_id:
          _mesa_glsl_error(& @1, state, "unrecognized layout identifier "
                           "`%s'", $1);
          YYERROR;
-      } else if (state->ARB_explicit_attrib_location_warn) {
-         _mesa_glsl_warning(& @1, state,
-                            "GL_ARB_explicit_attrib_location layout "
-                            "identifier `%s' used", $1);
       }
    }
    | interface_block_layout_qualifier

commit 994203bf5e4098da31401b86782b6037016b51d0
Author: Carl Worth <cworth@cworth.org>
Date:   Mon May 5 13:27:11 2014 -0700

    get-pick-list.sh: Require explicit "10.1" for nominating stable patches
    
    A nomination unadorned with a specific version is now interpreted as being
    aimed at the 10.2 branch, (which was recently opened).

diff --git a/bin/get-pick-list.sh b/bin/get-pick-list.sh
index 0902fd0..840f5fb 100755
--- a/bin/get-pick-list.sh
+++ b/bin/get-pick-list.sh
@@ -14,7 +14,7 @@ git log --reverse --grep="cherry picked from commit" origin/master..HEAD |\
 	sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked
 
 # Grep for commits that were marked as a candidate for the stable tree.
-git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*mesa-stable\)' HEAD..origin/master |\
+git log --reverse --pretty=%H -i --grep='^\([[:space:]]*NOTE: .*[Cc]andidate\|CC:.*10\.1.*mesa-stable\)' HEAD..origin/master |\
 while read sha
 do
 	# Check to see whether the patch is on the ignore list.

commit 08da743a97884ef8a5031f37f91a7f45ffc1a258
Author: Carl Worth <cworth@cworth.org>
Date:   Mon May 5 11:30:13 2014 -0700

    docs: Add MD5 sums for Mesa 10.1.2
    
    Immediately after creating the 10.1.2 tar files.

diff --git a/docs/relnotes/10.1.2.html b/docs/relnotes/10.1.2.html
index 035d9e6..ebc9aad 100644
--- a/docs/relnotes/10.1.2.html
+++ b/docs/relnotes/10.1.2.html
@@ -31,6 +31,9 @@ because compatibility contexts are not supported.
 
 <h2>MD5 checksums</h2>
 <pre>
+37d79f94b1f41852a89d1fc3900bea76  MesaLib-10.1.2.tar.gz
+28b60d15ac9f364da1e0155911eaf44e  MesaLib-10.1.2.tar.bz2
+05300039085a65fc53c5472c4bb5747a  MesaLib-10.1.2.zip
 </pre>
 
 

commit bde31357170e5cbf70795434e9725bb442f31137
Author: Carl Worth <cworth@cworth.org>
Date:   Mon May 5 10:53:53 2014 -0700

    docs: Add notes for the 10.1.2 release.

diff --git a/docs/relnotes/10.1.2.html b/docs/relnotes/10.1.2.html
new file mode 100644
index 0000000..035d9e6
--- /dev/null


Reply to: