mesa: Choose RGTC formats for GL_COMPRESSED_RED, GL_COMPRESSED_RG.
authorEric Anholt <eric@anholt.net>
Wed, 20 Apr 2011 16:31:34 +0000 (09:31 -0700)
committerEric Anholt <eric@anholt.net>
Sat, 23 Apr 2011 20:14:56 +0000 (13:14 -0700)
We were falling through to the default R8 and RG88 formats instead of
compressing when possible.  Noticed by swrast fbo-blending-formats
actually doing rendering.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/texformat.c

index c85a7c0..cbebec9 100644 (file)
@@ -621,7 +621,11 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
       switch (internalFormat) {
       case GL_R8:
       case GL_RED:
+        RETURN_IF_SUPPORTED(MESA_FORMAT_R8);
+        break;
+
       case GL_COMPRESSED_RED:
+        RETURN_IF_SUPPORTED(MESA_FORMAT_RED_RGTC1);
         RETURN_IF_SUPPORTED(MESA_FORMAT_R8);
         break;
 
@@ -631,7 +635,11 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
 
       case GL_RG:
       case GL_RG8:
+        RETURN_IF_SUPPORTED(MESA_FORMAT_RG88);
+        break;
+
       case GL_COMPRESSED_RG:
+        RETURN_IF_SUPPORTED(MESA_FORMAT_RG_RGTC2);
         RETURN_IF_SUPPORTED(MESA_FORMAT_RG88);
         break;