From edc2dd8e4788e556d445c9f59974ed95b33c2bbc Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 13 Jan 2011 12:12:21 +1000 Subject: mesa/swrast: implement EXT_texture_sRGB_decode This implements the extension by choosing a different set of texture fetch functions when the texture parameter changes. Signed-off-by: Dave Airlie --- src/mesa/main/formats.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/mesa/main/formats.c') diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 1bc72726e1..3ccc40b9a7 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -1090,6 +1090,43 @@ _mesa_get_format_color_encoding(gl_format format) } } +gl_format +_mesa_get_srgb_format_linear(gl_format format) +{ + switch (format) { + case MESA_FORMAT_SRGB8: + format = MESA_FORMAT_RGB888; + break; + case MESA_FORMAT_SRGBA8: + format = MESA_FORMAT_RGBA8888; + break; + case MESA_FORMAT_SARGB8: + format = MESA_FORMAT_ARGB8888; + break; + case MESA_FORMAT_SL8: + format = MESA_FORMAT_L8; + break; + case MESA_FORMAT_SLA8: + format = MESA_FORMAT_AL88; + break; + case MESA_FORMAT_SRGB_DXT1: + format = MESA_FORMAT_RGB_DXT1; + break; + case MESA_FORMAT_SRGBA_DXT1: + format = MESA_FORMAT_RGBA_DXT1; + break; + case MESA_FORMAT_SRGBA_DXT3: + format = MESA_FORMAT_RGBA_DXT3; + break; + case MESA_FORMAT_SRGBA_DXT5: + format = MESA_FORMAT_RGBA_DXT5; + break; + default: + break; + } + return format; +} + /** * Return number of bytes needed to store an image of the given size -- cgit v1.2.3