summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_pixel_read.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2015-02-02 09:49:44 -0800
committerJason Ekstrand <jason.ekstrand@intel.com>2015-02-02 10:18:42 -0800
commit2cebaac479d49cd6df4e97b466ba14bab3f30db1 (patch)
treeaf1da09683811510bc37f6c772db6d3131df11d2 /src/mesa/drivers/dri/i965/intel_pixel_read.c
parentaf8fd694d4946493553aac310cc1ce5fa1f765e5 (diff)
downloadexternal_mesa3d-2cebaac479d49cd6df4e97b466ba14bab3f30db1.zip
external_mesa3d-2cebaac479d49cd6df4e97b466ba14bab3f30db1.tar.gz
external_mesa3d-2cebaac479d49cd6df4e97b466ba14bab3f30db1.tar.bz2
i965: Don't use tiled_memcpy to download from RGBX or BGRX surfaces
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88841 Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_pixel_read.c')
-rw-r--r--src/mesa/drivers/dri/i965/intel_pixel_read.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c
index f3ab05c..df22a63 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel_read.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c
@@ -132,6 +132,13 @@ intel_readpixels_tiled_memcpy(struct gl_context * ctx,
if (rb->NumSamples > 1)
return false;
+ /* We can't handle copying from RGBX or BGRX because the tiled_memcpy
+ * function doesn't set the last channel to 1.
+ */
+ if (rb->Format == MESA_FORMAT_B8G8R8X8_UNORM ||
+ rb->Format == MESA_FORMAT_R8G8B8X8_UNORM)
+ return false;
+
if (!intel_get_memcpy(rb->Format, format, type, &mem_copy, &cpp))
return false;