summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_texture.h
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-02-07 11:36:00 +0100
committerMarek Olšák <maraeo@gmail.com>2010-02-14 17:50:29 +0100
commit71ac9551c49387813fcf3e6e88778081bf7306fe (patch)
tree91b68b58f71a1b237ca26933e7da6f16d513b80a /src/gallium/drivers/r300/r300_texture.h
parentfe889a89d28293d8f98b2cd730efc58785ceb5d8 (diff)
r300g: fix texture formats: A4R4G4B4_UNORM, A1R5G5B5_UNORM, R5G6B5_UNORM
Diffstat (limited to 'src/gallium/drivers/r300/r300_texture.h')
-rw-r--r--src/gallium/drivers/r300/r300_texture.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_texture.h b/src/gallium/drivers/r300/r300_texture.h
index 0c5ac48a24..1d2382da06 100644
--- a/src/gallium/drivers/r300/r300_texture.h
+++ b/src/gallium/drivers/r300/r300_texture.h
@@ -60,12 +60,20 @@ static INLINE uint32_t r300_translate_texformat(enum pipe_format format)
return R300_EASY_TX_FORMAT(X, X, X, ONE, X8) |
R300_TX_FORMAT_GAMMA;
/* X16 */
+ case PIPE_FORMAT_A4R4G4B4_UNORM:
+ return R300_EASY_TX_FORMAT(X, Y, Z, W, W4Z4Y4X4);
case PIPE_FORMAT_R16_UNORM:
case PIPE_FORMAT_Z16_UNORM:
return R300_EASY_TX_FORMAT(X, X, X, X, X16);
case PIPE_FORMAT_R16_SNORM:
return R300_EASY_TX_FORMAT(X, X, X, X, X16) |
R300_TX_FORMAT_SIGNED;
+ /* Z5Y6X5 */
+ case PIPE_FORMAT_R5G6B5_UNORM:
+ return R300_EASY_TX_FORMAT(X, Y, Z, ONE, Z5Y6X5);
+ /* W1Z5Y5X5*/
+ case PIPE_FORMAT_A1R5G5B5_UNORM:
+ return R300_EASY_TX_FORMAT(X, Y, Z, W, W1Z5Y5X5);
/* Y8X8 */
case PIPE_FORMAT_A8L8_UNORM:
return R300_EASY_TX_FORMAT(X, X, X, Y, Y8X8);