Merge remote-tracking branch 'origin/master' into pipe-video
[mesa.git] / src / gallium / drivers / r600 / r600_state_inlines.h
index 5eabfdc2bc60b022572a600d32da5d663325d917..39c647835a6332cd4ca12e39a7000e10673af6ff 100644 (file)
@@ -343,7 +343,7 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
 
        case PIPE_FORMAT_A8B8G8R8_UNORM:
        case PIPE_FORMAT_X8B8G8R8_UNORM:
-               //        case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
+       /* case PIPE_FORMAT_R8SG8SB8UX8U_NORM: */
                return V_0280A0_SWAP_STD_REV;
 
        case PIPE_FORMAT_Z24X8_UNORM:
@@ -362,6 +362,7 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
        case PIPE_FORMAT_B10G10R10A2_UNORM:
                return V_0280A0_SWAP_ALT;
 
+       case PIPE_FORMAT_R11G11B10_FLOAT:
        case PIPE_FORMAT_R16G16_UNORM:
        case PIPE_FORMAT_R16G16_FLOAT:
        case PIPE_FORMAT_R32_FLOAT:
@@ -465,6 +466,8 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_R16G16_UNORM:
                return V_0280A0_COLOR_16_16;
 
+       case PIPE_FORMAT_R11G11B10_FLOAT:
+               return V_0280A0_COLOR_10_11_11_FLOAT;
 
                /* 64-bit buffers. */
        case PIPE_FORMAT_R16G16B16_USCALED:
@@ -499,60 +502,60 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_UYVY:
        case PIPE_FORMAT_YUYV:
        default:
-               //R600_ERR("unsupported color format %d %s\n", format, util_format_name(format));
+               /* R600_ERR("unsupported color format %d %s\n", format, util_format_name(format)); */
                return ~0; /* Unsupported. */
        }
 }
 
 static INLINE uint32_t r600_colorformat_endian_swap(uint32_t colorformat)
 {
-#ifdef PIPE_ARCH_BIG_ENDIAN
-       switch(colorformat) {
-       case V_0280A0_COLOR_4_4:
-               return(ENDIAN_NONE);
-
-               /* 8-bit buffers. */
-       case V_0280A0_COLOR_8:
-               return(ENDIAN_NONE);
-
-               /* 16-bit buffers. */
-       case V_0280A0_COLOR_5_6_5:
-       case V_0280A0_COLOR_1_5_5_5:
-       case V_0280A0_COLOR_4_4_4_4:
-       case V_0280A0_COLOR_16:
-       case V_0280A0_COLOR_8_8:
-               return(ENDIAN_8IN16);
-
-               /* 32-bit buffers. */
-       case V_0280A0_COLOR_8_8_8_8:
-       case V_0280A0_COLOR_2_10_10_10:
-       case V_0280A0_COLOR_8_24:
-       case V_0280A0_COLOR_24_8:
-       case V_0280A0_COLOR_32_FLOAT:
-       case V_0280A0_COLOR_16_16_FLOAT:
-       case V_0280A0_COLOR_16_16:
-               return(ENDIAN_8IN32);
-
-               /* 64-bit buffers. */
-       case V_0280A0_COLOR_16_16_16_16:
-       case V_0280A0_COLOR_16_16_16_16_FLOAT:
-               return(ENDIAN_8IN16);
-
-       case V_0280A0_COLOR_32_32_FLOAT:
-       case V_0280A0_COLOR_32_32:
-               return(ENDIAN_8IN32);
-
-               /* 128-bit buffers. */
-       case V_0280A0_COLOR_32_32_32_FLOAT:
-       case V_0280A0_COLOR_32_32_32_32_FLOAT:
-       case V_0280A0_COLOR_32_32_32_32:
-               return(ENDIAN_8IN32);
-       default:
-               return ENDIAN_NONE; /* Unsupported. */
+       if (R600_BIG_ENDIAN) {
+               switch(colorformat) {
+               case V_0280A0_COLOR_4_4:
+                       return(ENDIAN_NONE);
+
+                       /* 8-bit buffers. */
+               case V_0280A0_COLOR_8:
+                       return(ENDIAN_NONE);
+
+                       /* 16-bit buffers. */
+               case V_0280A0_COLOR_5_6_5:
+               case V_0280A0_COLOR_1_5_5_5:
+               case V_0280A0_COLOR_4_4_4_4:
+               case V_0280A0_COLOR_16:
+               case V_0280A0_COLOR_8_8:
+                       return(ENDIAN_8IN16);
+
+                       /* 32-bit buffers. */
+               case V_0280A0_COLOR_8_8_8_8:
+               case V_0280A0_COLOR_2_10_10_10:
+               case V_0280A0_COLOR_8_24:
+               case V_0280A0_COLOR_24_8:
+               case V_0280A0_COLOR_32_FLOAT:
+               case V_0280A0_COLOR_16_16_FLOAT:
+               case V_0280A0_COLOR_16_16:
+                       return(ENDIAN_8IN32);
+
+                       /* 64-bit buffers. */
+               case V_0280A0_COLOR_16_16_16_16:
+               case V_0280A0_COLOR_16_16_16_16_FLOAT:
+                       return(ENDIAN_8IN16);
+
+               case V_0280A0_COLOR_32_32_FLOAT:
+               case V_0280A0_COLOR_32_32:
+                       return(ENDIAN_8IN32);
+
+                       /* 128-bit buffers. */
+               case V_0280A0_COLOR_32_32_32_FLOAT:
+               case V_0280A0_COLOR_32_32_32_32_FLOAT:
+               case V_0280A0_COLOR_32_32_32_32:
+                       return(ENDIAN_8IN32);
+               default:
+                       return ENDIAN_NONE; /* Unsupported. */
+               }
+       } else {
+               return ENDIAN_NONE;
        }
-#else
-       return ENDIAN_NONE;
-#endif
 }
 
 static INLINE boolean r600_is_sampler_format_supported(struct pipe_screen *screen, enum pipe_format format)