From f02aec35e77b1d3944506e7622a4212dc88f84b5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 5 Feb 2010 05:01:14 +0100 Subject: [PATCH] r300g: add L8_SRGB and A8L8_SRGB texture formats --- src/gallium/drivers/r300/r300_screen.c | 2 ++ src/gallium/drivers/r300/r300_texture.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 18eecf7c135..2e04e313767 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -236,6 +236,8 @@ static boolean r300_is_format_supported(struct pipe_screen* screen, case PIPE_FORMAT_DXT3_RGBA: case PIPE_FORMAT_DXT5_RGBA: case PIPE_FORMAT_YCBCR: + case PIPE_FORMAT_L8_SRGB: + case PIPE_FORMAT_A8L8_SRGB: case PIPE_FORMAT_A8L8_UNORM: retval = usage & PIPE_TEXTURE_USAGE_SAMPLER; break; diff --git a/src/gallium/drivers/r300/r300_texture.h b/src/gallium/drivers/r300/r300_texture.h index b37be261337..961bdcc5b34 100644 --- a/src/gallium/drivers/r300/r300_texture.h +++ b/src/gallium/drivers/r300/r300_texture.h @@ -55,6 +55,9 @@ static INLINE uint32_t r300_translate_texformat(enum pipe_format format) return R300_EASY_TX_FORMAT(X, X, X, X, X8); case PIPE_FORMAT_L8_UNORM: return R300_EASY_TX_FORMAT(X, X, X, ONE, X8); + case PIPE_FORMAT_L8_SRGB: + return R300_EASY_TX_FORMAT(X, X, X, ONE, X8) | + R300_TX_FORMAT_GAMMA; /* X16 */ case PIPE_FORMAT_R16_UNORM: case PIPE_FORMAT_Z16_UNORM: @@ -65,6 +68,9 @@ static INLINE uint32_t r300_translate_texformat(enum pipe_format format) /* Y8X8 */ case PIPE_FORMAT_A8L8_UNORM: return R300_EASY_TX_FORMAT(X, X, X, Y, Y8X8); + case PIPE_FORMAT_A8L8_SRGB: + return R300_EASY_TX_FORMAT(X, X, X, Y, Y8X8) | + R300_TX_FORMAT_GAMMA; /* W8Z8Y8X8 */ case PIPE_FORMAT_A8R8G8B8_UNORM: return R300_EASY_TX_FORMAT(X, Y, Z, W, W8Z8Y8X8); -- 2.30.2