Hello community,

here is the log from the commit of package Mesa.1319 for openSUSE:12.2:Update 
checked in at 2013-02-25 10:03:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/Mesa.1319 (Old)
 and      /work/SRC/openSUSE:12.2:Update/.Mesa.1319.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "Mesa.1319", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2013-02-09 11:18:20.872010756 +0100
+++ /work/SRC/openSUSE:12.2:Update/.Mesa.1319.new/Mesa.changes  2013-02-25 
10:03:07.000000000 +0100
@@ -0,0 +1,1693 @@
+-------------------------------------------------------------------
+Mon Feb  4 20:09:56 UTC 2013 - stefan.bru...@rwth-aachen.de
+
+- fix_glx_indirect_reply_bfo#59876.diff
+  * GLX replies are parsed incorrectly when using libxcb and AIGLX,
+    happens for most replies where data is embedded in the header.
+    (bfo#59876, bnc#802718)
+
+-------------------------------------------------------------------
+Tue Aug 28 11:43:57 UTC 2012 - sndir...@suse.com
+
+- U_glsl-linker-Avoid-buffer-over-run-in-parcel_out_unif.patch 
+  * Avoid buffer over-run in parcel_out_uniform_storage::visit_field
+    When too may uniforms are used, the error will be caught in
+    check_resources (src/glsl/linker.cpp). (CVE-2012-2864, bnc#777461)
+
+-------------------------------------------------------------------
+Thu Aug 23 15:29:34 UTC 2012 - fcro...@suse.com
+
+- Add u_mesa-8.0-llvmpipe-shmget.patch (Fedora): use shmget under
+  llvmpipe, if available (bnc#766498).
+- Update u_mesa-8.0.1-fix-16bpp.patch to work with shmget patch.
+
+-------------------------------------------------------------------
+Wed Aug  8 15:43:20 CEST 2012 - ti...@suse.de
+
+- U_i965-gen7-Reduce-GT1-WM-thread-count-according-to-up.patch
+  * Fix GPU hang with IVB GT1 desktop (bnc#775048)
+
+-------------------------------------------------------------------
+Tue Jul 10 23:42:04 UTC 2012 - tobias.johannes.klausm...@mni.thm.de
+
+- Update to Version 8.0.4 (minor bugfix release)
+- Back to bz2 tarballs
+
+-------------------------------------------------------------------
+Sat Jun 16 09:58:59 UTC 2012 - co...@suse.com
+
+- remove buildrequire on vim, it creates a pretty big cycle for
+  no (obvious) benefit
+
+-------------------------------------------------------------------
+Tue Jun 12 15:53:50 UTC 2012 - sndir...@suse.com
+
+- enabled build of XvMC/VDPAU state trackers for Nouveau, R300,
+  R600, Softpipe (Software implementation)
+
+-------------------------------------------------------------------
+Tue Jun 12 10:19:01 UTC 2012 - sndir...@suse.com
+
+- u_remove-os-abi-tag.patch 
+  * Remove OS ABI tag from libGL, so it is no longer preferred over
+    libGLs without OS ABI tag (bnc#765294, fdo#26663)
+
+-------------------------------------------------------------------
+Fri Jun  8 14:05:30 UTC 2012 - sndir...@suse.com
+
+- let libGL1-Mesa require Mesa, since that package includes the DRI
+  drivers (including the "swrast" DRI driver for software rendering)
+  (bnc#765241)
+
+-------------------------------------------------------------------
+Wed May 30 16:56:11 UTC 2012 - fcro...@suse.com
+
+- Add u_mesa-8.0.1-fix-16bpp.patch (Fedora): fix 16bpp mode under
+  llvmpipe.
+
+-------------------------------------------------------------------
+Sat May 26 22:29:41 UTC 2012 - sndir...@suse.com
+
+- added configure options "--enable-gbm --enable-glx-tls" (required
+  for glamor support)
+
+-------------------------------------------------------------------
+Fri May 25 15:57:25 UTC 2012 - meiss...@suse.com
+
+- libxatracker is also not built on ppc*.
+
+-------------------------------------------------------------------
+Mon May 21 12:32:23 UTC 2012 - sndir...@suse.com
+
+- Trivial change to Version 8.0.3; tarball from here:
+  http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-8.0.3.tar.gz 
+
+-------------------------------------------------------------------
+Wed May 16 10:28:30 UTC 2012 - adr...@suse.de
+
+- fix build on platforms without gallium (s390 & arm)
+
+-------------------------------------------------------------------
+Wed Apr 25 14:14:35 UTC 2012 - tittiatc...@gmail.com
+
+- Added patches from upstream Master to enable building with 
+  llvm 3.1
+
+-------------------------------------------------------------------
+Wed Apr 25 13:17:59 UTC 2012 - sndir...@suse.com
+
+- For full OpenGL 3.0 compliance, it is necessary to
+  have floating-point textures, so Mesa is now compiled with
+  "--enable-texture-float" parameter to have OpenGL 3.0 support.
+- disabling glut/glw no longer required since it's no longer
+  shipped with Mesa
+
+-------------------------------------------------------------------
+Mon Apr 23 15:09:29 UTC 2012 - v...@ovi.com
+
+- Enable xa state tracker and svga gallium drivers (vmwgfx stack)
+
+-------------------------------------------------------------------
+Sun Apr 15 18:10:39 CEST 2012 - r...@suse.de
+
+- use same dri drivers on ia64 as on ppc (no drm_intel) 
+
+-------------------------------------------------------------------
+Wed Mar 21 23:21:24 UTC 2012 - ryanb...@adelphia.net
+
+-- Updated software rasterizer to use llvmpipe the advanced,
+-  multithreaded,software rasterizer if availaible for that
+-  archetecture (ie. X86/X86-64).
+
+-------------------------------------------------------------------
+Wed Mar 21 18:06:27 UTC 2012 - jeng...@medozas.de
+
+- Adjust baselibs.conf for OSMesa soname change
+
+-------------------------------------------------------------------
+Wed Mar 21 14:55:19 UTC 2012 - sndir...@suse.com
+
+- U_gallium-rtasm-properly-detect-SSE-and-SSE2.patch 
+  * gallium/rtasm: properly detect SSE and SSE2;  this should fix
+    crashes on ancient processors. (bnc#728737)
+
+-------------------------------------------------------------------
+Thu Mar  1 08:22:41 UTC 2012 - co...@suse.com
+
+- fix baselibs.conf after update of libOSMesa
+- do not put the date in generated code, this breaks build-compare
+  for little to no gain as we know the build date from rpm header
+
+-------------------------------------------------------------------
+Fri Feb 24 15:12:22 UTC 2012 - sndir...@suse.com
+
+- Switch software rasterizer to llvmpipe (gallium driver now)
+  * Performance improvement especially on multicore system.
+- minimal specfile cleanup
+
+-------------------------------------------------------------------
+Fri Feb 24 13:51:15 CET 2012 - meiss...@suse.de
+
+- only require drm_intel on intel.
+
+-------------------------------------------------------------------
+Thu Feb 23 10:57:09 UTC 2012 - sndir...@suse.com
+
+- Update to Mesa 8.0.1
+  * Removed all DRI drivers that did not support DRI2. 
+    Specifically, i810, mach64, mga, r128, savage, sis, tdfx, and
+    unichrome were removed.
+  * Removed all remnants of paletted texture support. As required
+    by desktop OpenGL, GL_COLOR_INDEX data can still be uploaded
+    to a color (e.g., RGBA) texture. However, the data cannot be
+    stored internally as color-index.
+  * Removed support for GL_APPLE_client_storage extension.
+  * Removed the classic Mesa r300 and r600 drivers, which are
+    superseded by the gallium drivers for this hardware.
+  * Removed the dead Gallium i965, cell and failover drivers,
+    which were either broken and with nobody in sight to fix
+    the situation or deprecated.
+- obsoletes u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch
+  (git commit #63a6fd6603574c1c01324fbeb0863e39d3864c16)
+- obsoletes U_Mesa-7.11-llvm3.patch
+- obsoletes Mesa-llvm-3.0.patch
+- disabled u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
+  for now (obsolete as well?)
+
+-------------------------------------------------------------------
+Wed Feb 22 14:27:44 UTC 2012 - jeng...@medozas.de
+
+- use --enable-shared-dricore, saves ~33 MB
+
+-------------------------------------------------------------------
+Wed Feb 22 14:14:56 UTC 2012 - sndir...@suse.com
+
+- readded build of non-gallium nouveau driver ("nouveau_vieux") to
+  support again older NVIDIA GPUs
+
+-------------------------------------------------------------------
+Tue Feb 21 19:53:03 UTC 2012 - co...@suse.com
+
+- fix requires of devel package in moving the %package before the
+  other packages that have custom versions.
+  %version in rpm is tricky - it's the _last_ version before the 
+  macro, not the main one.
+
+-------------------------------------------------------------------
+Tue Feb 21 03:57:14 UTC 2012 - jeng...@medozas.de
++++ 1496 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.2:Update/.Mesa.1319.new/Mesa.changes

New:
----
  Mesa-nodate.diff
  Mesa-rpmlintrc
  Mesa.changes
  Mesa.spec
  README.updates
  U_glsl-linker-Avoid-buffer-over-run-in-parcel_out_unif.patch
  U_i965-gen7-Reduce-GT1-WM-thread-count-according-to-up.patch
  baselibs.conf
  drirc
  fix_glx_indirect_reply_bfo#59876.diff
  manual-pages.tar.bz2
  mesa-8.0.4.tar.bz2
  u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
  u_mesa-8.0-llvmpipe-shmget.patch
  u_mesa-8.0.1-fix-16bpp.patch
  u_remove-os-abi-tag.patch
  upstream-llvm-patch.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ Mesa.spec ++++++
++++ 777 lines (skipped)

++++++ Mesa-nodate.diff ++++++
>From da91936f74e4195fbb3ed4da0eaecb9f1ec66972 Mon Sep 17 00:00:00 2001
From: Tobias Johannes Klausmann <tobias.johannes.klausm...@mni.thm.de>
Date: Fri, 20 Apr 2012 14:09:50 +0200
Subject: [PATCH] PATCH-FIX-OPENSUSE do not put dates in sources to fix
 build-compare

---
 src/mesa/main/es_generator.py |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py
index cad3dea..0dde6f7 100644
--- a/src/mesa/main/es_generator.py
+++ b/src/mesa/main/es_generator.py
@@ -182,9 +182,8 @@ print """/* DO NOT EDIT 
*************************************************
  * THIS FILE AUTOMATICALLY GENERATED BY THE %s SCRIPT
  * API specification file:   %s
  * GLES version:             %s
- * date:                     %s
  */
-""" % (program, functionList, version, time.strftime("%Y-%m-%d %H:%M:%S"))
+""" % (program, functionList, version)
 
 # The headers we choose are version-specific.
 print """
-- 
1.7.7

++++++ Mesa-rpmlintrc ++++++
# Want to allow for multiple vendors
addFilter("shlib-policy-name-error")
++++++ README.updates ++++++
DRI Driver update mechanism
---------------------------

If any corresponding DRI driver is found in "/usr/lib/dri/updates/"
it will be favored over the one in "/usr/lib/dri/" and will be used
for 32/64 bit applications.

On 32/64 bit biarch platforms additionally a corresponding DRI driver
in "/usr/lib64/dri/updates/" will be favored over the one in 
"/usr/lib64/dri/" and will be used for 64bit applications.
++++++ U_glsl-linker-Avoid-buffer-over-run-in-parcel_out_unif.patch ++++++
>From ff996cafce511dd8a6c4e066e409c23e147a670c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Marchesin?= <marc...@chromium.org>
Date: Tue, 14 Aug 2012 17:15:54 -0700
Subject: [PATCH] glsl/linker: Avoid buffer over-run in 
parcel_out_uniform_storage::visit_field
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When too may uniforms are used, the error will be caught in
check_resources (src/glsl/linker.cpp).

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Stéphane Marchesin <marc...@chromium.org>
Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
Tested-by: Benoit Jacob <bja...@mozilla.com>
---
 src/glsl/link_uniforms.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index 25dc1d7..eef9025 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -313,7 +313,7 @@ private:
         const gl_texture_index target = base_type->sampler_index();
         const unsigned shadow = base_type->sampler_shadow;
         for (unsigned i = this->uniforms[id].sampler
-                ; i < this->next_sampler
+                ; i < MIN2(this->next_sampler, MAX_SAMPLERS)
                 ; i++) {
            this->targets[i] = target;
            this->shader_samplers_used |= 1U << i;
-- 
1.7.3.4

++++++ U_i965-gen7-Reduce-GT1-WM-thread-count-according-to-up.patch ++++++
>From 539a02b9a73276a6d012436e296cfab55d5257a3 Mon Sep 17 00:00:00 2001
From: Eric Anholt <e...@anholt.net>
Date: Fri, 27 Jul 2012 11:34:07 -0700
Subject: [PATCH 03/11] i965/gen7: Reduce GT1 WM thread count according to
 updated BSpec.

Acked-by: Kenneth Graunke <kenn...@whitecape.org>

https://bugs.freedesktop.org/show_bug.cgi?id=52382
(cherry picked from commit fbf86c7f0f1f12e52b927e3870535073879d0a4d)
---
 src/mesa/drivers/dri/i965/brw_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.c 
b/src/mesa/drivers/dri/i965/brw_context.c
index a66ccc7..78bc6f9 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -240,7 +240,7 @@ brwCreateContext(int api,
    /* WM maximum threads is number of EUs times number of threads per EU. */
    if (intel->gen >= 7) {
       if (intel->gt == 1) {
-        brw->max_wm_threads = 86;
+        brw->max_wm_threads = 48;
         brw->max_vs_threads = 36;
         brw->max_gs_threads = 36;
         brw->urb.size = 128;
-- 
1.7.11.4

++++++ baselibs.conf ++++++
Mesa
        +/usr/X11R6/lib(64)?/modules/dri/updates/README.updates
        obsoletes "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
        provides  "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
Mesa-devel
        #We need Mesa-<targettype>!, do not put requires -Mesa-<targettype>.
        requires "Mesa-libEGL-devel-<targettype> = <version>"
        requires "Mesa-libGL-devel-<targettype> = <version>"
        requires "Mesa-libGLESv1_CM-devel-<targettype> = <version>"
        requires "Mesa-libGLESv2-devel-<targettype> = <version>"
        requires "Mesa-libGLU-devel-<targettype> = <version>"
        requires "Mesa-libIndirectGL1-<targettype> = <version>"
        requires "libOSMesa8-<targettype> = <version>"
        requires "libgbm-devel-<targettype>"
        requires "Mesa-libglapi0-<targettype> = <version>"
        obsoletes "XFree86-Mesa-devel-<targettype> 
xorg-x11-Mesa-devel-<targettype>"
        provides  "XFree86-Mesa-devel-<targettype> 
xorg-x11-Mesa-devel-<targettype>"
Mesa-libEGL1
Mesa-libEGL-devel
        requires -Mesa-libEGL-<targettype>
        requires "Mesa-libEGL1-<targettype> = <version>"
Mesa-libGL1
Mesa-libGL-devel
        requires -Mesa-libGL-<targettype>
        requires "Mesa-libGL1-<targettype> = <version>"
Mesa-libGLESv1_CM1
Mesa-libGLESv1_CM-devel
        requires -Mesa-libGLESv1_CM-<targettype>
        requires "Mesa-libGLESv1_CM1-<targettype> = <version>"
Mesa-libGLESv2-2
Mesa-libGLESv2-devel
        requires -Mesa-libGLESv2-<targettype>
        requires "Mesa-libGLESv2-2-<targettype> = <version>"
Mesa-libGLU1
Mesa-libGLU-devel
        requires -Mesa-libGLU-<targettype>
        requires "Mesa-libGLU1-<targettype> = <version>"
Mesa-libIndirectGL1
libOSMesa8
libgbm1
libgbm-devel
        requires -libgbm-<targettype>
        requires "libgbm1-<targettype> = <version>"
Mesa-libglapi0
libXvMC_nouveau
libXvMC_r300
libXvMC_r600
libXvMC_softpipe
libvdpau_nouveau
libvdpau_r300
libvdpau_r600
libvdpau_softpipe
++++++ drirc ++++++
<driconf>
    <device screen="0" driver="i915">
        <application name="Default">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
    <device screen="0" driver="i965">
        <application name="Default">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
    <device screen="0" driver="r300">
        <application name="Default">
            <option name="vblank_mode" value="0" />
            <option name="force_s3tc_enable" value="false" />
            <option name="disable_lowimpact_fallback" value="true" />
        </application>
    </device>
</driconf>
++++++ fix_glx_indirect_reply_bfo#59876.diff ++++++
diff --git a/src/glx/indirect.c b/src/glx/indirect.c
index a6b0c0d..e07e656 100644
--- a/src/glx/indirect.c
+++ b/src/glx/indirect.c
@@ -3882,7 +3882,7 @@ __indirect_glGetLightfv(GLenum light, GLenum pname, 
GLfloat * params)
                                                           currentContextTag,
                                                           light, pname),
                                       NULL);
-        if (xcb_glx_get_lightfv_data_length(reply) == 0)
+        if (xcb_glx_get_lightfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_lightfv_data(reply),
@@ -3922,7 +3922,7 @@ __indirect_glGetLightiv(GLenum light, GLenum pname, GLint 
* params)
                                                           currentContextTag,
                                                           light, pname),
                                       NULL);
-        if (xcb_glx_get_lightiv_data_length(reply) == 0)
+        if (xcb_glx_get_lightiv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_lightiv_data(reply),
@@ -3960,7 +3960,7 @@ __indirect_glGetMapdv(GLenum target, GLenum query, 
GLdouble * v)
                                     xcb_glx_get_mapdv(c,
                                                       gc->currentContextTag,
                                                       target, query), NULL);
-        if (xcb_glx_get_mapdv_data_length(reply) == 0)
+        if (xcb_glx_get_mapdv_data_length(reply) == 1)
             (void) memcpy(v, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(v, xcb_glx_get_mapdv_data(reply),
@@ -3998,7 +3998,7 @@ __indirect_glGetMapfv(GLenum target, GLenum query, 
GLfloat * v)
                                     xcb_glx_get_mapfv(c,
                                                       gc->currentContextTag,
                                                       target, query), NULL);
-        if (xcb_glx_get_mapfv_data_length(reply) == 0)
+        if (xcb_glx_get_mapfv_data_length(reply) == 1)
             (void) memcpy(v, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(v, xcb_glx_get_mapfv_data(reply),
@@ -4036,7 +4036,7 @@ __indirect_glGetMapiv(GLenum target, GLenum query, GLint 
* v)
                                     xcb_glx_get_mapiv(c,
                                                       gc->currentContextTag,
                                                       target, query), NULL);
-        if (xcb_glx_get_mapiv_data_length(reply) == 0)
+        if (xcb_glx_get_mapiv_data_length(reply) == 1)
             (void) memcpy(v, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(v, xcb_glx_get_mapiv_data(reply),
@@ -4076,7 +4076,7 @@ __indirect_glGetMaterialfv(GLenum face, GLenum pname, 
GLfloat * params)
                                                                 
currentContextTag,
                                                                 face, pname),
                                          NULL);
-        if (xcb_glx_get_materialfv_data_length(reply) == 0)
+        if (xcb_glx_get_materialfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_materialfv_data(reply),
@@ -4116,7 +4116,7 @@ __indirect_glGetMaterialiv(GLenum face, GLenum pname, 
GLint * params)
                                                                 
currentContextTag,
                                                                 face, pname),
                                          NULL);
-        if (xcb_glx_get_materialiv_data_length(reply) == 0)
+        if (xcb_glx_get_materialiv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_materialiv_data(reply),
@@ -4155,7 +4155,7 @@ __indirect_glGetPixelMapfv(GLenum map, GLfloat * values)
                                                                   gc->
                                                                   
currentContextTag,
                                                                   map), NULL);
-        if (xcb_glx_get_pixel_mapfv_data_length(reply) == 0)
+        if (xcb_glx_get_pixel_mapfv_data_length(reply) == 1)
             (void) memcpy(values, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(values, xcb_glx_get_pixel_mapfv_data(reply),
@@ -4194,7 +4194,7 @@ __indirect_glGetPixelMapuiv(GLenum map, GLuint * values)
                                                                     
currentContextTag,
                                                                     map),
                                            NULL);
-        if (xcb_glx_get_pixel_mapuiv_data_length(reply) == 0)
+        if (xcb_glx_get_pixel_mapuiv_data_length(reply) == 1)
             (void) memcpy(values, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(values, xcb_glx_get_pixel_mapuiv_data(reply),
@@ -4233,7 +4233,7 @@ __indirect_glGetPixelMapusv(GLenum map, GLushort * values)
                                                                     
currentContextTag,
                                                                     map),
                                            NULL);
-        if (xcb_glx_get_pixel_mapusv_data_length(reply) == 0)
+        if (xcb_glx_get_pixel_mapusv_data_length(reply) == 1)
             (void) memcpy(values, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(values, xcb_glx_get_pixel_mapusv_data(reply),
@@ -4309,7 +4309,7 @@ __indirect_glGetTexEnvfv(GLenum target, GLenum pname, 
GLfloat * params)
                                                               
currentContextTag,
                                                               target, pname),
                                         NULL);
-        if (xcb_glx_get_tex_envfv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_envfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_envfv_data(reply),
@@ -4349,7 +4349,7 @@ __indirect_glGetTexEnviv(GLenum target, GLenum pname, 
GLint * params)
                                                               
currentContextTag,
                                                               target, pname),
                                         NULL);
-        if (xcb_glx_get_tex_enviv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_enviv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_enviv_data(reply),
@@ -4389,7 +4389,7 @@ __indirect_glGetTexGendv(GLenum coord, GLenum pname, 
GLdouble * params)
                                                               
currentContextTag,
                                                               coord, pname),
                                         NULL);
-        if (xcb_glx_get_tex_gendv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_gendv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_gendv_data(reply),
@@ -4429,7 +4429,7 @@ __indirect_glGetTexGenfv(GLenum coord, GLenum pname, 
GLfloat * params)
                                                               
currentContextTag,
                                                               coord, pname),
                                         NULL);
-        if (xcb_glx_get_tex_genfv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_genfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_genfv_data(reply),
@@ -4469,7 +4469,7 @@ __indirect_glGetTexGeniv(GLenum coord, GLenum pname, 
GLint * params)
                                                               
currentContextTag,
                                                               coord, pname),
                                         NULL);
-        if (xcb_glx_get_tex_geniv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_geniv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_geniv_data(reply),
@@ -4558,7 +4558,7 @@ __indirect_glGetTexParameterfv(GLenum target, GLenum 
pname, GLfloat * params)
                                                                           
target,
                                                                           
pname),
                                               NULL);
-        if (xcb_glx_get_tex_parameterfv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_parameterfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_parameterfv_data(reply),
@@ -4599,7 +4599,7 @@ __indirect_glGetTexParameteriv(GLenum target, GLenum 
pname, GLint * params)
                                                                           
target,
                                                                           
pname),
                                               NULL);
-        if (xcb_glx_get_tex_parameteriv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_parameteriv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_tex_parameteriv_data(reply),
@@ -4639,7 +4639,7 @@ __indirect_glGetTexLevelParameterfv(GLenum target, GLint 
level, GLenum pname,
                                                     (c, gc->currentContextTag,
                                                      target, level, pname),
                                                     NULL);
-        if (xcb_glx_get_tex_level_parameterfv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_level_parameterfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -4682,7 +4682,7 @@ __indirect_glGetTexLevelParameteriv(GLenum target, GLint 
level, GLenum pname,
                                                     (c, gc->currentContextTag,
                                                      target, level, pname),
                                                     NULL);
-        if (xcb_glx_get_tex_level_parameteriv_data_length(reply) == 0)
+        if (xcb_glx_get_tex_level_parameteriv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -5697,7 +5697,7 @@ __indirect_glGetColorTableParameterfv(GLenum target, 
GLenum pname,
                                                       (c,
                                                        gc->currentContextTag,
                                                        target, pname), NULL);
-        if (xcb_glx_get_color_table_parameterfv_data_length(reply) == 0)
+        if (xcb_glx_get_color_table_parameterfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -5769,7 +5769,7 @@ __indirect_glGetColorTableParameteriv(GLenum target, 
GLenum pname,
                                                       (c,
                                                        gc->currentContextTag,
                                                        target, pname), NULL);
-        if (xcb_glx_get_color_table_parameteriv_data_length(reply) == 0)
+        if (xcb_glx_get_color_table_parameteriv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -6171,7 +6171,7 @@ __indirect_glGetConvolutionParameterfv(GLenum target, 
GLenum pname,
                                                       (c,
                                                        gc->currentContextTag,
                                                        target, pname), NULL);
-        if (xcb_glx_get_convolution_parameterfv_data_length(reply) == 0)
+        if (xcb_glx_get_convolution_parameterfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -6243,7 +6243,7 @@ __indirect_glGetConvolutionParameteriv(GLenum target, 
GLenum pname,
                                                       (c,
                                                        gc->currentContextTag,
                                                        target, pname), NULL);
-        if (xcb_glx_get_convolution_parameteriv_data_length(reply) == 0)
+        if (xcb_glx_get_convolution_parameteriv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -6398,7 +6398,7 @@ __indirect_glGetHistogramParameterfv(GLenum target, 
GLenum pname,
                                                     
xcb_glx_get_histogram_parameterfv
                                                     (c, gc->currentContextTag,
                                                      target, pname), NULL);
-        if (xcb_glx_get_histogram_parameterfv_data_length(reply) == 0)
+        if (xcb_glx_get_histogram_parameterfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -6469,7 +6469,7 @@ __indirect_glGetHistogramParameteriv(GLenum target, 
GLenum pname,
                                                     
xcb_glx_get_histogram_parameteriv
                                                     (c, gc->currentContextTag,
                                                      target, pname), NULL);
-        if (xcb_glx_get_histogram_parameteriv_data_length(reply) == 0)
+        if (xcb_glx_get_histogram_parameteriv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params,
@@ -6620,7 +6620,7 @@ __indirect_glGetMinmaxParameterfv(GLenum target, GLenum 
pname,
                                                  xcb_glx_get_minmax_parameterfv
                                                  (c, gc->currentContextTag,
                                                   target, pname), NULL);
-        if (xcb_glx_get_minmax_parameterfv_data_length(reply) == 0)
+        if (xcb_glx_get_minmax_parameterfv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_minmax_parameterfv_data(reply),
@@ -6688,7 +6688,7 @@ __indirect_glGetMinmaxParameteriv(GLenum target, GLenum 
pname, GLint * params)
                                                  xcb_glx_get_minmax_parameteriv
                                                  (c, gc->currentContextTag,
                                                   target, pname), NULL);
-        if (xcb_glx_get_minmax_parameteriv_data_length(reply) == 0)
+        if (xcb_glx_get_minmax_parameteriv_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_minmax_parameteriv_data(reply),
@@ -8430,7 +8430,7 @@ __indirect_glGetQueryObjectivARB(GLuint id, GLenum pname, 
GLint * params)
                                                  xcb_glx_get_query_objectiv_arb
                                                  (c, gc->currentContextTag,
                                                   id, pname), NULL);
-        if (xcb_glx_get_query_objectiv_arb_data_length(reply) == 0)
+        if (xcb_glx_get_query_objectiv_arb_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_query_objectiv_arb_data(reply),
@@ -8468,7 +8468,7 @@ __indirect_glGetQueryObjectuivARB(GLuint id, GLenum 
pname, GLuint * params)
                                                   
xcb_glx_get_query_objectuiv_arb
                                                   (c, gc->currentContextTag,
                                                    id, pname), NULL);
-        if (xcb_glx_get_query_objectuiv_arb_data_length(reply) == 0)
+        if (xcb_glx_get_query_objectuiv_arb_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_query_objectuiv_arb_data(reply),
@@ -8509,7 +8509,7 @@ __indirect_glGetQueryivARB(GLenum target, GLenum pname, 
GLint * params)
                                                                   target,
                                                                   pname),
                                           NULL);
-        if (xcb_glx_get_queryiv_arb_data_length(reply) == 0)
+        if (xcb_glx_get_queryiv_arb_data_length(reply) == 1)
             (void) memcpy(params, &reply->datum, sizeof(reply->datum));
         else
             (void) memcpy(params, xcb_glx_get_queryiv_arb_data(reply),
diff --git a/src/mapi/glapi/gen/glX_proto_send.py 
b/src/mapi/glapi/gen/glX_proto_send.py
index bec0222..20137df 100644
--- a/src/mapi/glapi/gen/glX_proto_send.py
+++ b/src/mapi/glapi/gen/glX_proto_send.py
@@ -683,7 +683,9 @@ generic_%u_byte( GLint rop, const void * ptr )
 
                                elif output and not f.reply_always_array:
                                        if not output.is_image():
-                                               print '        if 
(%s_data_length(reply) == 0)' % (xcb_name)
+                                               print '        // the 
XXX_data_length() xcb function name is misleading, it returns the number'
+                                               print '        // of elements, 
not the lenght of the data part. A single element is embedded.'
+                                               print '        if 
(%s_data_length(reply) == 1)' % (xcb_name)
                                                print '            
(void)memcpy(%s, &reply->datum, sizeof(reply->datum));' % (output.name)
                                                print '        else'
                                        print '        (void)memcpy(%s, 
%s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, 
xcb_name, output.get_base_type_string())
++++++ u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch ++++++
>From 26de08de6f27a5fe5fc6aaeee0ebedf40626ab04 Mon Sep 17 00:00:00 2001
From: Tobias Johannes Klausmann <tobias.johannes.klausm...@mni.thm.de>
Date: Fri, 20 Apr 2012 11:52:31 +0200
Subject: [PATCH] When glXBindTexImageEXT is called and SWrast is used there
 will be a crash when sPriv->swrast_loader->getImage() is
 called from swrastSetTexBuffer2(). Reason: no memory has
 been allocated for the destination thus texImage->Data is
 NULL. Call ctx->Driver.TexImage2D() to initialize this. If
 memory has been allocated in a previous call free it first.

Signed-off-by: Egbert Eich <e...@freedesktop.org>

for 8.0.1

Ported to 8.0.2
---
 src/mesa/drivers/dri/swrast/swrast.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/swrast/swrast.c 
b/src/mesa/drivers/dri/swrast/swrast.c
index d18dd09..dd7d0c0 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -63,6 +63,7 @@
 static void swrastSetTexBuffer2(__DRIcontext *pDRICtx, GLint target,
                                GLint texture_format, __DRIdrawable *dPriv)
 {
+    GET_CURRENT_CONTEXT(ctx);
     struct dri_context *dri_ctx;
     int x, y, w, h;
     __DRIscreen *sPriv = dPriv->driScreenPriv;
@@ -93,6 +94,13 @@ static void swrastSetTexBuffer2(__DRIcontext *pDRICtx, GLint 
target,
 
     _mesa_init_teximage_fields(&dri_ctx->Base, texImage,
                               w, h, 1, 0, internalFormat, texFormat);
+    
+    if (texImage->Data)
+       ctx->Driver.FreeTexImageData(ctx, texImage);
+    
+    ctx->Driver.TexImage2D(ctx, target, 0, internalFormat,
+                          w, h, 0, texture_format, GL_UNSIGNED_INT_8_8_8_8,
+                          NULL, &ctx->Unpack, texObj, texImage);
 
     sPriv->swrast_loader->getImage(dPriv, x, y, w, h, (char *)swImage->Buffer,
                                   dPriv->loaderPrivate);
-- 
1.7.7

++++++ u_mesa-8.0-llvmpipe-shmget.patch ++++++
diff -up mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c.jx 
mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c
--- mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c.jx  2012-04-24 
07:37:03.000000000 -0400
+++ mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c     2012-05-16 
13:30:36.596312047 -0400
@@ -252,8 +252,6 @@ drisw_update_tex_buffer(struct dri_drawa
    struct pipe_transfer *transfer;
    char *map;
    int x, y, w, h;
-   int ximage_stride, line;
-   int cpp = util_format_get_blocksize(res->format);
 
    get_drawable_info(dPriv, &x, &y, &w, &h);
 
@@ -266,14 +264,6 @@ drisw_update_tex_buffer(struct dri_drawa
    /* Copy the Drawable content to the mapped texture buffer */
    get_image(dPriv, x, y, w, h, map);
 
-   /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
-   ximage_stride = w * cpp;
-   for (line = h-1; line; --line) {
-      memmove(&map[line * transfer->stride],
-              &map[line * ximage_stride],
-              ximage_stride);
-   }
-
    pipe_transfer_unmap(pipe, transfer);
    pipe_transfer_destroy(pipe, transfer);
 }
diff -up mesa-20120424/src/glx/drisw_glx.c.jx mesa-20120424/src/glx/drisw_glx.c
--- mesa-20120424/src/glx/drisw_glx.c.jx        2012-04-24 07:37:03.000000000 
-0400
+++ mesa-20120424/src/glx/drisw_glx.c   2012-05-16 13:29:25.087965268 -0400
@@ -24,6 +24,9 @@
 #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
 
 #include <X11/Xlib.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <X11/extensions/XShm.h>
 #include "glxclient.h"
 #include <dlfcn.h>
 #include "dri_common.h"
@@ -206,6 +209,96 @@ swrastPutImage(__DRIdrawable * draw, int
    ximage->data = NULL;
 }
 
+static int shm_error;
+
+static int
+shm_handler(Display *d, XErrorEvent *e)
+{
+    shm_error = 1;
+    return 0;
+}
+
+static int
+align(int value, int alignment)
+{
+   return (value + alignment - 1) & ~(alignment - 1);
+}
+
+/*
+ * Slight fast path.  Short of changing how texture memory is allocated, we
+ * have two options for getting the pixels out.  GetImage is clamped by the
+ * server's write buffer size, so you end up doing lots of relatively small
+ * requests (128k each or so), with two memcpys: down into the kernel, and
+ * then back up.  ShmGetImage is one big blit into the shm segment (which
+ * could be GPU DMA, in principle) and then another one here.
+ */
+static Bool
+swrastShmGetImage(__DRIdrawable *read, char *data, struct drisw_drawable *prp)
+{
+    __GLXDRIdrawable *pread = &(prp->base);
+    Display *dpy = pread->psc->dpy;
+    XImage *ximage = prp->ximage;
+    unsigned long image_size = ximage->height * ximage->bytes_per_line;
+    Bool ret = 0;
+    XShmSegmentInfo seg = { 0, -1, (void *)-1, 0 };
+    int (*old_handler)(Display *, XErrorEvent *);
+
+    if (!XShmQueryExtension(dpy))
+       goto out;
+
+    /* image setup */
+    seg.shmid = shmget(IPC_PRIVATE, image_size, IPC_CREAT | 0777);
+    if (seg.shmid < 0)
+       goto out;
+
+    seg.shmaddr = shmat(seg.shmid, NULL, 0);
+    if (seg.shmaddr == (void *)-1)
+       goto out;
+
+    XSync(dpy, 0);
+    old_handler = XSetErrorHandler(shm_handler);
+    XShmAttach(dpy, &seg);
+    XSync(dpy, 0);
+    XSetErrorHandler(old_handler);
+    if (shm_error)
+       goto out;
+
+    ximage->data = seg.shmaddr;
+    ximage->obdata = &seg;
+    if (!XShmGetImage(dpy, pread->xDrawable, ximage, 0, 0, -1))
+       goto out;
+
+    /*
+     * ShmGetImage doesn't actually pay attention to ->bytes_per_line.
+     * We have to compensate for this somewhere since llvmpipe's natural
+     * tile width is 64.  Do it here so we don't have to undo it with a
+     * bunch of memmove in the driver.
+     */
+    do {
+       int i;
+       char *src = ximage->data;
+       int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256);
+
+       for (i = 0; i < ximage->height; i++) {
+           memcpy(data, src, ximage->bytes_per_line);
+           data += dst_width;
+           src += ximage->bytes_per_line;
+       }
+    } while (0);
+    ret = 1;
+
+out:
+    ximage->obdata = NULL;
+    ximage->data = NULL;
+    shm_error = 0;
+    XShmDetach(dpy, &seg);
+    if (seg.shmaddr != (void *)-1)
+       shmdt(seg.shmaddr);
+    if (seg.shmid > -1)
+       shmctl(seg.shmid, IPC_RMID, NULL);
+    return ret;
+}
+
 static void
 swrastGetImage(__DRIdrawable * read,
                int x, int y, int w, int h,
@@ -220,11 +313,17 @@ swrastGetImage(__DRIdrawable * read,
    readable = pread->xDrawable;
 
    ximage = prp->ximage;
-   ximage->data = data;
    ximage->width = w;
    ximage->height = h;
    ximage->bytes_per_line = bytes_per_line(w * ximage->bits_per_pixel, 32);
 
+   /* XXX check dimensions, if any caller ever sub-images */
+   if (swrastShmGetImage(read, data, prp))
+      return;
+
+   /* shm failed, fall back to protocol */
+   ximage->data = data;
+
    XGetSubImage(dpy, readable, x, y, w, h, ~0L, ZPixmap, ximage, 0, 0);
 
    ximage->data = NULL;
++++++ u_mesa-8.0.1-fix-16bpp.patch ++++++
diff -up Mesa-8.0.1/src/glx/drisw_glx.c.jx Mesa-8.0.1/src/glx/drisw_glx.c
--- Mesa-8.0.1/src/glx/drisw_glx.c.jx   2012-04-02 10:34:23.000000000 -0400
+++ Mesa-8.0.1/src/glx/drisw_glx.c      2012-04-02 11:44:19.296407735 -0400
@@ -274,7 +274,9 @@ swrastShmGetImage(__DRIdrawable *read, c
     do {
        int i;
        char *src = ximage->data;
-       int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256);
+       int bytes_per_pixel = ((ximage->bits_per_pixel + 7) / 8);
+       int dst_width = align(ximage->width * bytes_per_pixel,
+                             64 * bytes_per_pixel);
 
        for (i = 0; i < ximage->height; i++) {
            memcpy(data, src, ximage->bytes_per_line);
diff -up Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx 
Mesa-8.0.1/src/mesa/state_tracker/st_manager.c
--- Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx   2012-02-14 
18:44:00.000000000 -0500
+++ Mesa-8.0.1/src/mesa/state_tracker/st_manager.c      2012-04-02 
12:02:14.613964417 -0400
@@ -528,6 +528,9 @@ st_context_teximage(struct st_context_if
       if (util_format_get_component_bits(internal_format,
                UTIL_FORMAT_COLORSPACE_RGB, 3) > 0)
          internalFormat = GL_RGBA;
+      else if (util_format_get_component_bits(internal_format,
+                 UTIL_FORMAT_COLORSPACE_RGB, 0) == 5)
+         internalFormat = GL_RGB5;
       else
          internalFormat = GL_RGB;
 
++++++ u_remove-os-abi-tag.patch ++++++
Author: Stefan Dirsch <sndir...@suse.de>
Subject: Remove OS ABI tag from libGL, so it is no longer preferred over libGLs 
without OS ABI tag
References: bnc#765294, fdo#26663

diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86-64_asm.py 
mesa-8.0.3/src/mapi/glapi/gen/gl_x86-64_asm.py
--- mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86-64_asm.py        2012-06-12 
12:07:39.000000000 +0200
+++ mesa-8.0.3/src/mapi/glapi/gen/gl_x86-64_asm.py      2012-06-12 
12:09:17.000000000 +0200
@@ -181,7 +181,7 @@ class PrintGenericStubs(gl_XML.gl_print_
 
        def printRealFooter(self):
                print ''
-               print '#if defined(GLX_USE_TLS) && defined(__linux__)'
+               print '#if 0 && defined(__linux__)'
                print ' .section ".note.ABI-tag", "a"'
                print ' .p2align 2'
                print ' .long   1f - 0f   /* name length */'
diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86_asm.py 
mesa-8.0.3/src/mapi/glapi/gen/gl_x86_asm.py
--- mesa-8.0.3.orig//src/mapi/glapi/gen/gl_x86_asm.py   2012-06-12 
12:07:39.000000000 +0200
+++ mesa-8.0.3/src/mapi/glapi/gen/gl_x86_asm.py 2012-06-12 12:09:29.000000000 
+0200
@@ -189,7 +189,7 @@ class PrintGenericStubs(gl_XML.gl_print_
                print '\t\tALIGNTEXT16'
                print 'GLNAME(gl_dispatch_functions_end):'
                print ''
-               print '#if defined(GLX_USE_TLS) && defined(__linux__)'
+               print '#if 0 && defined(__linux__)'
                print ' .section ".note.ABI-tag", "a"'
                print ' .p2align 2'
                print ' .long   1f - 0f   /* name length */'
diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/glapi_x86-64.S 
mesa-8.0.3/src/mapi/glapi/glapi_x86-64.S
--- mesa-8.0.3.orig//src/mapi/glapi/glapi_x86-64.S      2012-06-12 
12:07:39.000000000 +0200
+++ mesa-8.0.3/src/mapi/glapi/glapi_x86-64.S    2012-06-12 12:09:43.000000000 
+0200
@@ -37448,7 +37448,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES):
        .globl GL_PREFIX(TransformFeedbackVaryings) ; .set 
GL_PREFIX(TransformFeedbackVaryings), GL_PREFIX(TransformFeedbackVaryingsEXT)
        .globl GL_PREFIX(ProvokingVertex) ; .set GL_PREFIX(ProvokingVertex), 
GL_PREFIX(ProvokingVertexEXT)
 
-#if defined(GLX_USE_TLS) && defined(__linux__)
+#if 0 && defined(__linux__)
        .section ".note.ABI-tag", "a"
        .p2align 2
        .long   1f - 0f   /* name length */
diff -u -r -p mesa-8.0.3.orig//src/mapi/glapi/glapi_x86.S 
mesa-8.0.3/src/mapi/glapi/glapi_x86.S
--- mesa-8.0.3.orig//src/mapi/glapi/glapi_x86.S 2012-06-12 12:07:39.000000000 
+0200
+++ mesa-8.0.3/src/mapi/glapi/glapi_x86.S       2012-06-12 12:09:01.000000000 
+0200
@@ -1504,7 +1504,7 @@ GLNAME(gl_dispatch_functions_start):
                ALIGNTEXT16
 GLNAME(gl_dispatch_functions_end):
 
-#if defined(GLX_USE_TLS) && defined(__linux__)
+#if 0 && defined(__linux__)
        .section ".note.ABI-tag", "a"
        .p2align 2
        .long   1f - 0f   /* name length */
diff -u -r -p mesa-8.0.3.orig//src/mapi/mapi/entry_x86-64_tls.h 
mesa-8.0.3/src/mapi/mapi/entry_x86-64_tls.h
--- mesa-8.0.3.orig//src/mapi/mapi/entry_x86-64_tls.h   2012-06-12 
12:07:39.000000000 +0200
+++ mesa-8.0.3/src/mapi/mapi/entry_x86-64_tls.h 2012-06-12 12:10:20.000000000 
+0200
@@ -28,7 +28,7 @@
 
 #include "u_macros.h"
 
-#ifdef __linux__
+#if 0
 __asm__(".section .note.ABI-tag, \"a\"\n\t"
         ".p2align 2\n\t"
         ".long 1f - 0f\n\t"      /* name length */
diff -u -r -p mesa-8.0.3.orig//src/mapi/mapi/entry_x86_tls.h 
mesa-8.0.3/src/mapi/mapi/entry_x86_tls.h
--- mesa-8.0.3.orig//src/mapi/mapi/entry_x86_tls.h      2012-06-12 
12:07:39.000000000 +0200
+++ mesa-8.0.3/src/mapi/mapi/entry_x86_tls.h    2012-06-12 12:10:32.000000000 
+0200
@@ -29,7 +29,7 @@
 #include <string.h>
 #include "u_macros.h"
 
-#ifdef __linux__
+#if 0
 __asm__(".section .note.ABI-tag, \"a\"\n\t"
         ".p2align 2\n\t"
         ".long 1f - 0f\n\t"      /* name length */
++++++ upstream-llvm-patch.diff ++++++
>From fe34006908f1ff99ada34d52c06fd80197e452ec Mon Sep 17 00:00:00 2001
From: Vinson Lee <v...@freedesktop.org>
Date: Wed, 14 Mar 2012 05:40:52 +0000
Subject: gallivm: Fix createOProfileJITEventListener namespace with llvm-3.1.

llvm-3.1svn r152620 refactored the OProfile profiling code.
createOProfileJITEventListener was moved from the llvm namespace to the
llvm::JITEventListener namespace.

Signed-off-by: Vinson Lee <v...@freedesktop.org>
Reviewed-by: Brian Paul <bri...@vmware.com>
---
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp 
b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
index fe7616b..68f8808 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
@@ -62,7 +62,11 @@
 extern "C" void
 lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE)
 {
+#if HAVE_LLVM >= 0x0301
+   
llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener());
+#else
    
llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener());
+#endif
 }
 
 
--
cgit v0.9.0.2-2-gbebe

>From 1633dcd890d97bd5e4d125d57f2f529f04d14477 Mon Sep 17 00:00:00 2001
From: Vinson Lee <v...@freedesktop.org>
Date: Tue, 06 Mar 2012 06:00:40 +0000
Subject: gallivm: Pass in a MCRegisterInfo to MCInstPrinter on llvm-3.1.

llvm-3.1svn r152043 changes createMCInstPrinter to take an additional
MCRegisterInfo argument.

Signed-off-by: Vinson Lee <v...@freedesktop.org>
Reviewed-by: Brian Paul <bri...@vmware.com>
---
(limited to 'src/gallium/auxiliary/gallivm/lp_bld_debug.cpp')

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 
b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index 11209da..b6849cb 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -235,7 +235,18 @@ lp_disassemble(const void* func)
    int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
 #endif
 
-#if HAVE_LLVM >= 0x0300
+#if HAVE_LLVM >= 0x0301
+   OwningPtr<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
+   if (!MRI) {
+      debug_printf("error: no register info for target %s\n", Triple.c_str());
+      return;
+   }
+#endif
+
+#if HAVE_LLVM >= 0x0301
+   OwningPtr<MCInstPrinter> Printer(
+         T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MRI, *STI));
+#elif HAVE_LLVM == 0x0300
    OwningPtr<MCInstPrinter> Printer(
          T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
 #elif HAVE_LLVM >= 0x0208
--
cgit v0.9.0.2-2-gbebe

>From 4f513002f65c629576252b34efedf3c8c4531dfd Mon Sep 17 00:00:00 2001
From: Vinson Lee <v...@freedesktop.org>
Date: Tue, 03 Apr 2012 05:14:15 +0000
Subject: gallivm: Pass in a MCInstrInfo to createMCInstPrinter on llvm-3.1.

llvm-3.1svn r153860 makes MCInstrInfo available to the MCInstPrinter.

Signed-off-by: Vinson Lee <v...@freedesktop.org>
Reviewed-by: Brian Paul <bri...@vmware.com>
---
(limited to 'src/gallium/auxiliary/gallivm/lp_bld_debug.cpp')

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 
b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index c5afff0..9cf2094 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -241,11 +241,17 @@ lp_disassemble(const void* func)
       debug_printf("error: no register info for target %s\n", Triple.c_str());
       return;
    }
+
+   OwningPtr<const MCInstrInfo> MII(T->createMCInstrInfo());
+   if (!MII) {
+      debug_printf("error: no instruction info for target %s\n", 
Triple.c_str());
+      return;
+   }
 #endif
 
 #if HAVE_LLVM >= 0x0301
    OwningPtr<MCInstPrinter> Printer(
-         T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MRI, *STI));
+         T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, 
*STI));
 #elif HAVE_LLVM == 0x0300
    OwningPtr<MCInstPrinter> Printer(
          T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
--
cgit v0.9.0.2-2-gbebe
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to