Rebased ref, commits from common ancestor:
commit 1b69ea1c6d4e66ade7ab4fa0b08d024efe9dae9c
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Fri Jun 6 22:13:36 2014 -0700

    Bump version to 10.2.1

diff --git a/VERSION b/VERSION
index 2bd6f7e..26ee5b0 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.2.0
+10.2.1

commit c2fc9fb90786cae02d589ee7242d5f5fe99bdbec
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Fri Jun 6 22:07:34 2014 -0700

    radeonsi: Fix build error introduced in 5ab9a9c
    
    While resolving conflicts in cherry picking commit d226191, I
    accidentally introduced some garbage.  Because radeonsi isn't built by
    default, the problem went unnoticed by me.
    
    Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
    Reported-by: Laurent Carlier <lordhea...@gmail.com>
    Tested-by: Laurent Carlier <lordhea...@gmail.com>

diff --git a/src/gallium/drivers/radeonsi/si_blit.c 
b/src/gallium/drivers/radeonsi/si_blit.c
index 892ee84..1dfff49 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -692,7 +692,6 @@ static bool do_hardware_msaa_resolve(struct pipe_context 
*ctx,
            !(dst->surface.flags & RADEON_SURF_SCANOUT) &&
            (!dst->cmask.size || !dst->dirty_level_mask) /* dst cannot be 
fast-cleared */) {
                si_blitter_begin(ctx, SI_COLOR_RESOLVE);
-t-cleared
                util_blitter_custom_resolve_color(sctx->blitter,
                                                  info->dst.resource, 
info->dst.level,
                                                  info->dst.box.z,

commit 28d41e409d74aabe35f1031e759179e82cb760b4
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Fri Jun 6 21:17:02 2014 -0700

    docs: Add MD5 checksum, etc. for 10.1 release
    
    Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>

diff --git a/docs/index.html b/docs/index.html
index 186bda2..5bd9601 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -16,6 +16,13 @@
 
 <h1>News</h1>
 
+<h2>June 6, 2014</h2>
+<p>
+<a href="relnotes/10.2.html">Mesa 10.2</a> is released.  This is a new
+development release.  See the release notes for more information about
+the release.
+</p>
+
 <h2>April 18, 2014</h2>
 <p>
 <a href="relnotes/10.1.1.html">Mesa 10.1.1</a> is released.
diff --git a/docs/relnotes/10.2.html b/docs/relnotes/10.2.html
index af44ca1..f17bfcc 100644
--- a/docs/relnotes/10.2.html
+++ b/docs/relnotes/10.2.html
@@ -14,7 +14,7 @@
 <iframe src="../contents.html"></iframe>
 <div class="content">
 
-<h1>Mesa 10.2 Release Notes / TBD</h1>
+<h1>Mesa 10.2 Release Notes / June 6, 2014</h1>
 
 <p>
 Mesa 10.2 is a new development release.
@@ -33,7 +33,9 @@ because compatibility contexts are not supported.
 
 <h2>MD5 checksums</h2>
 <pre>
-TBD.
+c87bfb6dd5cbcf1fdef42e5ccd972581  MesaLib-10.2.0.tar.gz
+7aaba90bd7169a94ae2fe83febdec963  MesaLib-10.2.0.tar.bz2
+58b203aca15dadc25ab4d1126db1052b  MesaLib-10.2.0.zip
 </pre>
 
 

commit f836ef63fdbb4abada29299e226eed735094736c
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Fri Jun 6 18:42:36 2014 -0700

    Bump version to 10.2 (final)
    
    Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>

diff --git a/VERSION b/VERSION
index 88242cc..2bd6f7e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.2.0-rc5
+10.2.0

commit 99b9a0973ad32882897f21bb087b7bd34a928b59
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 22:40:47 2014 -0400

    gk110/ir: fix slct emission
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 9fef8b3d811000146b989a101ad0e26ae6530fe4)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index e1b5a74..6788750 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -952,7 +952,7 @@ CodeEmitterGK110::emitSLCT(const CmpInstruction *i)
       FTZ_(32);
       emitCondCode(cc, 0x33, 0xf);
    } else {
-      emitForm_21(i, 0x1a4, 0xb20);
+      emitForm_21(i, 0x1a0, 0xb20);
       emitCondCode(cc, 0x34, 0x7);
    }
 }

commit d36d53b564f5907e86ad5f5ffd837738988be4a2
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 20:33:06 2014 -0400

    gk110/ir: fix interp mode emission
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit d588a4919b732246b7aa26685ef65545929a4f7b)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index 9a8c4b9..e1b5a74 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -1326,7 +1326,8 @@ CodeEmitterGK110::emitOUT(const Instruction *i)
 void
 CodeEmitterGK110::emitInterpMode(const Instruction *i)
 {
-   code[1] |= i->ipa << 21; // TODO: INTERP_SAMPLEID
+   code[1] |= (i->ipa & 0x3) << 21; // TODO: INTERP_SAMPLEID
+   code[1] |= (i->ipa & 0xc) << (19 - 2);
 }
 
 void

