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

mesa: Changes to 'debian-unstable'



 VERSION                                                                |    2 
 configure.ac                                                           |    6 
 debian/changelog                                                       |   10 
 debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff |   85 ----
 debian/patches/series                                                  |    1 
 docs/index.html                                                        |    7 
 docs/relnotes.html                                                     |    2 
 docs/relnotes/10.2.1.html                                              |   61 +++
 docs/relnotes/10.2.2.html                                              |  178 ++++++++++
 src/egl/drivers/dri2/Android.mk                                        |    4 
 src/egl/drivers/dri2/platform_android.c                                |    2 
 src/egl/main/Android.mk                                                |    5 
 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp             |    8 
 src/gallium/drivers/nouveau/nv30/nv30_context.c                        |    3 
 src/gallium/drivers/nouveau/nv30/nv30_screen.c                         |    6 
 src/gallium/drivers/nouveau/nv30/nv30_state.c                          |   17 
 src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c                       |    1 
 src/gallium/drivers/nouveau/nv50/nv50_surface.c                        |    1 
 src/gallium/drivers/radeon/radeon_video.c                              |    5 
 src/gallium/state_trackers/clover/llvm/invocation.cpp                  |   20 -
 src/gallium/targets/xa/Makefile.am                                     |    3 
 src/gallium/targets/xa/xa.sym                                          |   38 ++
 src/glx/dri2.c                                                         |   12 
 src/mesa/Android.libmesa_dricore.mk                                    |    8 
 src/mesa/Android.libmesa_glsl_utils.mk                                 |    1 
 src/mesa/Android.mesa_gen_matypes.mk                                   |    1 
 src/mesa/drivers/common/meta.c                                         |    4 
 src/mesa/drivers/common/meta_blit.c                                    |    2 
 src/mesa/drivers/dri/Android.mk                                        |    1 
 src/mesa/drivers/dri/common/Android.mk                                 |   17 
 src/mesa/drivers/dri/common/Makefile.am                                |    2 
 src/mesa/drivers/dri/common/Makefile.sources                           |    3 
 src/mesa/drivers/dri/i915/i830_texblend.c                              |    2 
 src/mesa/drivers/dri/i965/brw_context.h                                |    3 
 src/mesa/drivers/dri/i965/brw_fs.cpp                                   |    8 
 src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c                      |   18 -
 src/mesa/drivers/dri/i965/brw_vec4.cpp                                 |    3 
 src/mesa/drivers/dri/i965/gen6_clip_state.c                            |    4 
 src/mesa/drivers/dri/i965/gen7_wm_surface_state.c                      |    4 
 src/mesa/drivers/dri/i965/gen8_depth_state.c                           |   20 -
 src/mesa/drivers/dri/i965/gen8_draw_upload.c                           |    6 
 src/mesa/drivers/dri/i965/gen8_misc_state.c                            |    2 
 src/mesa/drivers/dri/i965/gen8_surface_state.c                         |    4 
 src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp                      |   16 
 src/mesa/main/clear.c                                                  |    5 
 src/mesa/main/get.c                                                    |    6 
 src/mesa/program/program.c                                             |    1 
 47 files changed, 469 insertions(+), 149 deletions(-)

New commits:
commit 577ff5714dd4a7cf4bf190512be3a591354ae108
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Wed Jul 2 18:14:24 2014 +0200

    Close bug #685328

diff --git a/debian/changelog b/debian/changelog
index 6e0cd4f..54f77cf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 mesa (10.2.2-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+    - glx: Don't crash on swap event for a Window (non-GLXWindow)
+      (Closes: #685328).
     - 01_targets-xa-limit-the-amount-of-exported-symbols.diff dropped,
       upstream
 

commit e59ab65be973ec62739dbedfef994ef9cf6e3cfb
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Wed Jul 2 18:04:43 2014 +0200

    Drop 01_targets-xa-limit-the-amount-of-exported-symbols.diff, upstream

diff --git a/debian/changelog b/debian/changelog
index c2d0646..6e0cd4f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 mesa (10.2.2-1) UNRELEASED; urgency=medium
 
   * New upstream release.
+    - 01_targets-xa-limit-the-amount-of-exported-symbols.diff dropped,
+      upstream
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 02 Jul 2014 18:00:52 +0200
 
diff --git a/debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff b/debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff
deleted file mode 100644
index ea67e12..0000000
--- a/debian/patches/01_targets-xa-limit-the-amount-of-exported-symbols.diff
+++ /dev/null
@@ -1,85 +0,0 @@
-From 891e9aa59c74843f245e21d7c3eea5c0fa01cbcc Mon Sep 17 00:00:00 2001
-From: Emil Velikov <emil.l.velikov@gmail.com>
-Date: Fri, 2 May 2014 22:02:15 +0100
-Subject: [PATCH mesa] targets/xa: limit the amount of exported symbols
-
-In the presence of LLVM the final library exports every symbol from
-the llvm namespace. Resolve this by using a version script (w/o the
-version/name tag).
-
-Considering that there are only ~35 symbols, explicitly list them
-to minimize the chances of rogue symbols sneaking in.
-
-v2: Conditionally include the version-script.
-
-Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> (v1)
-Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-(cherry picked from commit a75baba2f14a2bcdaf640aeef86d67b41bb2a76f)
-Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>
----
- src/gallium/targets/xa/Makefile.am |  3 +++
- src/gallium/targets/xa/xa.sym      | 38 ++++++++++++++++++++++++++++++++++++++
- 2 files changed, 41 insertions(+)
- create mode 100644 src/gallium/targets/xa/xa.sym
-
-diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am
-index 2619e57..b91c7f5 100644
---- a/src/gallium/targets/xa/Makefile.am
-+++ b/src/gallium/targets/xa/Makefile.am
-@@ -66,6 +66,9 @@ libxatracker_la_LDFLAGS = \
- 	$(GC_SECTIONS) \
- 	$(LD_NO_UNDEFINED)
- 
-+libxatracker_la_LDFLAGS += \
-+	-Wl,--version-script=$(top_srcdir)/src/gallium/targets/xa/xa.sym
-+
- if HAVE_MESA_LLVM
- libxatracker_la_LIBADD += $(LLVM_LIBS)
- libxatracker_la_LDFLAGS += $(LLVM_LDFLAGS)
-diff --git a/src/gallium/targets/xa/xa.sym b/src/gallium/targets/xa/xa.sym
-new file mode 100644
-index 0000000..9c7f422
---- /dev/null
-+++ b/src/gallium/targets/xa/xa.sym
-@@ -0,0 +1,38 @@
-+{
-+	global:
-+		xa_composite_allocation;
-+		xa_composite_check_accelerated;
-+		xa_composite_done;
-+		xa_composite_prepare;
-+		xa_composite_rect;
-+		xa_context_create;
-+		xa_context_default;
-+		xa_context_destroy;
-+		xa_context_flush;
-+		xa_copy;
-+		xa_copy_done;
-+		xa_copy_prepare;
-+		xa_fence_get;
-+		xa_fence_wait;
-+		xa_fence_destroy;
-+		xa_format_check_supported;
-+		xa_solid;
-+		xa_solid_done;
-+		xa_solid_prepare;
-+		xa_surface_create;
-+		xa_surface_dma;
-+		xa_surface_format;
-+		xa_surface_from_handle;
-+		xa_surface_handle;
-+		xa_surface_map;
-+		xa_surface_redefine;
-+		xa_surface_ref;
-+		xa_surface_unmap;
-+		xa_surface_unref;
-+		xa_tracker_create;
-+		xa_tracker_destroy;
-+		xa_tracker_version;
-+		xa_yuv_planar_blit;
-+	local:
-+		*;
-+};
--- 
-2.0.0
-
diff --git a/debian/patches/series b/debian/patches/series
index 06e5a17..9f0749f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
-01_targets-xa-limit-the-amount-of-exported-symbols.diff
 07_gallium-fix-build-failure-on-powerpcspe.diff

commit f2fd904958537050399b2d8c151b4029712bfa27
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Wed Jul 2 18:01:37 2014 +0200

    New upstream release.

diff --git a/debian/changelog b/debian/changelog
index 54ed0a6..c2d0646 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mesa (10.2.2-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Wed, 02 Jul 2014 18:00:52 +0200
+
 mesa (10.2.1-2) unstable; urgency=medium
 
   * Upload to unstable.

commit 623e68fb1ba75063f6bccfc17048fffb4ef3acf1
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Jun 24 21:30:02 2014 -0700

    docs: Add release notes for 10.2.2 release
    
    Which is ready to go.

diff --git a/docs/relnotes/10.2.2.html b/docs/relnotes/10.2.2.html
new file mode 100644
index 0000000..ebc0b35
--- /dev/null
+++ b/docs/relnotes/10.2.2.html
@@ -0,0 +1,178 @@
+<!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.2.2 Release Notes / June 24, 2014</h1>
+
+<p>
+Mesa 10.2.2 is a bug fix release which fixes bugs found since the 10.2.1 release.
+</p>
+<p>
+Mesa 10.2.2 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>SHA256 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=54372";>Bug 54372</a> - GLX_INTEL_swap_event crashes driver when swapping window buffers</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66452";>Bug 66452</a> - JUNIPER UVD accelerated playback of WMV3 streams does not work</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74005";>Bug 74005</a> - [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77865";>Bug 77865</a> - [BDW] Many Ogles3conform framebuffer_blit cases fail</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78581";>Bug 78581</a> - OpenCL: clBuildProgram prints error messages directly rather than storing them</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79029";>Bug 79029</a> - INTEL_DEBUG=shader_time is full of lies</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79729";>Bug 79729</a> - [i965] glClear on a multisample texture doesn't work</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79907";>Bug 79907</a> - Mesa 10.2.1 --enable-vdpau default=auto broken</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80115";>Bug 80115</a> - MESA_META_DRAW_BUFFERS induced GL_INVALID_VALUE errors</li>
+
+</ul>
+
+
+<h2>Changes</h2>
+
+<p>Adrian Negreanu (8):</p>
+<ul>
+  <li>add megadriver_stub_FILES</li>
+  <li>android: adapt to the megadriver mechanism</li>
+  <li>android: add libloader to libGLES_mesa and libmesa_egl_dri2</li>
+  <li>android: add src/gallium/auxiliary as include path for libmesa_dricore</li>
+  <li>android, egl: add correct drm include for libmesa_egl_dri2</li>
+  <li>android, egl: typo dri2_fallback_pixmap_surface -&gt; dri2_fallback_create_pixmap_surface</li>
+  <li>android, mesa_gen_matypes: pull in timespec POSIX definition</li>
+  <li>android, dricore: undefined reference to _mesa_streaming_load_memcpy</li>
+</ul>
+
+<p>Carl Worth (1):</p>
+<ul>
+  <li>Update VERSION to 10.2.2</li>
+</ul>
+
+<p>Daniel Manjarres (1):</p>
+<ul>
+  <li>glx: Don't crash on swap event for a Window (non-GLXWindow)</li>
+</ul>
+
+<p>Emil Velikov (3):</p>
+<ul>
+  <li>targets/xa: limit the amount of exported symbols</li>
+  <li>configure: error out when building opencl without LLVM</li>
+  <li>configure: correctly autodetect xvmc/vdpau/omx</li>
+</ul>
+
+<p>Grigori Goronzy (1):</p>
+<ul>
+  <li>radeon/uvd: disable VC-1 simple/main on UVD 2.x</li>
+</ul>
+
+<p>Iago Toral Quiroga (1):</p>
+<ul>
+  <li>mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.</li>
+</ul>
+
+<p>Ian Romanick (3):</p>
+<ul>
+  <li>docs: Add initial 10.2.1 release notes</li>
+  <li>docs: Add MD5 checksum, etc. for 10.2.1 release</li>
+  <li>meta: Respect the driver's maximum number of draw buffers</li>
+</ul>
+
+<p>Ilia Mirkin (7):</p>
+<ul>
+  <li>gk110/ir: emit saturate flag on fadd when needed</li>
+  <li>gk110/ir: fix emitting constbuf file index</li>
+  <li>gk110/ir: fix bfind emission</li>
+  <li>nv50: make sure to mark first scissor dirty after blit</li>
+  <li>nv30: plug some memory leaks on screen destroy and shader compile</li>
+  <li>nv30: avoid dangling references to deleted contexts</li>
+  <li>nv30: hack to avoid errors on unexpected color/zeta combinations</li>
+</ul>
+
+<p>Jason Ekstrand (1):</p>
+<ul>
+  <li>meta_blit: properly compute texture width for the CopyTexSubImage fallback</li>
+</ul>
+
+<p>José Fonseca (1):</p>
+<ul>
+  <li>mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).</li>
+</ul>
+
+<p>Kenneth Graunke (9):</p>
+<ul>
+  <li>i965: Don't use the head sentinel as an fs_inst in Gen4 workaround code.</li>
+  <li>i965: Invalidate live intervals when inserting Gen4 SEND workarounds.</li>
+  <li>i965/vec4: Fix dead code elimination for VGRFs of size &gt; 1.</li>
+  <li>i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.</li>
+  <li>i965: Drop Broadwell perf_debugs about missing MOCS that aren't missing.</li>
+  <li>i965: Add missing newlines to a few perf_debug messages.</li>
+  <li>i965/vec4: Use the sampler for pull constant loads on Broadwell.</li>
+  <li>i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.</li>
+  <li>i965: Save meta stencil blit programs in the context.</li>
+</ul>
+
+<p>Kristian Høgsberg (1):</p>
+<ul>
+  <li>mesa: Remove glClear optimization based on drawable size</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+  <li>configure: Only check for OpenCL without LLVM when the latter is certain</li>
+</ul>
+
+<p>Neil Roberts (1):</p>
+<ul>
+  <li>i965: Set the fast clear color value for texture surfaces</li>
+</ul>
+
+<p>Tom Stellard (2):</p>
+<ul>
+  <li>clover: Prevent Clang from printing number of errors and warnings to stderr.</li>
+  <li>clover: Don't use llvm's global context</li>
+</ul>
+
+<p>Ville Syrjälä (1):</p>
+<ul>
+  <li>i915: Fix gen2 texblend setup</li>
+</ul>
+
+
+</div>
+</body>
+</html>

commit a9750ff7b58409fc55092160b6706fbfa6564fda
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Jun 24 21:26:25 2014 -0700

    Update VERSION to 10.2.2
    
    In preparation for the 10.2.2 release.

diff --git a/VERSION b/VERSION
index 26ee5b0..68e8fce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-10.2.1
+10.2.2

commit 274be620a8be7786e0ab11fda9e47a04ca5e9efc
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Mon Jun 16 20:54:32 2014 +0300

    i915: Fix gen2 texblend setup
    
    Fix an off by one in the texture unit walk during texblend
    setup on gen2. This caused the last enabled texunit to be
    skipped resulting in totally messed up texturing.
    
    This is a regression introduced here:
     commit 1ad443ecdd694dd9bf3c4a5050d749fb80db6fa2
     Author: Eric Anholt <eric@anholt.net>
     Date:   Wed Apr 23 15:35:27 2014 -0700
    
        i915: Redo texture unit walking on i830.
    
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    (cherry picked from commit ca55a1aaa78a79ed0bc4b2410d4a8b52ef05c5b2)

diff --git a/src/mesa/drivers/dri/i915/i830_texblend.c b/src/mesa/drivers/dri/i915/i830_texblend.c
index 6e991c4..236be59 100644
--- a/src/mesa/drivers/dri/i915/i830_texblend.c
+++ b/src/mesa/drivers/dri/i915/i830_texblend.c
@@ -445,7 +445,7 @@ i830EmitTextureBlend(struct i830_context *i830)
    I830_ACTIVESTATE(i830, I830_UPLOAD_TEXBLEND_ALL, false);
 
    if (ctx->Texture._MaxEnabledTexImageUnit != -1) {
-      for (unit = 0; unit < ctx->Texture._MaxEnabledTexImageUnit; unit++)
+      for (unit = 0; unit <= ctx->Texture._MaxEnabledTexImageUnit; unit++)
          if (ctx->Texture.Unit[unit]._Current)
             emit_texblend(i830, unit, blendunit++,
                           unit == ctx->Texture._MaxEnabledTexImageUnit);

commit 5751b661add600c520ece327c1198b179efbb731
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Wed Jun 18 22:25:33 2014 -0700

    i965: Save meta stencil blit programs in the context.
    
    When the last context in a share group is destroyed, the hash table
    containing all of the shader programs (ctx->Shared->ShaderObjects) is
    destroyed, throwing away all of the shader programs.
    
    Using a static variable to store program IDs ends up holding on to them
    after this, so we think we still have a compiled program, when it
    actually got destroyed.  _mesa_UseProgram then hits GL errors, since no
    program by that ID exists.
    
    Instead, store the program IDs in the context, so we know to recompile
    if our context gets destroyed and the application creates another one.
    
    Fixes es3conform tests when run without -minfmt (where it creates
    separate contexts for testing each visual).
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77865
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit a20994d61677adea7f15facbc6bb025f32b37c93)
    
    Conflicts:
    	src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c

diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index a9adbf2..f54cadc 100644
--- a/src/mesa/drivers/dri/i965/brw_context.h
+++ b/src/mesa/drivers/dri/i965/brw_context.h
@@ -1115,6 +1115,9 @@ struct brw_context
 
    struct brw_cache cache;
 
+   /** IDs for meta stencil blit shader programs. */
+   unsigned meta_stencil_blit_programs[2];
+
    /* Whether a meta-operation is in progress. */
    bool meta_in_progress;
 
diff --git a/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c b/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c
index 842ebf9..021f485 100644
--- a/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c
+++ b/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c
@@ -272,28 +272,30 @@ setup_coord_transform(GLuint prog, const struct blit_dims *dims)
 }
 
 static GLuint
-setup_program(struct gl_context *ctx, bool msaa_tex)
+setup_program(struct brw_context *brw, bool msaa_tex)
 {
+   struct gl_context *ctx = &brw->ctx;
    struct blit_state *blit = &ctx->Meta->Blit;
-   static GLuint prog_cache[] = { 0, 0 };
    const char *fs_source;
    const struct sampler_and_fetch *sampler = &samplers[msaa_tex];
 
    _mesa_meta_setup_vertex_objects(&blit->VAO, &blit->VBO, true, 2, 2, 0);
 
-   if (prog_cache[msaa_tex]) {
-      _mesa_UseProgram(prog_cache[msaa_tex]);
-      return prog_cache[msaa_tex];
+   GLuint *prog_id = &brw->meta_stencil_blit_programs[msaa_tex];
+
+   if (*prog_id) {
+      _mesa_UseProgram(*prog_id);
+      return *prog_id;
    }
   
    fs_source = ralloc_asprintf(NULL, fs_tmpl, sampler->sampler,
                                sampler->fetch);
    _mesa_meta_compile_and_link_program(ctx, vs_source, fs_source,
                                        "i965 stencil blit",
-                                       &prog_cache[msaa_tex]);
+                                       prog_id);
    ralloc_free(fs_source);
 
-   return prog_cache[msaa_tex];
+   return *prog_id;
 }
 
 /**
@@ -427,7 +429,7 @@ brw_meta_stencil_blit(struct brw_context *brw,
    _mesa_TexParameteri(target, GL_DEPTH_STENCIL_TEXTURE_MODE,
                        GL_STENCIL_INDEX);
 
-   prog = setup_program(ctx, target != GL_TEXTURE_2D);
+   prog = setup_program(brw, target != GL_TEXTURE_2D);
    setup_bounding_rect(prog, orig_dims);
    setup_drawing_rect(prog, &dims);
    setup_coord_transform(prog, orig_dims);

commit 282ca8ba98802c3275b04e1253d30f5dbca5add9
Author: Daniel Manjarres <danmanj@gmail.com>
Date:   Fri Jun 20 10:51:33 2014 -0700

    glx: Don't crash on swap event for a Window (non-GLXWindow)
    
    Prior to GLX 1.3 there was the glxMakeCurrent() function that took a
    single drawable handle. The Drawable could be either a bare XID for a
    Window or an XID for a glxpixmap.
    
    GLX 1.3 added glxMakeContextCurrent that takes 2 handles: one for
    reading, one for writing. Nowadays the old glxMakeCurrent call is
    implemented as a call to glxMakeContextCurrent with the single handle
    duplicated.
    
    Because of this it is allowed to use a plain-old Window ID as an
    argument to glxMakeContextCurrent, although nobody really documents this
    sort of thing. The manpage for the NEW call specifies the arguments as
    GLXPixmaps, but the actual code accepts Window XIDs too, and handles
    them correctly.
    
    Similarly, the glxSelectEvents function can also take a bare Window XID.
    
    The "piglit" tests all use GLXWindows and/or GLXPixmaps. You never
    tested swap events with a bare Window XID. That is what my app was
    doing.
    
    The swap_events code worked with Window XIDs in mesa 7.x.y. The new code
    added in versions 8, 9, and 10 assumes that all buffer swap events have
    a GLXPixmap associated with them. Because of the historical quirks
    above, this is not true. Swap events for bare Window XIDs do NOT have a
    glxpixmap resulting in a segfault.
    
    Any app that uses the old school glxMakeCurrent call with a Window XID
    while trying to use swap_events will crash when the libs try to lookup
    the nonexistent GLXPixmap associated with the incoming swap event.
    
    I believe that the people who wrote the spec overlooked this, because
    the "sbc" field comes from the OML_sync extension that is defined in
    terms of glxpixmaps only.
    
    v2 (idr): Formatting changes.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54372
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 86bd2196b4ccec50443e99e6c8bf1659e1df9f37)

diff --git a/src/glx/dri2.c b/src/glx/dri2.c
index 7cb9d2d..cc6c164 100644
--- a/src/glx/dri2.c
+++ b/src/glx/dri2.c
@@ -131,10 +131,14 @@ DRI2WireToEvent(Display *dpy, XEvent *event, xEvent *wire)
       aevent->msc = ((CARD64)awire->msc_hi << 32) | awire->msc_lo;
 
       glxDraw = GetGLXDrawable(dpy, pdraw->drawable);
-      if (awire->sbc < glxDraw->lastEventSbc)
-	 glxDraw->eventSbcWrap += 0x100000000;
-      glxDraw->lastEventSbc = awire->sbc;
-      aevent->sbc = awire->sbc + glxDraw->eventSbcWrap;
+      if (glxDraw != NULL) {
+         if (awire->sbc < glxDraw->lastEventSbc)
+            glxDraw->eventSbcWrap += 0x100000000;
+         glxDraw->lastEventSbc = awire->sbc;
+         aevent->sbc = awire->sbc + glxDraw->eventSbcWrap;
+      } else {
+         aevent->sbc = awire->sbc;
+      }
 
       return True;
    }

commit c50fa76c7e7977fc1767881c5007ece1bc8cf03e
Author: Iago Toral Quiroga <itoral@igalia.com>
Date:   Mon Jun 16 17:00:15 2014 +0200

    mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.
    
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 96a95f48eaf8af2c6ace51531bdd5bfbcf71165e)

diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c
index b7332fc..988def1 100644
--- a/src/mesa/program/program.c
+++ b/src/mesa/program/program.c
@@ -552,6 +552,7 @@ _mesa_clone_program(struct gl_context *ctx, const struct gl_program *prog)
          gpc->InputType = gp->InputType;
          gpc->Invocations = gp->Invocations;
          gpc->OutputType = gp->OutputType;
+         gpc->UsesEndPrimitive = gp->UsesEndPrimitive;
       }
       break;
    default:

commit ad9264366a996dfa019525629e7438af5b62ec42
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Jun 17 08:12:06 2014 -0700

    clover: Don't use llvm's global context
    
    An LLVMContext should only be accessed by a single and using the global
    context was causing crashes in multi-threaded environments.  Now we use
    a separate context for each compile.
    
    Reviewed-by: Francisco Jerez <currojerez@riseup.net>
    
    CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 4aa128a123d7285677a527e724809339f15d33a7)

diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index 0148721..c3daa81 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -117,12 +117,13 @@ namespace {
 #endif
 
    llvm::Module *
-   compile(const std::string &source, const std::string &name,
-           const std::string &triple, const std::string &processor,
-           const std::string &opts, clang::LangAS::Map& address_spaces) {
+   compile(llvm::LLVMContext &llvm_ctx, const std::string &source,
+           const std::string &name, const std::string &triple,
+           const std::string &processor, const std::string &opts,
+           clang::LangAS::Map& address_spaces) {
 
       clang::CompilerInstance c;
-      clang::EmitLLVMOnlyAction act(&llvm::getGlobalContext());
+      clang::EmitLLVMOnlyAction act(&llvm_ctx);
       std::string log;
       llvm::raw_string_ostream s_log(log);
       std::string libclc_path = LIBCLC_LIBEXECDIR + processor + "-"
@@ -399,10 +400,12 @@ clover::compile_program_llvm(const compat::string &source,
                       target.size() - processor_str_len - 1);
    clang::LangAS::Map address_spaces;
 
+   llvm::LLVMContext llvm_ctx;
+
    // The input file name must have the .cl extension in order for the
    // CompilerInvocation class to recognize it as an OpenCL source file.
-   llvm::Module *mod = compile(source, "input.cl", triple, processor, opts,
-                                                                address_spaces);
+   llvm::Module *mod = compile(llvm_ctx, source, "input.cl", triple, processor,
+                               opts, address_spaces);
 
    find_kernels(mod, kernels);
 

commit 855adad13229d8e5c7da9bcb04b819009d34cb21
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Mon May 12 16:32:29 2014 -0400

    clover: Prevent Clang from printing number of errors and warnings to stderr.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=78581
    
    CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 0cc391f0136c1532701a04c9b2f3a4cc49f25e8c)

diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index 82e262f..0148721 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -187,6 +187,11 @@ namespace {
       c.getLangOpts().NoBuiltin = true;
       c.getTargetOpts().Triple = triple;
       c.getTargetOpts().CPU = processor;
+
+      // This is a workaround for a Clang bug which causes the number
+      // of warnings and errors to be printed to stderr.
+      // http://www.llvm.org/bugs/show_bug.cgi?id=19735
+      c.getDiagnosticOpts().ShowCarets = false;
 #if HAVE_LLVM <= 0x0301
       c.getInvocation().setLangDefaults(clang::IK_OpenCL);
 #else

commit 3568cf8128a28f8c860fa2a4c5bbf75c2e090c7e
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Tue Jun 17 23:28:56 2014 -0400

    nv30: hack to avoid errors on unexpected color/zeta combinations
    
    This is just a hack, it should be possible to create a temporary zeta
    surface and render to that instead. However that's more complicated and
    this avoids the render being entirely broken and errors being reported
    by the card.
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 25182e249e50b0fce41d975ae2b3c9cbdb8d0ef3)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_state.c b/src/gallium/drivers/nouveau/nv30/nv30_state.c
index 64be1b7..708ba34 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_state.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_state.c
@@ -23,6 +23,7 @@
  *
  */
 
+#include "util/u_format.h"
 #include "util/u_helpers.h"
 #include "util/u_inlines.h"
 
@@ -360,6 +361,22 @@ nv30_set_framebuffer_state(struct pipe_context *pipe,
 
     nv30->framebuffer = *fb;
     nv30->dirty |= NV30_NEW_FRAMEBUFFER;
+
+   /* Hardware can't handle different swizzled-ness or different blocksizes
+    * for zs and cbufs. If both are supplied and something doesn't match,
+    * blank out the zs for now so that at least *some* rendering can occur.
+    */
+    if (fb->nr_cbufs > 0 && fb->zsbuf) {
+       struct nv30_miptree *color_mt = nv30_miptree(fb->cbufs[0]->texture);
+       struct nv30_miptree *zeta_mt = nv30_miptree(fb->zsbuf->texture);
+
+       if (color_mt->swizzled != zeta_mt->swizzled ||
+           (util_format_get_blocksize(fb->zsbuf->format) > 2) !=
+           (util_format_get_blocksize(fb->cbufs[0]->format) > 2)) {
+          nv30->framebuffer.zsbuf = NULL;
+          debug_printf("Mismatched color and zeta formats, ignoring zeta.\n");
+       }
+    }
 }
 
 static void

commit aca2d98c35b795bd7124527bd320e0d10adcf658
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Tue Jun 17 22:32:03 2014 -0400

    nv30: avoid dangling references to deleted contexts
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit c092c46b27c6f6a6674e8d67fb3afdb684811819)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_context.c b/src/gallium/drivers/nouveau/nv30/nv30_context.c
index f325c5c..617b088 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_context.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_context.c
@@ -165,6 +165,9 @@ nv30_context_destroy(struct pipe_context *pipe)
    if (nv30->draw)
       draw_destroy(nv30->draw);
 
+   if (nv30->screen->base.pushbuf->user_priv == &nv30->bufctx)
+      nv30->screen->base.pushbuf->user_priv = NULL;
+
    nouveau_bufctx_del(&nv30->bufctx);
 
    if (nv30->screen->cur_ctx == nv30)

commit 08317fa9c4183e051d16f65eead742a39fd83014
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Tue Jun 17 22:22:56 2014 -0400

    nv30: plug some memory leaks on screen destroy and shader compile
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 5af80f62680b8321c3af565bb57138a71429502c)

diff --git a/src/gallium/drivers/nouveau/nv30/nv30_screen.c b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
index 53ca985..4d0b263 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_screen.c
@@ -325,6 +325,12 @@ nv30_screen_destroy(struct pipe_screen *pscreen)
       nouveau_fence_ref(NULL, &screen->base.fence.current);
    }
 
+   nouveau_bo_ref(NULL, &screen->notify);
+
+   nouveau_heap_destroy(&screen->query_heap);
+   nouveau_heap_destroy(&screen->vp_exec_heap);
+   nouveau_heap_destroy(&screen->vp_data_heap);
+
    nouveau_object_del(&screen->query);
    nouveau_object_del(&screen->fence);
    nouveau_object_del(&screen->ntfy);
diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
index 4955226..1f1fba2 100644
--- a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
+++ b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
@@ -1225,6 +1225,7 @@ out:
    if(fpc)
    {
       FREE(fpc->r_temp);
+      FREE(fpc->r_imm);
       util_dynarray_fini(&fpc->if_stack);
       util_dynarray_fini(&fpc->label_relocs);
       util_dynarray_fini(&fpc->imm_data);

commit 4d0c445af6e600be6912da6bbaecc8c1642ed56c
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Tue Jun 17 11:14:17 2014 -0700

    meta: Respect the driver's maximum number of draw buffers
    
    Commit c1c1cf5f9 added infrastructure for saving and restoring draw
    buffer state.  However, it universially used MAX_DRAW_BUFFERS, but many
    drivers support far fewer than that at limit.  For example, the radeon
    and i915 drivers only support 1.  Using MAX_DRAW_BUFFERS causes meta to
    generate GL errors.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80115
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Tested-by: Kenneth Graunke <kenneth@whitecape.org> [on Broadwell]
    Tested-by: jpsinthemix@verizon.net
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit cc219d1d6567cfada5d8e9adf01c2f00e00c93ca)

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index fec0d2b..6c26984 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -801,7 +801,7 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state)
       int buf, real_color_buffers = 0;
       memset(save->ColorDrawBuffers, 0, sizeof(save->ColorDrawBuffers));
 
