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>
This commit is contained in:
Jason Ekstrand 2015-02-02 09:49:44 -08:00
parent af8fd694d4
commit 2cebaac479
2 changed files with 14 additions and 0 deletions

View file

@ -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;

View file

@ -392,6 +392,13 @@ intel_gettexsubimage_tiled_memcpy(struct gl_context *ctx,
packing->Invert)
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 (texImage->TexFormat == MESA_FORMAT_B8G8R8X8_UNORM ||
texImage->TexFormat == MESA_FORMAT_R8G8B8X8_UNORM)
return false;
if (!intel_get_memcpy(texImage->TexFormat, format, type, &mem_copy, &cpp))
return false;