mesa st: Change the preferred internal format for some RGB formats.
authorThomas Hellstrom <thellstrom@vmware.com>
Thu, 30 Jul 2009 10:39:26 +0000 (12:39 +0200)
committerThomas Hellstrom <thellstrom@vmware.com>
Thu, 30 Jul 2009 10:43:35 +0000 (12:43 +0200)
For GL_RGB5, GL_RGB4 and GL_R3_G3_B2, prefer
PIPE_FORMAT_R5G6B5_UNORM over PIPE_FORMAT_A1R5G5B5_UNORM, since hardware
is more likely to support the previous format for rendering.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
src/mesa/state_tracker/st_format.c

index b243c24..dcb90a3 100644 (file)
@@ -435,10 +435,10 @@ st_choose_format(struct pipe_context *pipe, GLenum internalFormat,
    case GL_RGB5:
    case GL_RGB4:
    case GL_R3_G3_B2:
-      if (screen->is_format_supported( screen, PIPE_FORMAT_A1R5G5B5_UNORM, target, tex_usage, geom_flags ))
-         return PIPE_FORMAT_A1R5G5B5_UNORM;
       if (screen->is_format_supported( screen, PIPE_FORMAT_R5G6B5_UNORM, target, tex_usage, geom_flags ))
          return PIPE_FORMAT_R5G6B5_UNORM;
+      if (screen->is_format_supported( screen, PIPE_FORMAT_A1R5G5B5_UNORM, target, tex_usage, geom_flags ))
+         return PIPE_FORMAT_A1R5G5B5_UNORM;
       return default_rgba_format( screen, target, tex_usage, geom_flags );
 
    case GL_ALPHA: