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

mesa: Changes to 'upstream-experimental'



 Makefile.am                                         |    2 
 bin/.cherry-ignore                                  |    6 
 configure.ac                                        |   19 -
 docs/relnotes-9.1.1.html                            |    3 
 docs/relnotes-9.1.2.html                            |  235 ++++++++++++++++++++
 include/c99_compat.h                                |  147 ++++++++++++
 src/egl/main/eglcompiler.h                          |   44 ---
 src/gallium/auxiliary/Makefile.am                   |    7 
 src/gallium/auxiliary/gallivm/lp_bld_tgsi.h         |    1 
 src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c     |   20 +
 src/gallium/auxiliary/tgsi/tgsi_text.c              |    2 
 src/gallium/drivers/Makefile.am                     |    1 
 src/gallium/drivers/llvmpipe/lp_scene.c             |   22 +
 src/gallium/drivers/llvmpipe/lp_scene.h             |   10 
 src/gallium/drivers/nv50/nv50_blit.h                |   40 +++
 src/gallium/drivers/nv50/nv50_state_validate.c      |   12 -
 src/gallium/drivers/nv50/nv50_surface.c             |   77 ++++--
 src/gallium/drivers/nvc0/nvc0_3d.xml.h              |    2 
 src/gallium/drivers/nvc0/nvc0_surface.c             |  123 +++++++---
 src/gallium/drivers/r300/compiler/radeon_optimize.c |    4 
 src/gallium/drivers/r600/r600_pipe.c                |    2 
 src/gallium/drivers/r600/r600_query.c               |    5 
 src/gallium/drivers/radeon/Makefile.am              |    4 
 src/gallium/drivers/radeonsi/si_state_draw.c        |    5 
 src/gallium/drivers/rbug/Makefile.am                |    1 
 src/gallium/drivers/svga/Makefile.am                |    2 
 src/gallium/drivers/trace/Makefile.am               |    3 
 src/gallium/include/pipe/p_compiler.h               |   74 ------
 src/gallium/state_trackers/egl/Makefile.am          |    2 
 src/gallium/state_trackers/xa/Makefile.am           |    4 
 src/gallium/winsys/svga/drm/Makefile.am             |    2 
 src/glsl/glsl_types.cpp                             |    2 
 src/glsl/ir_validate.cpp                            |    6 
 src/glsl/linker.cpp                                 |    2 
 src/glx/Makefile.am                                 |    1 
 src/mapi/glapi/gen/gl_x86-64_asm.py                 |   13 -
 src/mapi/glapi/gen/gl_x86_asm.py                    |   13 -
 src/mapi/mapi/entry_x86-64_tls.h                    |   13 -
 src/mapi/mapi/entry_x86_tls.h                       |   13 -
 src/mapi/mapi/u_compiler.h                          |   26 --
 src/mesa/drivers/dri/i965/brw_clear.c               |    6 
 src/mesa/drivers/dri/i965/brw_defines.h             |   39 +++
 src/mesa/drivers/dri/i965/brw_eu_emit.c             |   15 -
 src/mesa/drivers/dri/i965/brw_fs.cpp                |   26 +-
 src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp |   54 ++--
 src/mesa/drivers/dri/i965/brw_state.h               |    2 
 src/mesa/drivers/dri/i965/brw_vs.c                  |    8 
 src/mesa/drivers/dri/i965/brw_vs_surface_state.c    |    5 
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c    |    8 
 src/mesa/drivers/dri/i965/gen6_cc.c                 |    2 
 src/mesa/drivers/dri/i965/gen7_wm_surface_state.c   |   40 +++
 src/mesa/drivers/dri/intel/intel_screen.c           |    2 
 src/mesa/drivers/dri/nouveau/nouveau_driver.c       |    3 
 src/mesa/drivers/dri/nouveau/nv10_context.c         |    2 
 src/mesa/drivers/osmesa/Makefile.am                 |    1 
 src/mesa/main/compiler.h                            |   59 -----
 src/mesa/main/fbobject.c                            |    4 
 src/mesa/main/get.c                                 |   12 -
 src/mesa/main/get_hash_params.py                    |    2 
 src/mesa/main/mtypes.h                              |    1 
 src/mesa/main/samplerobj.c                          |   12 -
 src/mesa/main/samplerobj.h                          |    2 
 src/mesa/main/tests/hash_table/Makefile.am          |    1 
 src/mesa/main/texgetimage.c                         |    1 
 src/mesa/main/teximage.c                            |   23 +
 src/mesa/main/texparam.c                            |   12 +
 src/mesa/main/texstorage.c                          |    1 
 src/mesa/main/version.h                             |    4 
 src/mesa/vbo/vbo_save_draw.c                        |    2 
 69 files changed, 917 insertions(+), 402 deletions(-)

New commits:
commit 8c2981b8e093c6a58723a1bde0ed8c83e1375d45
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Tue Apr 30 15:18:53 2013 -0700

    docs: 9.1.2 release notes
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>

