summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2014-02-22 12:10:32 +0100
committerLucas Stach <l.stach@pengutronix.de>2014-07-30 12:22:44 +0200
commit3ee161834f925994f77e70800c232459f998bd1a (patch)
tree1c07c5205aaaf902708cb3dd9cf6ef54f7751d8f
parente69b100ba251ecb1341e869fcbf83d8a28968df1 (diff)
downloadmesa-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.h38
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;
}
}