aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/drivers/common/meta.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-07-29 11:17:40 +0200
committermarha <marha@users.sourceforge.net>2011-07-29 11:17:40 +0200
commita69cff9373daf6b7afc97fb975ceb4fc0d6864f7 (patch)
tree2c04fb8e0dc217b9f418c8ec37f17973a93779a2 /mesalib/src/mesa/drivers/common/meta.c
parentfa08275a130f5693e2add977df7cf38d44f2f8da (diff)
parent28257038c4f13ac26127d536c14c922aa036efed (diff)
downloadvcxsrv-a69cff9373daf6b7afc97fb975ceb4fc0d6864f7.tar.gz
vcxsrv-a69cff9373daf6b7afc97fb975ceb4fc0d6864f7.tar.bz2
vcxsrv-a69cff9373daf6b7afc97fb975ceb4fc0d6864f7.zip
Merge remote-tracking branch 'origin/released'
Conflicts: libX11/configure.ac mesalib/src/mesa/main/ff_fragment_shader.cpp mesalib/src/mesa/main/framebuffer.c mesalib/src/mesa/main/texparam.c pixman/pixman/pixman-arm-neon-asm.S
Diffstat (limited to 'mesalib/src/mesa/drivers/common/meta.c')
-rw-r--r--mesalib/src/mesa/drivers/common/meta.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c
index 26c895196..f9b475598 100644
--- a/mesalib/src/mesa/drivers/common/meta.c
+++ b/mesalib/src/mesa/drivers/common/meta.c
@@ -2869,6 +2869,16 @@ copy_tex_sub_image(struct gl_context *ctx,
/* Choose format/type for temporary image buffer */
format = _mesa_get_format_base_format(texImage->TexFormat);
+ if (format == GL_LUMINANCE ||
+ format == GL_LUMINANCE_ALPHA ||
+ format == GL_INTENSITY) {
+ /* We don't want to use GL_LUMINANCE, GL_INTENSITY, etc. for the
+ * temp image buffer because glReadPixels will do L=R+G+B which is
+ * not what we want (should be L=R).
+ */
+ format = GL_RGBA;
+ }
+
type = get_temp_image_type(ctx, format);
bpp = _mesa_bytes_per_pixel(format, type);
if (bpp <= 0) {