diff --git a/docs/relnotes-9.1.2.html b/docs/relnotes-9.1.2.html
new file mode 100644
index 0000000..98626a9
--- /dev/null
+++ b/docs/relnotes-9.1.2.html
@@ -0,0 +1,235 @@
+<!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 9.1.2 Release Notes / April 30th, 2013</h1>
+
+<p>
+Mesa 9.1.2 is a bug fix release which fixes bugs found since the 9.1.1 release.
+</p>
+<p>
+Mesa 9.1 implements the OpenGL 3.1 API, but the version reported by
+glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
+glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
+Some drivers don't support all the features required in OpenGL 3.1.  OpenGL
+3.1 is <strong>only</strong> available if requested at context creation
+because GL_ARB_compatibility is not supported.
+</p>
+
+<h2>MD5 checksums</h2>
+<pre>
+TBD
+</pre>
+
+<h2>New features</h2>
+<p>None.</p>
+
+<h2>Bug fixes</h2>
+
+<p>This list is likely incomplete.</p>
+
+<ul>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=44567";>Bug 44567</a> - [965gm] green artifacts when using GLSL in XBMC</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59238";>Bug 59238</a> - many new symbols in libxatracker after recent automake work</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59445";>Bug 59445</a> - [SNB/IVB/HSW Bisected]Oglc draw-buffers2(advanced.blending.none) segfault</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=59495";>Bug 59495</a> - [i965 Bisected]Oglc fbblit(advanced.blitFb-3d-cube.mirror.both) fails</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60503";>Bug 60503</a> - [r300g] Unigine Heaven 3.0: all objects are black</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60510";>Bug 60510</a> - Firefox 18.0.2 Crash On Nvidia GeForce2</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61197";>Bug 61197</a> - [SNB Bisected] kwin_gles screen corruption</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61317";>Bug 61317</a> - [IVB] corrupt rendering with UBOs</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61395";>Bug 61395</a> - glEdgeFlag can't be set to false</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=61947";>Bug 61947</a> - nullpointer dereference causes xorg-server segfault when nouveau DRI driver is loaded</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62357";>Bug 62357</a> - llvmpipe: Fragment Shader with &quot;return&quot; in main causes back output</li>
+
+<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62434";>Bug 62434</a> - [bisected] 3284.073] (EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/r600_dri.so failed (/usr/lib/libllvmradeon9.2.0.so: undefined symbol: lp_build_tgsi_intrinsic)</li>
+
+<li><a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=349437";>Debian bug #349437</a> - mesa - FTBFS: error: 'IEEE_ONE' undeclared</li>
+
+<li><a href="http://bugzilla.redhat.com/show_bug.cgi?id=918661";>Redhat bug #918661</a> - crash in routine Avogadro UI manipulation</li>
+
+</ul>
+
+<h2>Changes</h2>
+<p>The full set of changes can be viewed by using the following GIT command:</p>
+
+<pre>
+  git log mesa-9.1.1..mesa-9.1.2
+</pre>
+
+<p>Adam Jackson (2):</p>
+<ul>
+  <li>glx: Build with VISIBILITY_CFLAGS in automake</li>
+  <li>linux: Don't emit a .note.ABI-tag section anymore (#26663)</li>
+</ul>
+
+<p>Alan Hourihane (3):</p>
+<ul>
+  <li>Add missing GL_TEXTURE_CUBE_MAP entry in _mesa_legal_texture_dimensions</li>
+  <li>Unreference sampler object when it's currently bound to texture unit.</li>
+  <li>mesa: fix glGetInteger*(GL_SAMPLER_BINDING).</li>
+</ul>
+
+<p>Alex Deucher (1):</p>
+<ul>
+  <li>r600g: disable hyperz by default on 9.1</li>
+</ul>
+
+<p>Andreas Boll (5):</p>
+<ul>
+  <li>radeon/llvm: Link against libgallium.la to fix an undefined symbol</li>
+  <li>mesa: use ieee fp on s390 and m68k</li>
+  <li>build: Enable x86 assembler on Hurd.</li>
+  <li>osmesa: fix out-of-tree build</li>
+  <li>gallium/egl: fix out-of-tree build</li>
+</ul>
+
+<p>Anuj Phogat (1):</p>
+<ul>
+  <li>mesa: Fix FB blitting in case of zero size src or dst rect</li>
+</ul>
+
+<p>Brian Paul (4):</p>
+<ul>
+  <li>mesa: flush current state when querying GL_EDGE_FLAG</li>
+  <li>vbo: fix crash found with shared display lists</li>
+  <li>llvmpipe: tweak CMD_BLOCK_MAX and LP_SCENE_MAX_SIZE</li>
+  <li>llvmpipe: add some scene limit sanity check assertions</li>
+</ul>
+
+<p>Carl Worth (1):</p>
+<ul>
+  <li>i965: Avoid segfault in gen6_upload_state</li>
+</ul>
+
+<p>Chris Forbes (1):</p>
+<ul>
+  <li>i965/vs: Fix Gen4/5 VUE map inconsistency with gl_ClipVertex</li>
+</ul>
+
+<p>Christoph Bumiller (4):</p>
+<ul>
+  <li>nv50: fix 3D render target setup</li>
+  <li>nv50,nvc0: disable DEPTH_RANGE_NEAR/FAR clipping during blit</li>
+  <li>nv50,nvc0: fix 3d blits, restore viewport after blit</li>
+  <li>nvc0: fix for 2d engine R source formats writing RRR1 and not R001</li>
+</ul>
+
+<p>Eric Anholt (5):</p>
+<ul>
+  <li>i965/fs: Fix register allocation for uniform pull constants in 16-wide.</li>
+  <li>i965/fs: Fix broken rendering in large shaders with UBO loads.</li>
+  <li>i965/fs: Also do the gen4 SEND dependency workaround against other SENDs.</li>
+  <li>i965: Add definitions for gen7+ data cache messages.</li>
+  <li>mesa: Disable validate_ir_tree() on release builds.</li>
+</ul>
+
+<p>Ian Romanick (5):</p>
+<ul>
+  <li>docs: Add 9.1.1 release md5sums</li>
+  <li>mesa: Add previously picked commit to .cherry-ignore</li>
+  <li>glsl: Add missing bool case in glsl_type::get_scalar_type</li>
+  <li>mesa: Note that patch dbf94d1 should't actually get picked to the 9.1 branch</li>
+  <li>mesa: Bump version to 9.1.2</li>
+</ul>
+
+<p>Jan de Groot (1):</p>
+<ul>
+  <li>dri/nouveau: fix crash in nouveau_flush</li>
+</ul>
+
+<p>José Fonseca (3):</p>
+<ul>
+  <li>autotools: Add missing top-level include dir.</li>
+  <li>mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.</li>
+  <li>include: Fix build with VS 11 (i.e, 2012).</li>
+</ul>
+
+<p>Kenneth Graunke (4):</p>
+<ul>
+  <li>i965: Fix INTEL_DEBUG=shader_time for Haswell.</li>
+  <li>i965: Specialize SURFACE_STATE creation for shader time.</li>
+  <li>i965: Make INTEL_DEBUG=shader_time use the RAW surface format.</li>
+  <li>i965: Don't use texture swizzling to force alpha to 1.0 if unnecessary.</li>
+</ul>
+
+<p>Maarten Lankhorst (2):</p>
+<ul>
+  <li>gallium/build: Fix visibility CFLAGS in automake</li>
+  <li>radeon/llvm: Do not link against libgallium when building statically.</li>
+</ul>
+
+<p>Marcin Slusarz (1):</p>
+<ul>
+  <li>dri/nouveau: NV17_3D class is not available for NV1a chipset</li>
+</ul>
+
+<p>Marek Olšák (3):</p>
+<ul>
+  <li>mesa: don't allocate a texture if width or height is 0 in CopyTexImage</li>
+  <li>gallium/tgsi: fix valgrind warning</li>
+  <li>mesa: handle HALF_FLOAT like FLOAT in get_tex_rgba</li>
+</ul>
+
+<p>Martin Andersson (1):</p>
+<ul>
+  <li>r600g: Use virtual address for PIPE_QUERY_SO* in r600_emit_query_end</li>
+</ul>
+
+<p>Matt Turner (3):</p>
+<ul>
+  <li>configure.ac: Don't check for X11 unconditionally.</li>
+  <li>configure.ac: Remove stale comment about --x-* arguments.</li>
+  <li>mesa: Implement TEXTURE_IMMUTABLE_LEVELS for ES 3.0.</li>
+</ul>
+
+<p>Michel Dänzer (1):</p>
+<ul>
+  <li>radeonsi: Emit pixel shader state even when only the vertex shader changed</li>
+</ul>
+
+<p>Paul Berry (1):</p>
+<ul>
+  <li>i965: Apply depthstencil alignment workaround when doing fast clears.</li>
+</ul>
+
+<p>Roland Scheidegger (1):</p>
+<ul>
+  <li>gallivm: fix return opcode handling in main function of a shader</li>
+</ul>
+
+<p>Tapani Pälli (1):</p>
+<ul>
+  <li>intel: Fix regression in intel_create_image_from_name stride handling</li>
+</ul>
+
+<p>Tom Stellard (1):</p>
+<ul>
+  <li>r300g: Fix bug in OMOD optimization</li>
+</ul>
+
+</div>
+</body>
+</html>

