diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2014-02-22 12:10:32 +0100 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2014-07-30 12:22:44 +0200 |
commit | 3ee161834f925994f77e70800c232459f998bd1a (patch) | |
tree | 1c07c5205aaaf902708cb3dd9cf6ef54f7751d8f | |
parent | e69b100ba251ecb1341e869fcbf83d8a28968df1 (diff) | |
download | mesa-3ee161834f925994f77e70800c232459f998bd1a.tar.gz mesa-3ee161834f925994f77e70800c232459f998bd1a.tar.xz |
etna: allow RGBA as RS format
While at it reformat a bit.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
-rw-r--r-- | src/gallium/drivers/etna/etna_translate.h | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/src/gallium/drivers/etna/etna_translate.h b/src/gallium/drivers/etna/etna_translate.h index 273d38a7e1..a9480fd13f 100644 --- a/src/gallium/drivers/etna/etna_translate.h +++ b/src/gallium/drivers/etna/etna_translate.h @@ -206,18 +206,32 @@ static inline uint32_t translate_texture_format(enum pipe_format fmt, bool silen /* render target format (non-rb swapped RS-supported formats) */ static inline uint32_t translate_rt_format(enum pipe_format fmt, bool silent) { - switch(fmt) - { - /* Note: Pipe format convention is LSB to MSB, VIVS is MSB to LSB */ - case PIPE_FORMAT_B4G4R4X4_UNORM: return RS_FORMAT_X4R4G4B4; - case PIPE_FORMAT_B4G4R4A4_UNORM: return RS_FORMAT_A4R4G4B4; - case PIPE_FORMAT_B5G5R5X1_UNORM: return RS_FORMAT_X1R5G5B5; - case PIPE_FORMAT_B5G5R5A1_UNORM: return RS_FORMAT_A1R5G5B5; - case PIPE_FORMAT_B5G6R5_UNORM: return RS_FORMAT_R5G6B5; - case PIPE_FORMAT_B8G8R8X8_UNORM: return RS_FORMAT_X8R8G8B8; - case PIPE_FORMAT_B8G8R8A8_UNORM: return RS_FORMAT_A8R8G8B8; - case PIPE_FORMAT_YUYV: return RS_FORMAT_YUY2; - default: if(!silent) { DBG("Unhandled rs surface format: %i\n", fmt); } return ETNA_NO_MATCH; + switch(fmt) + { + /* Note: Pipe format convention is LSB to MSB, VIVS is MSB to LSB */ + case PIPE_FORMAT_B4G4R4X4_UNORM: + return RS_FORMAT_X4R4G4B4; + case PIPE_FORMAT_B4G4R4A4_UNORM: + return RS_FORMAT_A4R4G4B4; + case PIPE_FORMAT_B5G5R5X1_UNORM: + return RS_FORMAT_X1R5G5B5; + case PIPE_FORMAT_B5G5R5A1_UNORM: + return RS_FORMAT_A1R5G5B5; + case PIPE_FORMAT_B5G6R5_UNORM: + return RS_FORMAT_R5G6B5; + case PIPE_FORMAT_B8G8R8X8_UNORM: + case PIPE_FORMAT_R8G8B8X8_UNORM: + return RS_FORMAT_X8R8G8B8; + case PIPE_FORMAT_B8G8R8A8_UNORM: + case PIPE_FORMAT_R8G8B8A8_UNORM: + return RS_FORMAT_A8R8G8B8; + case PIPE_FORMAT_YUYV: + return RS_FORMAT_YUY2; + + default: + if(!silent) + DBG("Unhandled rs surface format: %i\n", fmt); + return ETNA_NO_MATCH; } } |