diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2014-07-29 17:25:42 +0200 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2014-07-30 12:22:54 +0200 |
commit | 980408b88c511354823db6a6060d29e8026b85f8 (patch) | |
tree | 3b54ddfbb27ac2d5ab7f97faa476d06ecf4836a3 | |
parent | 3ee161834f925994f77e70800c232459f998bd1a (diff) | |
download | mesa-980408b88c511354823db6a6060d29e8026b85f8.tar.gz mesa-980408b88c511354823db6a6060d29e8026b85f8.tar.xz |
etna: add translate helpers for RS format conversion
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
-rw-r--r-- | src/gallium/drivers/etna/etna_translate.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/gallium/drivers/etna/etna_translate.h b/src/gallium/drivers/etna/etna_translate.h index a9480fd13f..81f1845611 100644 --- a/src/gallium/drivers/etna/etna_translate.h +++ b/src/gallium/drivers/etna/etna_translate.h @@ -235,6 +235,31 @@ static inline uint32_t translate_rt_format(enum pipe_format fmt, bool silent) } } +static inline int translate_rb_format_swap(enum pipe_format fmt) +{ + switch (fmt) { + case PIPE_FORMAT_B4G4R4X4_UNORM: + case PIPE_FORMAT_B4G4R4A4_UNORM: + case PIPE_FORMAT_B5G5R5X1_UNORM: + case PIPE_FORMAT_B5G5R5A1_UNORM: + case PIPE_FORMAT_B5G6R5_UNORM: + case PIPE_FORMAT_B8G8R8X8_UNORM: + case PIPE_FORMAT_B8G8R8A8_UNORM: + case PIPE_FORMAT_YUYV: + default: + return 0; + case PIPE_FORMAT_R8G8B8X8_UNORM: + case PIPE_FORMAT_R8G8B8A8_UNORM: + return 1; + } +} + +static inline int translate_rb_src_dst_swap(enum pipe_format src, + enum pipe_format dst) +{ + return translate_rb_format_swap(src) ^ translate_rb_format_swap(dst); +} + static inline uint32_t translate_depth_format(enum pipe_format fmt, bool silent) { switch(fmt) |