-      for (buf = 0; buf < MAX_DRAW_BUFFERS; buf++) {
+      for (buf = 0; buf < ctx->Const.MaxDrawBuffers; buf++) {
          int buf_index = ctx->DrawBuffer->_ColorDrawBufferIndexes[buf];
          if (buf_index == -1)
             continue;
@@ -1213,7 +1213,7 @@ _mesa_meta_end(struct gl_context *ctx)
       _mesa_BindRenderbuffer(GL_RENDERBUFFER, save->RenderbufferName);
 
    if (state & MESA_META_DRAW_BUFFERS) {
-      _mesa_DrawBuffers(MAX_DRAW_BUFFERS, save->ColorDrawBuffers);
+      _mesa_DrawBuffers(ctx->Const.MaxDrawBuffers, save->ColorDrawBuffers);
    }
 
    ctx->Meta->SaveStackDepth--;

commit 9ad103d6647e95fda12717e00abeec67abfccbf0
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Mon May 12 15:46:11 2014 -0700

    mesa: Remove glClear optimization based on drawable size
    
    A drawable size of 0x0 means that we don't have buffers for a drawable yet,
    not that we have a zero-sized buffer.  Core mesa shouldn't be optimizing out
    drawing based on buffer size, since the draw call could be what triggers
    the driver to go and get buffers.  As discussed in the referenced bug report,
    the optimization was added as part of a scatter-shot attempt to fix a
    different problem.  There's no other example in mesa core of using the
    buffer size in this way.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74005
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 7928b946adbcbbb835c0080967bbb538f6bd35dc)

diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c
index 9df1f5e..cf93418 100644
--- a/src/mesa/main/clear.c
+++ b/src/mesa/main/clear.c
@@ -180,11 +180,6 @@ _mesa_Clear( GLbitfield mask )
       return;
    }
 
