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)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 25 Oct 2012 16:57:57 +0000 (17:57 +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>
src/mesa/state_tracker/st_cb_drawpixels.c

index 4e2edd2e7fd6e5112579ff9fb0de2dccce3be56c..642011488cd40bb8b25fd0638cf5f9f69c1962ec 100644 (file)
@@ -396,6 +396,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;