The macro was only used a few times; let's use it everywhere,
simplifying the code.
I also uniformised the use of curly brackets by adding them around
all uses of the macro, removed a few unnecessary `else` after `return`,
and turned a ternary op into an `if`.

Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com>
---
 src/gallium/drivers/r600/r600_state_common.c | 108 +++++++++++++++------------
 1 file changed, 59 insertions(+), 49 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_state_common.c 
b/src/gallium/drivers/r600/r600_state_common.c
index c1bce8304b..b3ccdfc498 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -2666,78 +2666,88 @@ uint32_t r600_translate_colorformat(enum chip_class 
chip, enum pipe_format forma
 
        switch (desc->nr_channels) {
        case 1:
-               switch (desc->channel[0].size) {
-               case 8:
+               if (HAS_SIZE(8,0,0,0)) {
                        return V_0280A0_COLOR_8;
-               case 16:
+               }
+               if (HAS_SIZE(16,0,0,0)) {
                        if (is_float)
                                return V_0280A0_COLOR_16_FLOAT;
                        else
                                return V_0280A0_COLOR_16;
-               case 32:
+               }
+               if (HAS_SIZE(32,0,0,0)) {
                        if (is_float)
                                return V_0280A0_COLOR_32_FLOAT;
                        else
                                return V_0280A0_COLOR_32;
                }
                break;
+
        case 2:
-               if (desc->channel[0].size == desc->channel[1].size) {
-                       switch (desc->channel[0].size) {
-                       case 4:
-                               if (chip <= R700)
-                                       return V_0280A0_COLOR_4_4;
-                               else
-                                       return ~0U; /* removed on Evergreen */
-                       case 8:
-                               return V_0280A0_COLOR_8_8;
-                       case 16:
-                               if (is_float)
-                                       return V_0280A0_COLOR_16_16_FLOAT;
-                               else
-                                       return V_0280A0_COLOR_16_16;
-                       case 32:
-                               if (is_float)
-                                       return V_0280A0_COLOR_32_32_FLOAT;
-                               else
-                                       return V_0280A0_COLOR_32_32;
-                       }
-               } else if (HAS_SIZE(8,24,0,0)) {
-                       return (do_endian_swap ? V_0280A0_COLOR_8_24 : 
V_0280A0_COLOR_24_8);
-               } else if (HAS_SIZE(24,8,0,0)) {
+               if (HAS_SIZE(4,4,0,0)) {
+                       if (chip <= R700)
+                               return V_0280A0_COLOR_4_4;
+                       else
+                               return ~0U; /* removed on Evergreen */
+               }
+               if (HAS_SIZE(8,8,0,0)) {
+                       return V_0280A0_COLOR_8_8;
+               }
+               if (HAS_SIZE(16,16,0,0)) {
+                       if (is_float)
+                               return V_0280A0_COLOR_16_16_FLOAT;
+                       else
+                               return V_0280A0_COLOR_16_16;
+               }
+               if (HAS_SIZE(32,32,0,0)) {
+                       if (is_float)
+                               return V_0280A0_COLOR_32_32_FLOAT;
+                       else
+                               return V_0280A0_COLOR_32_32;
+               }
+               if (HAS_SIZE(8,24,0,0)) {
+                       if (do_endian_swap)
+                               return V_0280A0_COLOR_8_24;
+                       else
+                               return V_0280A0_COLOR_24_8;
+               }
+               if (HAS_SIZE(24,8,0,0)) {
                        return V_0280A0_COLOR_8_24;
                }
                break;
+
        case 3:
                if (HAS_SIZE(5,6,5,0)) {
                        return V_0280A0_COLOR_5_6_5;
-               } else if (HAS_SIZE(32,8,24,0)) {
+               }
+               if (HAS_SIZE(32,8,24,0)) {
                        return V_0280A0_COLOR_X24_8_32_FLOAT;
                }
                break;
+
        case 4:
-               if (desc->channel[0].size == desc->channel[1].size &&
-                   desc->channel[0].size == desc->channel[2].size &&
-                   desc->channel[0].size == desc->channel[3].size) {
-                       switch (desc->channel[0].size) {
-                       case 4:
-                               return V_0280A0_COLOR_4_4_4_4;
-                       case 8:
-                               return V_0280A0_COLOR_8_8_8_8;
-                       case 16:
-                               if (is_float)
-                                       return V_0280A0_COLOR_16_16_16_16_FLOAT;
-                               else
-                                       return V_0280A0_COLOR_16_16_16_16;
-                       case 32:
-                               if (is_float)
-                                       return V_0280A0_COLOR_32_32_32_32_FLOAT;
-                               else
-                                       return V_0280A0_COLOR_32_32_32_32;
-                       }
-               } else if (HAS_SIZE(5,5,5,1)) {
+               if (HAS_SIZE(4,4,4,4)) {
+                       return V_0280A0_COLOR_4_4_4_4;
+               }
+               if (HAS_SIZE(8,8,8,8)) {
+                       return V_0280A0_COLOR_8_8_8_8;
+               }
+               if (HAS_SIZE(16,16,16,16)) {
+                       if (is_float)
+                               return V_0280A0_COLOR_16_16_16_16_FLOAT;
+                       else
+                               return V_0280A0_COLOR_16_16_16_16;
+               }
+               if (HAS_SIZE(32,32,32,32)) {
+                       if (is_float)
+                               return V_0280A0_COLOR_32_32_32_32_FLOAT;
+                       else
+                               return V_0280A0_COLOR_32_32_32_32;
+               }
+               if (HAS_SIZE(5,5,5,1)) {
                        return V_0280A0_COLOR_1_5_5_5;
-               } else if (HAS_SIZE(10,10,10,2)) {
+               }
+               if (HAS_SIZE(10,10,10,2)) {
                        return V_0280A0_COLOR_2_10_10_10;
                }
                break;
-- 
Cheers,
  Eric

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to