-   if (ctx->DrawBuffer->Width == 0 || ctx->DrawBuffer->Height == 0 ||
-       ctx->DrawBuffer->_Xmin >= ctx->DrawBuffer->_Xmax ||
-       ctx->DrawBuffer->_Ymin >= ctx->DrawBuffer->_Ymax)
-      return;
-
    if (ctx->RasterDiscard)
       return;
 

commit 12fcbcde47e360e87c7f8525b271fd8d52c418bf
Author: Grigori Goronzy <greg@chown.ath.cx>
Date:   Wed Jun 4 18:54:38 2014 +0200

    radeon/uvd: disable VC-1 simple/main on UVD 2.x
    
    It's about as broken as on later UVD revisions.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66452
    Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org>
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    (cherry picked from commit 6cd30f5d730c3c23251a8e72e17fe65810460764)

diff --git a/src/gallium/drivers/radeon/radeon_video.c b/src/gallium/drivers/radeon/radeon_video.c
index 63bd805..eae533e 100644
--- a/src/gallium/drivers/radeon/radeon_video.c
+++ b/src/gallium/drivers/radeon/radeon_video.c
@@ -242,7 +242,10 @@ int rvid_get_video_param(struct pipe_screen *screen,
 		switch (param) {
 		case PIPE_VIDEO_CAP_SUPPORTED:
 			/* no support for MPEG4 */
-			return codec != PIPE_VIDEO_FORMAT_MPEG4;
+			return codec != PIPE_VIDEO_FORMAT_MPEG4 &&
+			       /* FIXME: VC-1 simple/main profile is broken */
+			       profile != PIPE_VIDEO_PROFILE_VC1_SIMPLE &&
+			       profile != PIPE_VIDEO_PROFILE_VC1_MAIN;
 		case PIPE_VIDEO_CAP_PREFERS_INTERLACED:
 		case PIPE_VIDEO_CAP_SUPPORTS_INTERLACED:
 			/* and MPEG2 only with shaders */

commit d8e3158a43813b8824652d61134f775d0bf9d071
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Sat Jun 14 13:23:47 2014 -0400

    nv50: make sure to mark first scissor dirty after blit
    
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit af05270ccfaa15fde9845a2250922caa8902c0fe)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
index 6e68fb8..600f4f9 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
@@ -1106,6 +1106,7 @@ nv50_blitctx_post_blit(struct nv50_blitctx *blit)
        NV50_NEW_RASTERIZER | NV50_NEW_ZSA | NV50_NEW_BLEND |
        NV50_NEW_TEXTURES | NV50_NEW_SAMPLERS |
        NV50_NEW_VERTPROG | NV50_NEW_GMTYPROG | NV50_NEW_FRAGPROG);
+   nv50->scissors_dirty |= 1;
 
    nv50->base.pipe.set_min_samples(&nv50->base.pipe, blit->saved.min_samples);
 }

commit ef5f998b769fa549b54dad6f7bb77ab17c391a73
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Jun 13 15:26:40 2014 -0700

    i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.
    
    Like on Haswell, we need to use 8x4 aligned rectangle primitives for
    hierarchical depth buffer resolves and depth clears.  See the comments
    in brw_blorp.cpp's brw_hiz_op_params() constructor.  (The Broadwell
    documentation confirms that this is still necessary.)
    
    This patch makes the Broadwell code follow the same behavior as Chad and
    Jordan's Gen7 BLORP code.  Based on a patch by Topi Pohjolainen.
    
    This fixes es3conform's framebuffer_blit_functionality_scissor_blit
    test, with no Piglit regressions.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    (cherry picked from commit 49659ad90c501ae584b7d76ca98f35a8f57d40fe)



Reply to: