Mesa (gallium-0.2): add SRGB formats

Alan Hourihane alanh at kemper.freedesktop.org
Wed Nov 19 09:36:11 UTC 2008


Module: Mesa
Branch: gallium-0.2
Commit: 227a8a2e773452a1e8354a9d48c25b254b6998b9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=227a8a2e773452a1e8354a9d48c25b254b6998b9

Author: Alan Hourihane <alanh at tungstengraphics.com>
Date:   Wed Nov 19 09:35:37 2008 +0000

add SRGB formats

---

 src/mesa/state_tracker/st_format.c |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
index a8ae30a..a9387c0 100644
--- a/src/mesa/state_tracker/st_format.c
+++ b/src/mesa/state_tracker/st_format.c
@@ -512,6 +512,32 @@ st_choose_format(struct pipe_context *pipe, GLint internalFormat,
          return PIPE_FORMAT_Z24S8_UNORM;
       return PIPE_FORMAT_NONE;
 
+   case GL_SRGB_EXT:
+   case GL_SRGB8_EXT:
+   case GL_COMPRESSED_SRGB_EXT:
+   case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
+   case GL_SRGB_ALPHA_EXT:
+   case GL_SRGB8_ALPHA8_EXT:
+   case GL_COMPRESSED_SRGB_ALPHA_EXT:
+   case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
+   case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
+   case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
+      return default_rgba_format( screen, target, tex_usage, geom_flags );
+
+   case GL_SLUMINANCE_ALPHA_EXT:
+   case GL_SLUMINANCE8_ALPHA8_EXT:
+   case GL_COMPRESSED_SLUMINANCE_EXT:
+   case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT:
+      if (screen->is_format_supported( screen, PIPE_FORMAT_A8L8_UNORM, target, tex_usage, geom_flags ))
+         return PIPE_FORMAT_A8L8_UNORM;
+      return default_rgba_format( screen, target, tex_usage, geom_flags );
+
+   case GL_SLUMINANCE_EXT:
+   case GL_SLUMINANCE8_EXT:
+      if (screen->is_format_supported( screen, PIPE_FORMAT_L8_UNORM, target, tex_usage, geom_flags ))
+         return PIPE_FORMAT_L8_UNORM;
+      return default_rgba_format( screen, target, tex_usage, geom_flags );
+
    default:
       return PIPE_FORMAT_NONE;
    }




More information about the mesa-commit mailing list