diff -u mesa-7.7.1/debian/changelog mesa-7.7.1/debian/changelog --- mesa-7.7.1/debian/changelog +++ mesa-7.7.1/debian/changelog @@ -1,3 +1,10 @@ +mesa (7.7.1-1ubuntu4~gpufix2) lucid; urgency=low + + * Update with cherry-pick of official fix. + https://bugs.freedesktop.org/show_bug.cgi?id=26557 + + -- Brian Rogers Sat, 05 Jun 2010 05:26:28 -0700 + mesa (7.7.1-1ubuntu4~gpufix1) lucid; urgency=low * Revert "intel: Make RGB textures use XRGB8888" reverted: --- mesa-7.7.1/debian/patches/0001-Revert-intel-Make-RGB-textures-use-XRGB8888.patch +++ mesa-7.7.1.orig/debian/patches/0001-Revert-intel-Make-RGB-textures-use-XRGB8888.patch @@ -1,37 +0,0 @@ -From f3a20d0b31a35e44c493aefc46be62cd9062d6c0 Mon Sep 17 00:00:00 2001 -From: Brian Rogers -Date: Tue, 23 Feb 2010 05:17:38 -0800 -Subject: [PATCH] Revert "intel: Make RGB textures use XRGB8888" - -This reverts commit b4a6169412819cc3a027c6a118f0537911145a30. ---- - src/mesa/drivers/dri/intel/intel_tex_format.c | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/mesa/drivers/dri/intel/intel_tex_format.c b/src/mesa/drivers/dri/intel/intel_tex_format.c -index 87efb72..bfa3dba 100644 ---- a/src/mesa/drivers/dri/intel/intel_tex_format.c -+++ b/src/mesa/drivers/dri/intel/intel_tex_format.c -@@ -50,7 +50,8 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat, - if (format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5) { - return MESA_FORMAT_RGB565; - } -- return do32bpt ? MESA_FORMAT_XRGB8888 : MESA_FORMAT_RGB565; -+ /* XXX use MESA_FORMAT_XRGB8888 someday */ -+ return do32bpt ? MESA_FORMAT_ARGB8888 : MESA_FORMAT_RGB565; - - case GL_RGBA8: - case GL_RGB10_A2: -@@ -69,7 +70,8 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat, - case GL_RGB10: - case GL_RGB12: - case GL_RGB16: -- return MESA_FORMAT_XRGB8888; -+ /* XXX use MESA_FORMAT_XRGB8888 someday */ -+ return MESA_FORMAT_ARGB8888; - - case GL_RGB5: - case GL_RGB4: --- -1.7.0 - diff -u mesa-7.7.1/debian/patches/series mesa-7.7.1/debian/patches/series --- mesa-7.7.1/debian/patches/series +++ mesa-7.7.1/debian/patches/series @@ -12 +12 @@ -0001-Revert-intel-Make-RGB-textures-use-XRGB8888.patch +0001-i915-Don-t-use-XRGB8888-on-830-and-845.patch only in patch2: unchanged: --- mesa-7.7.1.orig/debian/patches/0001-i915-Don-t-use-XRGB8888-on-830-and-845.patch +++ mesa-7.7.1/debian/patches/0001-i915-Don-t-use-XRGB8888-on-830-and-845.patch @@ -0,0 +1,94 @@ +From 2abc37c82bbe2e80d82e3b1cc2e9e49de970a3a6 Mon Sep 17 00:00:00 2001 +From: Brian Rogers +Date: Sat, 5 Jun 2010 05:17:59 -0700 +Subject: [PATCH] i915: Don't use XRGB8888 on 830 and 845. + +The support for XRGB8888 appeared in the 855 and 865, and this format +is reserved on 830/845. This should fix a regression from +b4a6169412819cc3a027c6a118f0537911145a30 that caused hangs in etracer +on 845s. + +Bug #26557. +(cherry picked from commit f0ff214bee64a705d3ef6610e9dc25bc1a46a460) + +Conflicts: + + src/mesa/drivers/dri/intel/intel_context.c + src/mesa/drivers/dri/intel/intel_context.h +--- + src/mesa/drivers/dri/intel/intel_context.c | 8 +++++++- + src/mesa/drivers/dri/intel/intel_context.h | 1 + + src/mesa/drivers/dri/intel/intel_tex_format.c | 14 ++++++++++++-- + 3 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c +index 6275df3..07c857f 100644 +--- a/src/mesa/drivers/dri/intel/intel_context.c ++++ b/src/mesa/drivers/dri/intel/intel_context.c +@@ -613,12 +613,18 @@ intelInitContext(struct intel_context *intel, + intel->sarea = intelScreen->sarea; + intel->driContext = driContextPriv; + ++ intel->has_xrgb_textures = GL_TRUE; + if (IS_965(intel->intelScreen->deviceID)) + intel->gen = 4; + else if (IS_9XX(intel->intelScreen->deviceID)) + intel->gen = 3; +- else ++ else { + intel->gen = 2; ++ if (intel->intelScreen->deviceID == PCI_CHIP_I830_M || ++ intel->intelScreen->deviceID == PCI_CHIP_845_G) { ++ intel->has_xrgb_textures = GL_FALSE; ++ } ++ } + + /* Dri stuff */ + intel->hHWContext = driContextPriv->hHWContext; +diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h +index 1afec09..39afa40 100644 +--- a/src/mesa/drivers/dri/intel/intel_context.h ++++ b/src/mesa/drivers/dri/intel/intel_context.h +@@ -184,6 +184,7 @@ struct intel_context + * Generation number of the hardware: 2 is 8xx, 3 is 9xx pre-965, 4 is 965. + */ + int gen; ++ GLboolean has_xrgb_textures; + + struct intel_region *front_region; + struct intel_region *back_region; +diff --git a/src/mesa/drivers/dri/intel/intel_tex_format.c b/src/mesa/drivers/dri/intel/intel_tex_format.c +index 87efb72..c5e5320 100644 +--- a/src/mesa/drivers/dri/intel/intel_tex_format.c ++++ b/src/mesa/drivers/dri/intel/intel_tex_format.c +@@ -50,7 +50,14 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat, + if (format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5) { + return MESA_FORMAT_RGB565; + } +- return do32bpt ? MESA_FORMAT_XRGB8888 : MESA_FORMAT_RGB565; ++ if (do32bpt) { ++ if (intel->has_xrgb_textures) ++ return MESA_FORMAT_XRGB8888; ++ else ++ return MESA_FORMAT_ARGB8888; ++ } else { ++ return MESA_FORMAT_RGB565; ++ } + + case GL_RGBA8: + case GL_RGB10_A2: +@@ -69,7 +76,10 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat, + case GL_RGB10: + case GL_RGB12: + case GL_RGB16: +- return MESA_FORMAT_XRGB8888; ++ if (intel->has_xrgb_textures) ++ return MESA_FORMAT_XRGB8888; ++ else ++ return MESA_FORMAT_ARGB8888; + + case GL_RGB5: + case GL_RGB4: +-- +1.7.0.4 +