commit 283cd12933ae4d38a15f789b9e6b513c474fd080
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 15:36:27 2014 -0400

    nvc0: don't bother trying to set up compute for gk110+
    
    The nouveau fw currently prints a bunch of errors. No point in seeing
    those all the time, esp since compute doesn't really work in the first
    place.
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Reviewed-by: Ben Skeggs <bske...@redhat.com>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    
    Conflicts:
        src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
    (cherry picked from commit ca65fc418f756496d480a9a4566543837a582826)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 8f9493c..58d3e1b 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -171,7 +171,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
    case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY:
       return 0;
    case PIPE_CAP_COMPUTE:
-      return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
+      return (class_3d == NVE4_3D_CLASS) ? 1 : 0;
    case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
       return 1;
    case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK:
@@ -211,7 +211,7 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, 
unsigned shader,
    case PIPE_SHADER_FRAGMENT:
       break;
    case PIPE_SHADER_COMPUTE:
-      if (class_3d < NVE4_3D_CLASS)
+      if (class_3d != NVE4_3D_CLASS)
          return 0;
       break;
    default:
@@ -514,9 +514,10 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
          return nvc0_screen_compute_setup(screen, screen->base.pushbuf);
       return 0;
    case 0xe0:
+      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
    case 0xf0:
    case 0x100:
-      return nve4_screen_compute_setup(screen, screen->base.pushbuf);
+      return 0;
    default:
       return -1;
    }

commit aa8ea648f4995d4752a42e4ef5d4d9874a2db806
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 15:29:57 2014 -0400

    gk110: add in forgotten code for gk110 isa
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Reviewed-by: Ben Skeggs <bske...@redhat.com>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    
    Conflicts:
        src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
    (cherry picked from commit b9ec766bd02d55c20ff7ce5b95207ea7f6ed1de5)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c 
b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
index e15806e..1189b0d 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
@@ -543,9 +543,22 @@ nvc0_blitter_make_vp(struct nvc0_blitter *blit)
       0x03f01c46, 0x0a7e0080, /* export b96 o[0x80] $r0:$r1:$r2 */
       0x00001de7, 0x80000000, /* exit */
    };
+   static const uint32_t code_gk110[] =
+   {
+      0x00000000, 0x08000000, /* sched */
+      0x401ffc12, 0x7ec7fc00, /* ld b64 $r4d a[0x80] 0x0 0x0 */
+      0x481ffc02, 0x7ecbfc00, /* ld b96 $r0t a[0x90] 0x0 0x0 */
+      0x381ffc12, 0x7f07fc00, /* st b64 a[0x70] $r4d 0x0 0x0 */
+      0x401ffc02, 0x7f0bfc00, /* st b96 a[0x80] $r0t 0x0 0x0 */
+      0x001c003c, 0x18000000, /* exit */
+   };
 
    blit->vp.type = PIPE_SHADER_VERTEX;
    blit->vp.translated = TRUE;
+   if (blit->screen->base.class_3d >= NVF0_3D_CLASS) {
+      blit->vp.code = (uint32_t *)code_gk110; /* const_cast */
+      blit->vp.code_size = sizeof(code_gk110);
+   } else
    if (blit->screen->base.class_3d >= NVE4_3D_CLASS) {
       blit->vp.code = (uint32_t *)code_nve4; /* const_cast */
       blit->vp.code_size = sizeof(code_nve4);

commit e901f407646a1852be5e6e82b19ee69be60ec1ae
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 19:52:49 2014 -0400

    gk110/ir: fix ISAD emission with register args
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit ed1b9e5721f6c7a74e042eadb31fc5dcb2fc3552)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index 0941603..9a8c4b9 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -633,7 +633,7 @@ CodeEmitterGK110::emitISAD(const Instruction *i)
 {
    assert(i->dType == TYPE_S32 || i->dType == TYPE_U32);
 
-   emitForm_21(i, 0x1fc, 0xb74);
+   emitForm_21(i, 0x1f4, 0xb74);
 
    if (i->dType == TYPE_S32)
       code[1] |= 1 << 19;

commit d5e47ee66b08b7be8d7e98f24448dddcb9c7cd2a
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 19:27:28 2014 -0400

    gk110/ir: fix quadon opcode emission
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 6e046508a17b7eee24285e94f144a42ded3ebcdc)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index d566c99..0941603 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -1204,7 +1204,7 @@ CodeEmitterGK110::emitFlow(const Instruction *i)
    case OP_PRECONT:  code[1] = 0x15800000; mask = 2; break;
    case OP_PRERET:   code[1] = 0x13800000; mask = 2; break;
 
-   case OP_QUADON:  code[1] = 0x1b000000; mask = 0; break;
+   case OP_QUADON:  code[1] = 0x1b800000; mask = 0; break;
    case OP_QUADPOP: code[1] = 0x1c000000; mask = 0; break;
    case OP_BRKPT:   code[1] = 0x00000000; mask = 0; break;
    default:

commit 932a5dadda725db77b05e9da2bdae29df95fe099
Author: Ilia Mirkin <imir...@alum.mit.edu>
Date:   Fri Jun 6 15:29:21 2014 -0400

    gk110/ir: emit texbar the same way that the blob does
    
    Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
    Reviewed-by: Ben Skeggs <bske...@redhat.com>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 73eec47ef81954f7c2bf7c8bf03b300d11d05b82)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index b8d0d3e..d566c99 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -967,7 +967,7 @@ void CodeEmitterGK110::emitSELP(const Instruction *i)
 
 void CodeEmitterGK110::emitTEXBAR(const Instruction *i)
 {
-   code[0] = 0x00000002 | (i->subOp << 23);
+   code[0] = 0x0000003e | (i->subOp << 23);
    code[1] = 0x77000000;
 
    emitPredicate(i);

commit 203bc289a0aa7e78eaa8ea40ed7dcb84dc4d87b2
Author: Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de>
Date:   Wed Jun 4 00:35:47 2014 +0200

    nv50/ir: clear subop when folding constant expressions
    
    Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF) might have a subop set.
    After folding, make sure that it is cleared
    
    Signed-off-by: Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de>
    Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>
    Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 3164bfc73418e2e046c7a750eaac8a6d66dfe02d)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
index 31f8558..6e5b66c 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
@@ -563,6 +563,7 @@ ConstantFolding::expr(Instruction *i,
    } else {
       i->op = i->saturate ? OP_SAT : OP_MOV; /* SAT handled by unary() */
    }
+   i->subOp = 0;
 }
 
 void

commit 11b3011805a5f1d59ea8a025313d109bf25f50c4
Author: Kenneth Graunke <kenn...@whitecape.org>
Date:   Wed May 28 23:31:48 2014 -0700

    i965: Support GL_CLAMP natively on Broadwell.
    
    The new hardware actually supports this OpenGL 1.x feature natively,
    so we can finally drop our shader workarounds.
    
    Not many applications use GL_CLAMP, and most use it unintentionally, but
    it's trivial to do right, so we should.
    
    Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Matt Turner <matts...@gmail.com>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 221169693bf1dfdaf46dddc1df318cee992237aa)

diff --git a/src/mesa/drivers/dri/i965/brw_defines.h 
b/src/mesa/drivers/dri/i965/brw_defines.h
index ed8efca..3afd399 100644
--- a/src/mesa/drivers/dri/i965/brw_defines.h
+++ b/src/mesa/drivers/dri/i965/brw_defines.h
@@ -606,6 +606,7 @@
 #define BRW_TEXCOORDMODE_CUBE            3
 #define BRW_TEXCOORDMODE_CLAMP_BORDER    4
 #define BRW_TEXCOORDMODE_MIRROR_ONCE     5