commit f9abbcacaabadae81a5841d4623168977273e8df
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Tue Apr 30 15:17:47 2013 -0700

    mesa: Bump version to 9.1.2
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>

diff --git a/Makefile.am b/Makefile.am
index c7e2f6c..558b965 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,7 @@ check-local:
 
 # Rules for making release tarballs
 
-PACKAGE_VERSION=9.1.1
+PACKAGE_VERSION=9.1.2
 PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
 PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
 
diff --git a/configure.ac b/configure.ac
index 1c9d606..b9fcb0b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,7 +6,7 @@ dnl Tell the user about autoconf.html in the --help output
 m4_divert_once([HELP_END], [
 See docs/autoconf.html for more details on the options for Mesa.])
 
-AC_INIT([Mesa], [9.1.1],
+AC_INIT([Mesa], [9.1.2],
     [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
 AC_CONFIG_AUX_DIR([bin])
 AC_CONFIG_MACRO_DIR([m4])
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index cd0b0a5..c22f2c8 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -34,8 +34,8 @@ struct gl_context;
 /* Mesa version */
 #define MESA_MAJOR 9
 #define MESA_MINOR 1
-#define MESA_PATCH 1
-#define MESA_VERSION_STRING "9.1.1"
+#define MESA_PATCH 2
+#define MESA_VERSION_STRING "9.1.2"
 
 /* To make version comparison easy */
 #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

commit 251c87d8842c8a44d0c914c471356e487cd80031
Author: Chris Forbes <chrisf@ijw.co.nz>
Date:   Sat Apr 27 21:56:18 2013 +1200

    i965/vs: Fix Gen4/5 VUE map inconsistency with gl_ClipVertex
    
    This is roughly a backport of Eric's commit 0967c362.
    
    We avoided assigning a slot in the VUE map for gl_ClipVertex, but left
    the bit set in outputs_written, producing horrible confusion further
    down the pipe.
    
    Mostly fixes rendering in source games, and probably in Freespace 2 SCP.
    
    No Piglit regressions on Ironlake.
    
    Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
    
    V2: Mask out the bit, not its index. Strangely, the game still worked
    with that wrong, but rendering of pretty much anything else was
    completely trashed.
    
    Reviewed-by: Paul Berry <stereotype441@gmail.com>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    Tested-by: Jordan Justen <jordan.l.justen@intel.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

diff --git a/src/mesa/drivers/dri/i965/brw_vs.c b/src/mesa/drivers/dri/i965/brw_vs.c
index 0810471..0234ebb 100644
--- a/src/mesa/drivers/dri/i965/brw_vs.c
+++ b/src/mesa/drivers/dri/i965/brw_vs.c
@@ -62,9 +62,13 @@ brw_compute_vue_map(struct brw_context *brw, struct brw_vs_compile *c)
 {
    const struct intel_context *intel = &brw->intel;
    struct brw_vue_map *vue_map = &c->prog_data.vue_map;
-   GLbitfield64 outputs_written = c->prog_data.outputs_written;
+   GLbitfield64 outputs_written;
    int i;
 
+   if (intel->gen < 6)
+      c->prog_data.outputs_written &= ~BITFIELD64_BIT(VERT_RESULT_CLIP_VERTEX);
+   outputs_written = c->prog_data.outputs_written;
+
    vue_map->num_slots = 0;
    for (i = 0; i < BRW_VERT_RESULT_MAX; ++i) {
       vue_map->vert_result_to_slot[i] = -1;
@@ -150,8 +154,6 @@ brw_compute_vue_map(struct brw_context *brw, struct brw_vs_compile *c)
     * feedback is enabled or disabled, just go ahead and assign a slot for it.
     */
    for (int i = 0; i < VERT_RESULT_MAX; ++i) {
-      if (intel->gen < 6 && i == VERT_RESULT_CLIP_VERTEX)
-         continue;
       if ((outputs_written & BITFIELD64_BIT(i)) &&
           vue_map->vert_result_to_slot[i] == -1) {
          assign_vue_slot(vue_map, i);

commit 3cff41c7e438d86a95a78177db90e56fe1c63e0b
Author: Adam Jackson <ajax@redhat.com>
Date:   Tue Apr 23 14:07:33 2013 -0400

    linux: Don't emit a .note.ABI-tag section anymore (#26663)
    
    We don't support pre-2.6 kernels anyway - the install docs say 2.6.28
    for DRI - and apparently this confuses ld.so's sorting when multiple
    libGLs are installed.  Just remove it.
    
    Note: this is a candidate for the stable branches.
    
    Acked-by: Kenneth Graunke <kenneth@whitecape.org>
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    (cherry picked from commit 904b03824b4c5cc24649aa69dd1a557ddfd5dda3)

diff --git a/src/mapi/glapi/gen/gl_x86-64_asm.py b/src/mapi/glapi/gen/gl_x86-64_asm.py
index a3548c2..19e0e15 100644
--- a/src/mapi/glapi/gen/gl_x86-64_asm.py
+++ b/src/mapi/glapi/gen/gl_x86-64_asm.py
@@ -181,19 +181,6 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 
     def printRealFooter(self):
         print ''
-        print '#if defined(GLX_USE_TLS) && defined(__linux__)'
-        print '	.section ".note.ABI-tag", "a"'
-        print '	.p2align 2'
-        print '	.long	1f - 0f   /* name length */'
-        print '	.long	3f - 2f   /* data length */'
-        print '	.long	1         /* note length */'
-        print '0:	.asciz "GNU"      /* vendor name */'
-        print '1:	.p2align 2'
-        print '2:	.long	0         /* note data: the ABI tag */'
-        print '	.long	2,4,20    /* Minimum kernel version w/TLS */'
-        print '3:	.p2align 2        /* pad out section */'
-        print '#endif /* GLX_USE_TLS */'
-        print ''
         print '#if defined (__ELF__) && defined (__linux__)'
         print '	.section .note.GNU-stack,"",%progbits'
         print '#endif'
diff --git a/src/mapi/glapi/gen/gl_x86_asm.py b/src/mapi/glapi/gen/gl_x86_asm.py
index 8b0f6ee..919bbc0 100644
--- a/src/mapi/glapi/gen/gl_x86_asm.py
+++ b/src/mapi/glapi/gen/gl_x86_asm.py
@@ -189,19 +189,6 @@ class PrintGenericStubs(gl_XML.gl_print_base):
         print '\t\tALIGNTEXT16'
         print 'GLNAME(gl_dispatch_functions_end):'
         print ''
-        print '#if defined(GLX_USE_TLS) && defined(__linux__)'
-        print '	.section ".note.ABI-tag", "a"'
-        print '	.p2align 2'
-        print '	.long	1f - 0f   /* name length */'
-        print '	.long	3f - 2f   /* data length */'
-        print '	.long	1         /* note length */'
-        print '0:	.asciz "GNU"      /* vendor name */'
-        print '1:	.p2align 2'
-        print '2:	.long	0         /* note data: the ABI tag */'
-        print '	.long	2,4,20    /* Minimum kernel version w/TLS */'
-        print '3:	.p2align 2        /* pad out section */'
-        print '#endif /* GLX_USE_TLS */'
-        print ''
         print '#if defined (__ELF__) && defined (__linux__)'
         print '	.section .note.GNU-stack,"",%progbits'
         print '#endif'
diff --git a/src/mapi/mapi/entry_x86-64_tls.h b/src/mapi/mapi/entry_x86-64_tls.h
index 72d4125..36cad00 100644
--- a/src/mapi/mapi/entry_x86-64_tls.h
+++ b/src/mapi/mapi/entry_x86-64_tls.h
@@ -28,19 +28,6 @@
 
 #include "u_macros.h"
 
-#ifdef __linux__
-__asm__(".section .note.ABI-tag, \"a\"\n\t"
-        ".p2align 2\n\t"
-        ".long 1f - 0f\n\t"      /* name length */
-        ".long 3f - 2f\n\t"      /* data length */
-        ".long 1\n\t"            /* note length */
-        "0: .asciz \"GNU\"\n\t"  /* vendor name */
-        "1: .p2align 2\n\t"
-        "2: .long 0\n\t"         /* note data: the ABI tag */
-        ".long 2,4,20\n\t"       /* Minimum kernel version w/TLS */
-        "3: .p2align 2\n\t");    /* pad out section */
-#endif /* __linux__ */
-
 __asm__(".text\n"
         ".balign 32\n"
         "x86_64_entry_start:");
diff --git a/src/mapi/mapi/entry_x86_tls.h b/src/mapi/mapi/entry_x86_tls.h
index de91812..58d09ca 100644
--- a/src/mapi/mapi/entry_x86_tls.h
+++ b/src/mapi/mapi/entry_x86_tls.h
@@ -29,19 +29,6 @@
 #include <string.h>
 #include "u_macros.h"
 
-#ifdef __linux__
-__asm__(".section .note.ABI-tag, \"a\"\n\t"
-        ".p2align 2\n\t"
-        ".long 1f - 0f\n\t"      /* name length */
-        ".long 3f - 2f\n\t"      /* data length */
-        ".long 1\n\t"            /* note length */
-        "0: .asciz \"GNU\"\n\t"  /* vendor name */
-        "1: .p2align 2\n\t"
-        "2: .long 0\n\t"         /* note data: the ABI tag */
-        ".long 2,4,20\n\t"       /* Minimum kernel version w/TLS */
-        "3: .p2align 2\n\t");    /* pad out section */
-#endif /* __linux__ */
-
 __asm__(".text");
 
 __asm__("x86_current_tls:\n\t"

commit e78b553195309af3063c3dcc6259b41ea0699449
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Apr 22 10:08:33 2013 -0400

    r600g: disable hyperz by default on 9.1
    
    There are too many cases were we end up with lockups.
    Once we sort out the remaining issues on master, they
    can be backported and hyperz can be re-enabled on 9.1
    
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index a7973a5..80b859f 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -1157,7 +1157,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws)
 	 * case were triggering lockup quickly such as :
 	 * piglit/bin/depthstencil-render-miplevels 1024 d=s=z24_s8
 	 */
-	rscreen->use_hyperz = debug_get_bool_option("R600_HYPERZ", TRUE);
+	rscreen->use_hyperz = debug_get_bool_option("R600_HYPERZ", FALSE);
 	rscreen->use_hyperz = rscreen->info.drm_minor >= 26 ? rscreen->use_hyperz : FALSE;
 
 	rscreen->global_pool = compute_memory_pool_new(rscreen);

commit f0440493c2138ffb34c033443932fdd56a3caa59
Author: Tom Stellard <thomas.stellard@amd.com>
Date:   Tue Mar 19 22:39:31 2013 -0400

    r300g: Fix bug in OMOD optimization
    
    https://bugs.freedesktop.org/show_bug.cgi?id=60503
    
    NOTE: This is a candidate for the stable branches.
    (cherry picked from commit c6a86fb5639977f37a1403012669cdee86bbd89f)

diff --git a/src/gallium/drivers/r300/compiler/radeon_optimize.c b/src/gallium/drivers/r300/compiler/radeon_optimize.c
index 734c7f2..74afd6f 100644
--- a/src/gallium/drivers/r300/compiler/radeon_optimize.c
+++ b/src/gallium/drivers/r300/compiler/radeon_optimize.c
@@ -708,6 +708,7 @@ static int peephole_mul_omod(
 	struct rc_list * writer_list;
 	struct rc_variable * var;
 	struct peephole_mul_cb_data cb_data;
+	unsigned writemask_sum;
 
 	for (i = 0; i < 2; i++) {
 		unsigned int j;
@@ -815,10 +816,11 @@ static int peephole_mul_omod(
 	}
 
 	/* Rewrite the instructions */
+	writemask_sum = rc_variable_writemask_sum(writer_list->Item);
 	for (var = writer_list->Item; var; var = var->Friend) {
 		struct rc_variable * writer = var;
 		unsigned conversion_swizzle = rc_make_conversion_swizzle(
-					writer->Inst->U.I.DstReg.WriteMask,
+					writemask_sum,
 					inst_mul->U.I.DstReg.WriteMask);
 		writer->Inst->U.I.Omod = omod_op;
 		writer->Inst->U.I.DstReg.File = inst_mul->U.I.DstReg.File;

commit 4f44146226f0d93662ab34d130299673976a22ad
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 19 16:27:16 2013 -0800

    i965: Avoid segfault in gen6_upload_state
    
    This fixes a bug introduced in commit 258453716f001eab1288d99765213 and
    triggered whenever "rb" is NULL.
    
    Fixes at least one cause bug #59445:
    
    	[SNB/IVB/HSW Bisected]Oglc draw-buffers2(advanced.blending.none) segfault
    	https://bugs.freedesktop.org/show_bug.cgi?id=59445
    
    (Though segfaults are still possible in that test case, but they have been
    present since before commit 258453716f which is what's being fixed here.)
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    [jordan.l.justen@intel.com: fixes Anomaly Warzone Earth crash at title screen]
    Tested-by: Jordan Justen <jordan.l.justen@intel.com>

diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c
index d32f636..7ac5d5f 100644
--- a/src/mesa/drivers/dri/i965/gen6_cc.c
+++ b/src/mesa/drivers/dri/i965/gen6_cc.c
@@ -126,7 +126,7 @@ gen6_upload_blend_state(struct brw_context *brw)
           * not read the alpha channel, but will instead use the correct
           * implicit value for alpha.
           */
-         if (!_mesa_base_format_has_channel(rb->_BaseFormat, GL_TEXTURE_ALPHA_TYPE))
+         if (rb && !_mesa_base_format_has_channel(rb->_BaseFormat, GL_TEXTURE_ALPHA_TYPE))
          {
             srcRGB = brw_fix_xRGB_alpha(srcRGB);
             srcA = brw_fix_xRGB_alpha(srcA);

commit 39bb794aba407638db0a7ed810950916ea190a08
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Mon Apr 8 15:01:07 2013 -0700

    mesa: Note that patch dbf94d1 should't actually get picked to the 9.1 branch
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>

diff --git a/bin/.cherry-ignore b/bin/.cherry-ignore
index f986f3c..ae87f9a 100644
--- a/bin/.cherry-ignore
+++ b/bin/.cherry-ignore
@@ -5,3 +5,6 @@ d60da27273d2cdb68bc32cae2ca66718dab15f27 st/mesa: set ctx->Const.MaxSamples = 0,
 
 # Already cherry picked without -x
 96b3ca89b153f358de74059151d2b0e8bd884dfa scons: Allows choosing VS 10 or 11.
+
+# This patch is superceded by 7d4f1e6
+dbf94d105a48b7aafb2c8cf64d8b4392d87efea1 glsl: Replace constant-index vector array accesses with swizzles

commit c18d48da4116b0c7e5a4aa6e0ce3c8edf64fbab1
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri Mar 15 16:47:46 2013 -0700

    glsl: Add missing bool case in glsl_type::get_scalar_type
    
    Since the case was missing bec4->get_scalar_type() would return bvec4,
    but vec4->get_scalar_type() would return float.
    
    NOTE: This is a candidate for stable branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
    (cherry picked from commit c770faea0a308ffb858c0125c9e680c6e477efee)

diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp
index 02d85b8..dee9709 100644
--- a/src/glsl/glsl_types.cpp
+++ b/src/glsl/glsl_types.cpp
@@ -446,6 +446,8 @@ const glsl_type *glsl_type::get_scalar_type() const
       return int_type;
    case GLSL_TYPE_FLOAT:
       return float_type;
+   case GLSL_TYPE_BOOL:
+      return bool_type;
    default:
       /* Handle everything else */
       return type;

commit 830bc1cbe642f6ae1acb7d0e117aba56791414b5
Author: Martin Andersson <g02maran@gmail.com>
Date:   Mon Mar 25 23:11:34 2013 +0100

    r600g: Use virtual address for PIPE_QUERY_SO* in r600_emit_query_end
    
    Virtual address is used for PIPE_QUERY_SO* queries in
    r600_emit_query_begin, but not in r600_emit_query_end.
    
    This will trigger a GPU fault when one of those queries is
    made and virtual address is enabled.
    
    Note: this is a candidate for the 9.1 branch
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    (cherry picked from commit 92855bcc95207252045314b658eb10c6305020bc)

diff --git a/src/gallium/drivers/r600/r600_query.c b/src/gallium/drivers/r600/r600_query.c
index 0335189..782ad26 100644
--- a/src/gallium/drivers/r600/r600_query.c
+++ b/src/gallium/drivers/r600/r600_query.c
@@ -186,10 +186,11 @@ static void r600_emit_query_end(struct r600_context *ctx, struct r600_query *que
 	case PIPE_QUERY_PRIMITIVES_GENERATED:
 	case PIPE_QUERY_SO_STATISTICS:
 	case PIPE_QUERY_SO_OVERFLOW_PREDICATE:
+		va += query->buffer.results_end + query->result_size/2;
 		cs->buf[cs->cdw++] = PKT3(PKT3_EVENT_WRITE, 2, 0);
 		cs->buf[cs->cdw++] = EVENT_TYPE(EVENT_TYPE_SAMPLE_STREAMOUTSTATS) | EVENT_INDEX(3);
-		cs->buf[cs->cdw++] = query->buffer.results_end + query->result_size/2;
-		cs->buf[cs->cdw++] = 0;
+		cs->buf[cs->cdw++] = va;
+		cs->buf[cs->cdw++] = (va >> 32UL) & 0xFF;
 		break;
 	case PIPE_QUERY_TIME_ELAPSED:
 		va += query->buffer.results_end + query->result_size/2;

commit c589071fb2116f8f131d529325af06a77892b4ec
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Mar 18 08:42:19 2013 -0700

    mesa: Disable validate_ir_tree() on release builds.
    
    Since half of ir_validate uses asserts() (the other using printf() then
    abort()), there's not much use to calling it in a release build.  Cuts
    6.3% of the startup time of TF2.
    
    NOTE: This is a candidate for the stable branches.
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    (cherry picked from commit 712bac1f4130cb2ea75c53698cc6428d93b26ed3)

diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index d8cafd5..78ce13e 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -695,6 +695,11 @@ check_node_type(ir_instruction *ir, void *data)
 void
 validate_ir_tree(exec_list *instructions)
 {
+   /* We shouldn't have any reason to validate IR in a release build,
+    * and it's half composed of assert()s anyway which wouldn't do
+    * anything.
+    */
+#ifdef DEBUG
    ir_validate v;
 
    v.run(instructions);
@@ -704,4 +709,5 @@ validate_ir_tree(exec_list *instructions)
 
       visit_tree(ir, check_node_type, NULL);
    }
+#endif
 }
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 57e7a9a..cf0420c 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -1067,13 +1067,11 @@ link_intrastage_shaders(void *mem_ctx,
 
    free(linking_shaders);
 
-#ifdef DEBUG
    /* At this point linked should contain all of the linked IR, so
     * validate it to make sure nothing went wrong.
     */
    if (linked)
       validate_ir_tree(linked->ir);
-#endif
 
    /* Make a pass over all variable declarations to ensure that arrays with
     * unspecified sizes have a size specified.  The size is inferred from the

commit 80092d88695174d33b06e292487885ef12d3fca2
Author: Marek Olšák <maraeo@gmail.com>
Date:   Wed Mar 13 16:47:21 2013 +0100

    mesa: handle HALF_FLOAT like FLOAT in get_tex_rgba
    
    NOTE: This is a candidate for the stable branches.
    
    Reviewed-by: Brian Paul <brianp@vmware.com>
    Tested-by: Brian Paul <brianp@vmware.com>
    (cherry picked from commit b2a4573c14b04f11525dfd33971863ee3e00f995)

diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index 7299a4b..74b09ef 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -518,6 +518,7 @@ get_tex_rgba(struct gl_context *ctx, GLuint dimensions,
    if (type_needs_clamping(type)) {
       /* the returned image type can't have negative values */
       if (dataType == GL_FLOAT ||
+          dataType == GL_HALF_FLOAT ||
           dataType == GL_SIGNED_NORMALIZED ||
           format == GL_LUMINANCE ||
           format == GL_LUMINANCE_ALPHA) {

commit c7720a24beb4ac8a0dde7b51de96efb3a19b7f7a
Author: Matt Turner <mattst88@gmail.com>
Date:   Mon Mar 4 11:03:58 2013 -0800

    mesa: Implement TEXTURE_IMMUTABLE_LEVELS for ES 3.0.
    
    NOTE: This is a candidate for the 9.1 branch.
    Fixes piglit's texture-immutable-levels test.
    Reported-by: Marek Olšák <maraeo@gmail.com>
    Reviewed-by: Brian Paul <brianp@vmware.com>
    (cherry picked from commit 12dc4be8a66c92ce04637abc54ed85ac7ff9aa13)

diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 3369623..8f906ae 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1274,6 +1274,7 @@ struct gl_texture_object
    GLfloat Priority;		/**< in [0,1] */
    GLint BaseLevel;		/**< min mipmap level, OpenGL 1.2 */
    GLint MaxLevel;		/**< max mipmap level, OpenGL 1.2 */
+   GLint ImmutableLevels;       /**< ES 3.0 / ARB_texture_view */
    GLint _MaxLevel;		/**< actual max mipmap level (q in the spec) */
    GLfloat _MaxLambda;		/**< = _MaxLevel - BaseLevel (q - b in spec) */
    GLint CropRect[4];           /**< GL_OES_draw_texture */
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 6f18ec6..dd67baa 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -1432,6 +1432,12 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
          *params = (GLfloat) obj->Immutable;
          break;
 
+      case GL_TEXTURE_IMMUTABLE_LEVELS:
+         if (!_mesa_is_gles3(ctx))
+            goto invalid_pname;
+         *params = (GLfloat) obj->ImmutableLevels;
+         break;
+
       case GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES:
          if (!_mesa_is_gles(ctx) || !ctx->Extensions.OES_EGL_image_external)
             goto invalid_pname;
@@ -1609,6 +1615,12 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
          *params = (GLint) obj->Immutable;
          break;
 
+      case GL_TEXTURE_IMMUTABLE_LEVELS:
+         if (!_mesa_is_gles3(ctx))
+            goto invalid_pname;
+         *params = obj->ImmutableLevels;
+         break;
+
       case GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES:
          if (!_mesa_is_gles(ctx) || !ctx->Extensions.OES_EGL_image_external)
             goto invalid_pname;
diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c
index 00f19ba..675fd74 100644
--- a/src/mesa/main/texstorage.c
+++ b/src/mesa/main/texstorage.c
@@ -397,6 +397,7 @@ texstorage(GLuint dims, GLenum target, GLsizei levels, GLenum internalformat,
       }
 
       texObj->Immutable = GL_TRUE;
+      texObj->ImmutableLevels = levels;
    }
 }
 

commit 82ac970d37d3a1ccc7287a9fe07223725ac3ddec
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu Mar 21 13:21:18 2013 -0400

    glx: Build with VISIBILITY_CFLAGS in automake
    
    Note: This is a candidate for the stable branches.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    (cherry picked from commit 38aa8ec937a1c9972b65dc448cc50f3763fa2d3b)

diff --git a/src/glx/Makefile.am b/src/glx/Makefile.am
index 4aa900a..f01709b 100644
--- a/src/glx/Makefile.am
+++ b/src/glx/Makefile.am
@@ -39,6 +39,7 @@ AM_CFLAGS = \
 	-I$(top_srcdir)/src/mapi/glapi \
 	-I$(top_builddir)/src/mapi \
 	-I$(top_builddir)/src/mapi/glapi \
+	$(VISIBILITY_CFLAGS) \
 	$(SHARED_GLAPI_CFLAGS) \
 	$(EXTRA_DEFINES_XF86VIDMODE) \
 	-D_REENTRANT \

commit e0af7648824c9c3d282aa970749cde569bdfa94b
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Mar 19 17:57:11 2013 +0100

    radeonsi: Emit pixel shader state even when only the vertex shader changed
    
    Fixes random failures with piglit glsl-max-varyings.
    
    NOTE: This is a candidate for the 9.1 branch.
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    (cherry picked from commit 032e5548b3d4b5efa52359218725cb8e31b622ad)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 8c35625..93766a3 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -401,6 +401,11 @@ static void si_update_derived_state(struct r600_context *rctx)
 	}
 
 	if (si_pm4_state_changed(rctx, ps) || si_pm4_state_changed(rctx, vs)) {
+		/* XXX: Emitting the PS state even when only the VS changed
+		 * fixes random failures with piglit glsl-max-varyings.
+		 * Not sure why...
+		 */
+		rctx->emitted.named.ps = NULL;
 		si_update_spi_map(rctx);
 	}
 }

commit 0c5fa7ae0eeb09b3dfd65541f12f64e91cd30c96
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Mar 15 14:48:24 2013 -0700

    i965: Don't use texture swizzling to force alpha to 1.0 if unnecessary.
    
    Commit 33599433c7 began setting the texture swizzle mode to XYZ1 for
    RED, RG, and RGB textures in order to force alpha to 1.0 in case we
    actually stored the texture as RGBA.
    
    This had a unforseen performance implication: the shader precompile
    assumes that the texture swizzle mode will be XYZW for non-shadow
    sampler types.  By setting it to XYZ1, this means every shader used with
    a RED, RG, or RGB texture has to be recompiled.  This is a very common
    case.
    
    Unfortunately, there's no way to improve the precompile, since RGBA
    textures still need XYZW, and there's no way to know by looking at
    the shader source what texture formats might be used.
    
    However, we only need to smash alpha to 1.0 if the texture's memory
    format actually has alpha bits.  If not, the sampler already returns 1.0
    for us without any special swizzling.  XRGB8888, for example, is a very
    common case where this occurs.
    
    This partially fixes a performance regression since commit 33599433c7.
    More work is required to fully fix it in all cases.  This at least helps
    Warsow.
    
    NOTE: This is a candidate for the 9.1 branch.
    
    Reviewed-by: Carl Worth <cworth@cworth.org>
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    (cherry picked from commit d86efc075ed84a8c45bfb71cee56dcd18858f727)

diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
index 5735c02..657a56f 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
@@ -770,7 +770,8 @@ brw_get_texture_swizzle(const struct gl_context *ctx,
    case GL_RED:
    case GL_RG:
    case GL_RGB:
-      swizzles[3] = SWIZZLE_ONE;
+      if (_mesa_get_format_bits(img->TexFormat, GL_ALPHA_BITS) > 0)
+         swizzles[3] = SWIZZLE_ONE;
       break;
    }
 

commit 725c671d61a5b1861af45c81d60d64c0740e8608
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Mar 19 20:17:57 2013 +0100

    radeon/llvm: Do not link against libgallium when building statically.
    
    NOTE: This is a candidate for the 9.1 branch.
    
    Tested-by: Vincent Lejeune <vljn@ovi.com>
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
    (cherry picked from commit 7c3d8301afed46cf932bf23431085de490a1f83a)

diff --git a/src/gallium/drivers/radeon/Makefile.am b/src/gallium/drivers/radeon/Makefile.am
index 77dd6a3..a3a7b74 100644
--- a/src/gallium/drivers/radeon/Makefile.am
+++ b/src/gallium/drivers/radeon/Makefile.am
@@ -1,11 +1,14 @@
 include Makefile.sources
 include $(top_srcdir)/src/gallium/Automake.inc
 
+LIBGALLIUM_LIBS=
+


Reply to: