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