+#define GEN8_TEXCOORDMODE_HALF_BORDER    6
 
 #define BRW_THREAD_PRIORITY_NORMAL   0
 #define BRW_THREAD_PRIORITY_HIGH     1
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c 
b/src/mesa/drivers/dri/i965/brw_wm.c
index 8530f4f..fecd4fc 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -352,7 +352,8 @@ brw_populate_sampler_prog_key_data(struct gl_context *ctx,
          if (alpha_depth || (brw->gen < 8 && !brw->is_haswell))
             key->swizzles[s] = brw_get_texture_swizzle(ctx, t);
 
-        if (sampler->MinFilter != GL_NEAREST &&
+        if (brw->gen < 8 &&
+             sampler->MinFilter != GL_NEAREST &&
             sampler->MagFilter != GL_NEAREST) {
            if (sampler->WrapS == GL_CLAMP)
               key->gl_clamp_mask[0] |= 1 << s;
diff --git a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c 
b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
index 6f8dde4..8a4bfea 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
@@ -55,9 +55,16 @@ translate_wrap_mode(struct brw_context *brw, GLenum wrap, 
bool using_nearest)
       /* GL_CLAMP is the weird mode where coordinates are clamped to
        * [0.0, 1.0], so linear filtering of coordinates outside of
        * [0.0, 1.0] give you half edge texel value and half border
-       * color.  The fragment shader will clamp the coordinates, and
-       * we set clamp_border here, which gets the result desired.  We
-       * just use clamp(_to_edge) for nearest, because for nearest
+       * color.
+       *
+       * Gen8+ supports this natively.
+       */
+      if (brw->gen >= 8)
+         return GEN8_TEXCOORDMODE_HALF_BORDER;
+
+      /* On Gen4-7.5, we clamp the coordinates in the fragment shader
+       * and set clamp_border here, which gets the result desired.
+       * We just use clamp(_to_edge) for nearest, because for nearest
        * clamping to 1.0 gives border color instead of the desired
        * edge texels.
        */

commit c62bc58ccedc3393433d501fec0fb30c778fd1fa
Author: Kenneth Graunke <kenn...@whitecape.org>
Date:   Wed May 28 23:37:44 2014 -0700

    i965: Pass brw to translate_wrap_mode().
    
    This lets us do generation checks.
    
    Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
    Reviewed-by: Matt Turner <matts...@gmail.com>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 7f3d64a77b9ca6d738f67c7a3dd4499cdf817d79)

diff --git a/src/mesa/drivers/dri/i965/brw_state.h 
b/src/mesa/drivers/dri/i965/brw_state.h
index dbcf7c7..c52a977 100644
--- a/src/mesa/drivers/dri/i965/brw_state.h
+++ b/src/mesa/drivers/dri/i965/brw_state.h
@@ -243,7 +243,8 @@ void gen7_upload_3dstate_so_decl_list(struct brw_context 
*brw,
 void gen8_init_vtable_surface_functions(struct brw_context *brw);
 
 /* brw_wm_sampler_state.c */
-uint32_t translate_wrap_mode(GLenum wrap, bool using_nearest);
+uint32_t translate_wrap_mode(struct brw_context *brw,
+                             GLenum wrap, bool using_nearest);
 void upload_default_color(struct brw_context *brw,
                          struct gl_sampler_object *sampler,
                          int unit,
diff --git a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c 
b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
index bbfd9e0..6f8dde4 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c
@@ -46,7 +46,7 @@
 
 
 uint32_t
-translate_wrap_mode(GLenum wrap, bool using_nearest)
+translate_wrap_mode(struct brw_context *brw, GLenum wrap, bool using_nearest)
 {
    switch( wrap ) {
    case GL_REPEAT:
@@ -276,11 +276,11 @@ static void brw_update_sampler_state(struct brw_context 
*brw,
       }
    }
 
-   sampler->ss1.r_wrap_mode = translate_wrap_mode(gl_sampler->WrapR,
+   sampler->ss1.r_wrap_mode = translate_wrap_mode(brw, gl_sampler->WrapR,
                                                  using_nearest);
-   sampler->ss1.s_wrap_mode = translate_wrap_mode(gl_sampler->WrapS,
+   sampler->ss1.s_wrap_mode = translate_wrap_mode(brw, gl_sampler->WrapS,
                                                  using_nearest);
-   sampler->ss1.t_wrap_mode = translate_wrap_mode(gl_sampler->WrapT,
+   sampler->ss1.t_wrap_mode = translate_wrap_mode(brw, gl_sampler->WrapT,
                                                  using_nearest);
 
    if (brw->gen >= 6 &&
diff --git a/src/mesa/drivers/dri/i965/gen7_sampler_state.c 
b/src/mesa/drivers/dri/i965/gen7_sampler_state.c
index 74d5e9e..6077ff2 100644
--- a/src/mesa/drivers/dri/i965/gen7_sampler_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_sampler_state.c
@@ -103,11 +103,11 @@ gen7_update_sampler_state(struct brw_context *brw, int 
unit, int ss_index,
       }
    }
 
-   sampler->ss3.r_wrap_mode = translate_wrap_mode(gl_sampler->WrapR,
+   sampler->ss3.r_wrap_mode = translate_wrap_mode(brw, gl_sampler->WrapR,
                                                  using_nearest);
-   sampler->ss3.s_wrap_mode = translate_wrap_mode(gl_sampler->WrapS,
+   sampler->ss3.s_wrap_mode = translate_wrap_mode(brw, gl_sampler->WrapS,
                                                  using_nearest);
-   sampler->ss3.t_wrap_mode = translate_wrap_mode(gl_sampler->WrapT,
+   sampler->ss3.t_wrap_mode = translate_wrap_mode(brw, gl_sampler->WrapT,
                                                  using_nearest);
 
    /* Cube-maps on 965 and later must use the same wrap mode for all 3

commit 304e80e35619c473497998ea83ae2fe3f22d3876
Author: Kenneth Graunke <kenn...@whitecape.org>
Date:   Tue May 13 07:20:02 2014 -0700

    i965: Fix copy and pasted values in Broadwell code.
    
    Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 7913b4b97bab750ffad54e53dec9bbeb56307066)

diff --git a/src/mesa/drivers/dri/i965/brw_device_info.c 
b/src/mesa/drivers/dri/i965/brw_device_info.c
index bf3c62e..f28d754 100644
--- a/src/mesa/drivers/dri/i965/brw_device_info.c
+++ b/src/mesa/drivers/dri/i965/brw_device_info.c
@@ -192,33 +192,44 @@ static const struct brw_device_info 
brw_device_info_hsw_gt3 = {
    },
 };
 
-/* Thread counts and URB limits are placeholders, and may not be accurate. */
 #define GEN8_FEATURES                               \
    .gen = 8,                                        \
    .has_hiz_and_separate_stencil = true,            \
    .must_use_separate_stencil = true,               \
    .has_llc = true,                                 \
    .has_pln = true,                                 \
-   .max_vs_threads = 280,                           \
-   .max_gs_threads = 256,                           \
-   .max_wm_threads = 408,                           \
-   .urb = {                                         \
-      .size = 128,                                  \
-      .min_vs_entries = 64,                         \
-      .max_vs_entries = 1664,                       \
-      .max_gs_entries = 640,                        \
-   }
+   .max_vs_threads = 504,                           \
+   .max_gs_threads = 504,                           \
+   .max_wm_threads = 384                            \
 
 static const struct brw_device_info brw_device_info_bdw_gt1 = {
    GEN8_FEATURES, .gt = 1,
+   .urb = {
+      .size = 192,
+      .min_vs_entries = 64,
+      .max_vs_entries = 2560,
+      .max_gs_entries = 960,
+   }
 };
 
 static const struct brw_device_info brw_device_info_bdw_gt2 = {
    GEN8_FEATURES, .gt = 2,
+   .urb = {
+      .size = 384,
+      .min_vs_entries = 64,
+      .max_vs_entries = 2560,
+      .max_gs_entries = 960,
+   }
 };
 
 static const struct brw_device_info brw_device_info_bdw_gt3 = {
    GEN8_FEATURES, .gt = 3,
+   .urb = {
+      .size = 384,
+      .min_vs_entries = 64,
+      .max_vs_entries = 2560,
+      .max_gs_entries = 960,
+   }
 };
 
 /* Thread counts and URB limits are placeholders, and may not be accurate.

commit f4aca6868a14882fcc8a2b30205fc0d3eff0e90f
Author: Sinclair Yeh <sinclair....@intel.com>
Date:   Tue Jun 3 14:00:13 2014 -0700

    egl: Check for NULL native_window in eglCreateWindowSurface
    
    We have customers using NULL as a way to test the robustness of the API.
    Without this check, EGL will segfault trying to dereference
    dri2_surf->wl_win->private because wl_win is NULL.
    
    This fix adds a check and sets EGL_BAD_NATIVE_WINDOW
    
    v2: Incorporated feedback from idr - moved the check to a higher level
    function.
    
    Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
    Reviewed-by: Chad Versace <chad.vers...@linux.intel.com>
    Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 91ff0d4c6510dc38f279c586ced17fba917873e7)

diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index b946d81..25453f4 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -571,6 +571,10 @@ _eglCreateWindowSurfaceCommon(_EGLDisplay *disp, EGLConfig 
config,
    EGLSurface ret;
 
    _EGL_CHECK_CONFIG(disp, conf, EGL_NO_SURFACE, drv);
+
+   if (native_window == NULL)
+      RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
+
    surf = drv->API.CreateWindowSurface(drv, disp, conf, native_window,
                                        attrib_list);
    ret = (surf) ? _eglLinkSurface(surf) : EGL_NO_SURFACE;

commit 5ab9a9c0ccff8218e9625f43a25535cf7d1d8ae0
Author: Marek Olšák <marek.ol...@amd.com>
Date:   Mon Jun 2 13:51:29 2014 +0200

    r600g,radeonsi: don't use hardware MSAA resolve if dst is fast-cleared
    
    It doesn't work and our docs say so too.
    
    Cc: mesa-sta...@lists.freedesktop.org
    Reviewed-by: Michel Dänzer <michel.daen...@amd.com>
    (cherry picked from commit d2261918202697febed0de18f66416e273001088)

diff --git a/src/gallium/drivers/r600/r600_blit.c 
b/src/gallium/drivers/r600/r600_blit.c
index 1a2a911..bbc64ac 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -789,7 +789,8 @@ static bool do_hardware_msaa_resolve(struct pipe_context 
*ctx,
            info->src.box.width == dst_width &&
            info->src.box.height == dst_height &&
            info->src.box.depth == 1 &&
-           dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D) {
+           dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D &&
+           (!dst->cmask.size || !dst->dirty_level_mask) /* dst cannot be 
fast-cleared */) {
                r600_blitter_begin(ctx, R600_COLOR_RESOLVE);
                util_blitter_custom_resolve_color(rctx->blitter,
                                                  info->dst.resource, 
info->dst.level,
diff --git a/src/gallium/drivers/radeonsi/si_blit.c 
b/src/gallium/drivers/radeonsi/si_blit.c
index 6bc89ab..892ee84 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -689,8 +689,10 @@ static bool do_hardware_msaa_resolve(struct pipe_context 
*ctx,
            info->src.box.height == dst_height &&
            info->src.box.depth == 1 &&
            dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D &&
-           !(dst->surface.flags & RADEON_SURF_SCANOUT)) {
+           !(dst->surface.flags & RADEON_SURF_SCANOUT) &&
+           (!dst->cmask.size || !dst->dirty_level_mask) /* dst cannot be 
fast-cleared */) {
                si_blitter_begin(ctx, SI_COLOR_RESOLVE);
+t-cleared
                util_blitter_custom_resolve_color(sctx->blitter,
                                                  info->dst.resource, 
info->dst.level,
                                                  info->dst.box.z,

commit ae16f443c21e4a4eede003a3a789dc8a58c43ea4
Author: Marek Olšák <marek.ol...@amd.com>
Date:   Mon Jun 2 15:45:51 2014 +0200

    r600g,radeonsi: disable fast clear if render condition is on
    
    For some reason, CP DMA doesn't follow the predicate bit if I enable it,
    so this is the only option.
    
    This fixes piglit: spec/NV_conditional_render/clear
    
    Cc: mesa-sta...@lists.freedesktop.org
    Reviewed-by: Michel Dänzer <michel.daen...@amd.com>
    (cherry picked from commit bf701a84eb000910015a3c3ee9860141cde4990d)

diff --git a/src/gallium/drivers/radeon/r600_texture.c 
b/src/gallium/drivers/radeon/r600_texture.c
index e30d933..3a37465 100644
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -1235,6 +1235,9 @@ void evergreen_do_fast_color_clear(struct 
r600_common_context *rctx,
 {
        int i;
 
+       if (rctx->current_render_cond)
+               return;
+
        for (i = 0; i < fb->nr_cbufs; i++) {
                struct r600_texture *tex;
                unsigned clear_bit = PIPE_CLEAR_COLOR0 << i;

commit b8241bb3f259b8d42f75f6fd6d1a7ea7c59d70e2
Author: José Fonseca <jfons...@vmware.com>
Date:   Sun Jun 1 20:50:17 2014 +0100

    mesa: Make glGetIntegerv(GL_*_ARRAY_SIZE) return GL_BGRA.
    
    Same as b026b6bbfe3f15c8a7296ac107dc3d31f74e401e, but
    COLOR_ARRAY_SIZE/SECONDARY_COLOR_ARRAY_SIZE.
    
    Ideally we wouldn't munge the incoming state, so that we wouldn't need
    to unmunge it back on glGet*.  But the array size state is copied and
    referred in many places, many of which couldn't take an GLenum like
    GL_BGRA instead of a plain integer.  So just hack around on glGet*,
    to ensure there is no risk of introducing regressions elsewhere.
    
    This bug causes problems to Apitrace, resulting in wrong traces.  See
    https://github.com/apitrace/apitrace/issues/261 for details.
    
    Tested with piglit arb_vertex_array_bgra-get, which was created for this
    purpose.
    
    Reviewed-by: Matt Turner <matts...@gmail.com>
    Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
    Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit e3e13d6b857b3083e2553457fe30ddfd4eddead4)

diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 80a5839..267b5f2 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -847,6 +847,16 @@ find_custom_value(struct gl_context *ctx, const struct 
value_desc *d, union valu
       v->value_int = ctx->Array.VAO->IndexBufferObj->Name;
       break;
 
+   /* ARB_vertex_array_bgra */
+   case GL_COLOR_ARRAY_SIZE:
+      array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_COLOR0];
+      v->value_int = array->Format == GL_BGRA ? GL_BGRA : array->Size;
+      break;
+   case GL_SECONDARY_COLOR_ARRAY_SIZE:
+      array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_COLOR1];
+      v->value_int = array->Format == GL_BGRA ? GL_BGRA : array->Size;
+      break;
+
    /* ARB_copy_buffer */
    case GL_COPY_READ_BUFFER:
       v->value_int = ctx->CopyReadBuffer->Name;
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index d40fa07..c7a6e02 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -199,7 +199,7 @@ descriptor=[
   [ "NORMAL_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_NORMAL].Type), 
NO_EXTRA" ],
   [ "NORMAL_ARRAY_STRIDE", 
"ARRAY_INT(VertexAttrib[VERT_ATTRIB_NORMAL].Stride), NO_EXTRA" ],
   [ "COLOR_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR0].Enabled), 
NO_EXTRA" ],
-  [ "COLOR_ARRAY_SIZE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR0].Size), 
NO_EXTRA" ],
+  [ "COLOR_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
   [ "COLOR_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR0].Type), 
NO_EXTRA" ],
   [ "COLOR_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR0].Stride), 
NO_EXTRA" ],
   [ "TEXTURE_COORD_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, offsetof(struct 
gl_client_array, Enabled), NO_EXTRA" ],
@@ -552,7 +552,7 @@ descriptor=[
   [ "SECONDARY_COLOR_ARRAY", 
"ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR1].Enabled), NO_EXTRA" ],
   [ "SECONDARY_COLOR_ARRAY_TYPE", 
"ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR1].Type), NO_EXTRA" ],
   [ "SECONDARY_COLOR_ARRAY_STRIDE", 
"ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR1].Stride), NO_EXTRA" ],
-  [ "SECONDARY_COLOR_ARRAY_SIZE", 
"ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR1].Size), NO_EXTRA" ],
+  [ "SECONDARY_COLOR_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
 
 # GL_EXT_fog_coord
   [ "CURRENT_FOG_COORDINATE", 
"CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_FOG][0]), extra_flush_current" ],

commit 224c193237311405c7e5275a6a53ee8131ac9215
Author: José Fonseca <jfons...@vmware.com>
Date:   Sun Jun 1 08:54:18 2014 +0100

    mesa/main: Make get_hash.c values constant.
    
    Reviewed-by: Matt Turner <matts...@gmail.com>
    Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
    Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 53468dee0359a4ec3c9edd334656de0ddc47e477)

diff --git a/src/mesa/main/get_hash_generator.py 
b/src/mesa/main/get_hash_generator.py
index 96bc495..b200d19 100644
--- a/src/mesa/main/get_hash_generator.py
+++ b/src/mesa/main/get_hash_generator.py
@@ -52,7 +52,7 @@ def print_header():
           (prime_factor, prime_step)
 
 def print_params(params):
-   print "static struct value_desc values[] = {"
+   print "static const struct value_desc values[] = {"
    for p in params:
       print "    { %s, %s }," % (p[0], p[1])
 

commit 494f91612550734d718e4e5120d315a8c3d6a41d
Author: Beren Minor <beren.mi...@gmail.com>
Date:   Thu Mar 20 08:36:34 2014 +0100

    egl/main: Fix eglMakeCurrent when releasing context from current thread.
    
    EGL 1.4 Specification says that
    eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT)
    can be used to release the current thread's ownership on the surfaces
    and context.
    
    MESA's egl implementation was only accepting the parameters when the
    KHR_surfaceless_context extension is supported.
    
    [chadv] Add quote from the EGL 1.4 spec.
    Cc: "10,1, 10.2" <mesa-sta...@lists.freedesktop.org>
    Reviewed-by: Chad Versace <chad.vers...@linux.intel.com>
    (cherry picked from commit 0ca0d5743fb42a956289a87efd4c8fcda88cf93a)

diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index 219d8e6..b946d81 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -524,8 +524,12 @@ eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface 
read,
    if (!context && ctx != EGL_NO_CONTEXT)
       RETURN_EGL_ERROR(disp, EGL_BAD_CONTEXT, EGL_FALSE);
    if (!draw_surf || !read_surf) {
-      /* surfaces may be NULL if surfaceless */
-      if (!disp->Extensions.KHR_surfaceless_context)
+      /* From the EGL 1.4 (20130211) spec:
+       *
+       *    To release the current context without assigning a new one, set ctx
+       *    to EGL_NO_CONTEXT and set draw and read to EGL_NO_SURFACE.
+       */
+      if (!disp->Extensions.KHR_surfaceless_context && ctx != EGL_NO_CONTEXT)
          RETURN_EGL_ERROR(disp, EGL_BAD_SURFACE, EGL_FALSE);
 
       if ((!draw_surf && draw != EGL_NO_SURFACE) ||

commit 767bc0530946adfb07cc769497a8db3a74f34894
Author: Marek Olšák <marek.ol...@amd.com>
Date:   Mon Jun 2 12:51:09 2014 +0200

    Revert "glx: load dri driver with RTLD_LOCAL so dlclose never fails to 
unload"
    
    This reverts commit e3cc0d90e14e62a0a787b6c07a6df0f5c84039be.
    
    It breaks too many apps and completely breaks my desktop too.
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79469
    
    We'll probably need to re-release all stable versions after this is 
committed.
    
    Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 0d5ec2c615784929be095951f9269773a790a2dd)

diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
index e5a3f70..8bf4705 100644
--- a/src/glx/dri_common.c
+++ b/src/glx/dri_common.c
@@ -45,8 +45,8 @@
 #ifndef RTLD_NOW
 #define RTLD_NOW 0
 #endif
-#ifndef RTLD_LOCAL
-#define RTLD_LOCAL 0
+#ifndef RTLD_GLOBAL
+#define RTLD_GLOBAL 0
 #endif
 
 _X_HIDDEN void
@@ -99,7 +99,7 @@ driOpenDriver(const char *driverName)
    int len;
 
    /* Attempt to make sure libGL symbols will be visible to the driver */
-   glhandle = dlopen("libGL.so.1", RTLD_NOW | RTLD_LOCAL);
+   glhandle = dlopen("libGL.so.1", RTLD_NOW | RTLD_GLOBAL);
 
    libPaths = NULL;
    if (geteuid() == getuid()) {
@@ -127,14 +127,14 @@ driOpenDriver(const char *driverName)
       snprintf(realDriverName, sizeof realDriverName,
                "%.*s/tls/%s_dri.so", len, p, driverName);
       InfoMessageF("OpenDriver: trying %s\n", realDriverName);
-      handle = dlopen(realDriverName, RTLD_NOW | RTLD_LOCAL);
+      handle = dlopen(realDriverName, RTLD_NOW | RTLD_GLOBAL);
 #endif
 
       if (handle == NULL) {
          snprintf(realDriverName, sizeof realDriverName,
                   "%.*s/%s_dri.so", len, p, driverName);
          InfoMessageF("OpenDriver: trying %s\n", realDriverName);
-         handle = dlopen(realDriverName, RTLD_NOW | RTLD_LOCAL);
+         handle = dlopen(realDriverName, RTLD_NOW | RTLD_GLOBAL);
       }
 
       if (handle != NULL)

commit 3aaae6056e03f45d0229ff2a0b52efb3abf0fab7
Author: Roland Scheidegger <srol...@vmware.com>
Date:   Fri May 30 00:37:17 2014 +0200

    llvmpipe: fix crash when not all attachments are populated in a fb
    
    Framebuffers can have NULL attachments since a while. llvmpipe handled
    that properly for lp_rast_shade_quads_mask but it seems the change didn't
    make it to lp_rast_shade_tile.
    This fixes piglit fbo-drawbuffers-none test (though I need to increase
    the FB_SIZE from 32 to 256 so the tris cover some tiles fully).
    https://bugs.freedesktop.org/show_bug.cgi?id=79421
    
    Cc: "10.1 10.2" <mesa-sta...@lists.freedesktop.org>
    Reviewed-by: Jose Fonseca <jfons...@vmware.com>
    (cherry picked from commit 576868140bbb1abd177e7fd122720883d773137e)

diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c 
b/src/gallium/drivers/llvmpipe/lp_rast.c
index d50ee48..f7c5b03 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -312,9 +312,15 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task,
 
          /* color buffer */
          for (i = 0; i < scene->fb.nr_cbufs; i++){
-            stride[i] = scene->cbufs[i].stride;
-            color[i] = lp_rast_get_unswizzled_color_block_pointer(task, i, 
tile_x + x,
-                                                                  tile_y + y, 
inputs->layer);
+            if (scene->fb.cbufs[i]) {
+               stride[i] = scene->cbufs[i].stride;
+               color[i] = lp_rast_get_unswizzled_color_block_pointer(task, i, 
tile_x + x,
+                                                                     tile_y + 
y, inputs->layer);
+            }
+            else {
+               stride[i] = 0;
+               color[i] = NULL;
+            }
          }
 
          /* depth buffer */

commit 8b71741222cd8e9551d3e4356f0a2bbcb1bd1251
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Fri May 30 17:01:48 2014 -0700

    Bump version to 10.2-rc5
    
    Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>

diff --git a/VERSION b/VERSION
index 01f7126..88242cc 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.2.0-rc4
+10.2.0-rc5

commit 15ec4ef0daac770ec6b57e46b3005ba9c48c501c
Author: Lubomir Rintel <lkund...@v3.sk>
Date:   Wed May 28 08:56:12 2014 +0200

    i915: add a missing NULL pointer check
    
    mesaVisual can be NULL with configless context since this commit:
    
        commit 551d459af421a2eb937e9e16301bb64da4624f89
        Author: Neil Roberts <n...@linux.intel.com>
        Date:   Fri Mar 7 18:05:47 2014 +0000
    
        Add the EGL_MESA_configless_context extension
    ...
        Previously the i965 and i915 drivers were explicitly creating a zeroed 
visual
        whenever 0 is passed for the EGLConfig.
    
    We attempt to dereference the visual in i915 and now we don't create a
    zeroed-out one one it crashes, breaking at least weston in an i915. There's
    no point in doing so as it would be zero anyway.
    
    v2: Fixed a typo in commit message.  Added some tags.
    
    Signed-off-by: Lubomir Rintel <lkund...@v3.sk>
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1100967
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
    (cherry picked from commit 90b5747856dd116e1a7e0fd4a93781400f276c3e)

diff --git a/src/mesa/drivers/dri/i915/intel_context.c 
b/src/mesa/drivers/dri/i915/intel_context.c
index a6057d3..09fe371 100644
--- a/src/mesa/drivers/dri/i915/intel_context.c
+++ b/src/mesa/drivers/dri/i915/intel_context.c
@@ -507,7 +507,7 @@ intelInitContext(struct intel_context *intel,
 
    _mesa_meta_init(ctx);
 
-   intel->hw_stencil = mesaVis->stencilBits && mesaVis->depthBits == 24;
+   intel->hw_stencil = mesaVis && mesaVis->stencilBits && mesaVis->depthBits 
== 24;
    intel->hw_stipple = 1;
 
    intel->RenderIndex = ~0;

commit 9fde5670e2c908c01807ab6daba92579bb6f47b9
Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Fri May 30 13:55:28 2014 -0700

    glapi: Duplicate GLES1 prototypes in glapi_dispatch.c
    
    These prototypes are necessary because GLES1 library builds will create
    dispatch functions for them.  We can't directly include GLES/gl.h
    because it would conflict the previously-included GL/gl.h.  Since GLES1
    ABI is not expected to every add more functions, the path of least
    resistance is to just duplicate the prototypes for the functions that
    aren't already in desktop OpenGL.
    
    Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79294
    Acked-by: Matt Turner <matts...@gmail.com>
    Tested-by: Andreas Boll <andreas.boll....@gmail.com>
    Cc: "10.2" <mesa-sta...@lists.freedesktop.org>
    (cherry picked from commit 7b1aeec9cd8c9b790d452eaf769ccbce51627908)

diff --git a/src/mapi/glapi/glapi_dispatch.c b/src/mapi/glapi/glapi_dispatch.c
index b4c8c77..d2dd965 100644
--- a/src/mapi/glapi/glapi_dispatch.c
+++ b/src/mapi/glapi/glapi_dispatch.c
@@ -87,6 +87,63 @@
 /* those link to libglapi.a should provide the entry points */
 #define _GLAPI_SKIP_PROTO_ENTRY_POINTS
 #endif
+
+/* These prototypes are necessary because GLES1 library builds will create
+ * dispatch functions for them.  We can't directly include GLES/gl.h because
+ * it would conflict the previously-included GL/gl.h.  Since GLES1 ABI is not
+ * expected to every add more functions, the path of least resistance is to


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1wz1fu-0008mb...@moszumanska.debian.org

Reply via email to