mesa/meta: check for signed/unsigned int conversion for pbo getteximage
authorDave Airlie <airlied@redhat.com>
Tue, 10 May 2016 05:41:46 +0000 (15:41 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 10 May 2016 20:52:20 +0000 (06:52 +1000)
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>
src/mesa/drivers/common/meta_tex_subimage.c

index 62c3fce..988af91 100644 (file)
@@ -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