mesa/st: Don't use 4bits for GL_UNSIGNED_BYTE_3_3_2(_REV)
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 25 Oct 2012 14:47:12 +0000 (15:47 +0100)
committerAndreas Boll <andreas.boll.dev@gmail.com>
Wed, 13 Feb 2013 17:38:41 +0000 (18:38 +0100)
4bits and 3bits quantitization values differ significantly for
values other than 0 and 1.

Fixes piglit draw-pixels for softpipe/llvmpipe.

NOTE: Probably a candidate for stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
(cherry picked from commit 0cb0c38ccea84ab524d10447585000d41fbb8c74)

src/mesa/state_tracker/st_cb_drawpixels.c

index 9f1b427..8e2714d 100644 (file)
@@ -398,6 +398,8 @@ internal_format(struct gl_context *ctx, GLenum format, GLenum type)
 
          case GL_UNSIGNED_BYTE_3_3_2:
          case GL_UNSIGNED_BYTE_2_3_3_REV:
+            return GL_R3_G3_B2;
+
          case GL_UNSIGNED_SHORT_4_4_4_4:
          case GL_UNSIGNED_SHORT_4_4_4_4_REV:
             return GL_RGBA4;