summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/common
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-05-10 15:41:46 +1000
committerDave Airlie <airlied@redhat.com>2016-05-11 06:52:20 +1000
commitb230d51a181aae0982d167e227d1833154133a5c (patch)
tree72434110ecfb2611673fe1076c947876b2a5ddd5 /src/mesa/drivers/common
parent8bb156a261e866af2e0b4c59e2e29efd65bc0645 (diff)
downloadexternal_mesa3d-b230d51a181aae0982d167e227d1833154133a5c.zip
external_mesa3d-b230d51a181aae0982d167e227d1833154133a5c.tar.gz
external_mesa3d-b230d51a181aae0982d167e227d1833154133a5c.tar.bz2
mesa/meta: check for signed/unsigned int conversion for pbo getteximage
When doing GetTexSubImage using a PBO, we should check if it involves a signed/unsigned conversion and bail if it does, just like in the other cases. This fixes: GL33-CTS.gtf32.GL3Tests.packed_pixels.packed_pixels_pbo on Haswell at least. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95324 Reviewed-by: Matt Turer <mattst88@gmail.com> Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/drivers/common')
-rw-r--r--src/mesa/drivers/common/meta_tex_subimage.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/common/meta_tex_subimage.c b/src/mesa/drivers/common/meta_tex_subimage.c
index 62c3fce..988af91 100644
--- a/src/mesa/drivers/common/meta_tex_subimage.c
+++ b/src/mesa/drivers/common/meta_tex_subimage.c
@@ -355,6 +355,9 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims,
*/
if (need_signed_unsigned_int_conversion(rb->Format, format, type))
return false;
+ } else {
+ if (need_signed_unsigned_int_conversion(tex_image->TexFormat, format, type))
+ return false;
}
/* For arrays, use a tall (height * depth) 2D texture but taking into