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.bruens@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 - sndirsch@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 - fcrozat@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 - tiwai@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.klausmann@mni.thm.de
+
+- Update to Version 8.0.4 (minor bugfix release)
+- Back to bz2 tarballs
+
+-------------------------------------------------------------------
+Sat Jun 16 09:58:59 UTC 2012 - coolo@suse.com
+
+- remove buildrequire on vim, it creates a pretty big cycle for
+ no (obvious) benefit
+
+-------------------------------------------------------------------
+Tue Jun 12 15:53:50 UTC 2012 - sndirsch@suse.com
+
+- enabled build of XvMC/VDPAU state trackers for Nouveau, R300,
+ R600, Softpipe (Software implementation)
+
+-------------------------------------------------------------------
+Tue Jun 12 10:19:01 UTC 2012 - sndirsch@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 - sndirsch@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 - fcrozat@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 - sndirsch@suse.com
+
+- added configure options "--enable-gbm --enable-glx-tls" (required
+ for glamor support)
+
+-------------------------------------------------------------------
+Fri May 25 15:57:25 UTC 2012 - meissner@suse.com
+
+- libxatracker is also not built on ppc*.
+
+-------------------------------------------------------------------
+Mon May 21 12:32:23 UTC 2012 - sndirsch@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 - adrian@suse.de
+
+- fix build on platforms without gallium (s390 & arm)
+
+-------------------------------------------------------------------
+Wed Apr 25 14:14:35 UTC 2012 - tittiatcoke@gmail.com
+
+- Added patches from upstream Master to enable building with
+ llvm 3.1
+
+-------------------------------------------------------------------
+Wed Apr 25 13:17:59 UTC 2012 - sndirsch@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 - vljn@ovi.com
+
+- Enable xa state tracker and svga gallium drivers (vmwgfx stack)
+
+-------------------------------------------------------------------
+Sun Apr 15 18:10:39 CEST 2012 - ro@suse.de
+
+- use same dri drivers on ia64 as on ppc (no drm_intel)
+
+-------------------------------------------------------------------
+Wed Mar 21 23:21:24 UTC 2012 - ryanbach@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 - jengelh@medozas.de
+
+- Adjust baselibs.conf for OSMesa soname change
+
+-------------------------------------------------------------------
+Wed Mar 21 14:55:19 UTC 2012 - sndirsch@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 - coolo@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 - sndirsch@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 - meissner@suse.de
+
+- only require drm_intel on intel.
+
+-------------------------------------------------------------------
+Thu Feb 23 10:57:09 UTC 2012 - sndirsch@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 - jengelh@medozas.de
+
+- use --enable-shared-dricore, saves ~33 MB
+
+-------------------------------------------------------------------
+Wed Feb 22 14:14:56 UTC 2012 - sndirsch@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 - coolo@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 - jengelh@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
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?=
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
Reviewed-by: Ian Romanick
Tested-by: Benoit Jacob
---
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
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
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
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
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
+#include
+#include
+#include
#include "glxclient.h"
#include
#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
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
#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
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
Reviewed-by: Brian Paul
---
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
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
Reviewed-by: Brian Paul
---
(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
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
Reviewed-by: Brian Paul
---
(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+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org