summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_tex_format.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-06-04 13:40:48 -0700
committerEric Anholt <eric@anholt.net>2010-06-04 13:40:48 -0700
commitf0ff214bee64a705d3ef6610e9dc25bc1a46a460 (patch)
tree027a6eb3559cde84d18c8219d01817b0bb2f4050 /src/mesa/drivers/dri/intel/intel_tex_format.c
parentb80a728f8a86cbd1efce9611d822ab73b5baeab9 (diff)
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.
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_tex_format.c')
-rw-r--r--src/mesa/drivers/dri/intel/intel_tex_format.c14
1 files changed, 12 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 b42d6f3155..5f813c0efa 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_format.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_format.c
@@ -49,7 +49,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:
@@ -68,7 +75,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: