Merge remote-tracking branch 'origin/master' into pipe-video
[mesa.git] / src / gallium / drivers / r600 / r600_state_inlines.h
index 3254012ddf5687fa722c26fc620aa0e5e5043894..8711dbf1720f11350822f7c452332d701a7836b9 100644 (file)
@@ -284,7 +284,7 @@ static inline uint32_t r600_translate_dbformat(enum pipe_format format)
 static inline uint32_t r600_translate_colorswap(enum pipe_format format)
 {
        switch (format) {
-               /* 8-bit buffers. */
+       /* 8-bit buffers. */
        case PIPE_FORMAT_A8_UNORM:
                return V_0280A0_SWAP_ALT_REV;
        case PIPE_FORMAT_I8_UNORM:
@@ -297,7 +297,7 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
        case PIPE_FORMAT_L4A4_UNORM:
                return V_0280A0_SWAP_ALT;
 
-               /* 16-bit buffers. */
+       /* 16-bit buffers. */
        case PIPE_FORMAT_B5G6R5_UNORM:
                return V_0280A0_SWAP_STD_REV;
 
@@ -320,9 +320,10 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
 
        case PIPE_FORMAT_R16_UNORM:
        case PIPE_FORMAT_R16_SNORM:
+       case PIPE_FORMAT_R16_FLOAT:
                return V_0280A0_SWAP_STD;
 
-               /* 32-bit buffers. */
+       /* 32-bit buffers. */
 
        case PIPE_FORMAT_A8B8G8R8_SRGB:
                return V_0280A0_SWAP_STD_REV;
@@ -368,13 +369,13 @@ static inline uint32_t r600_translate_colorswap(enum pipe_format format)
        case PIPE_FORMAT_R32_FLOAT:
                return V_0280A0_SWAP_STD;
 
-               /* 64-bit buffers. */
+       /* 64-bit buffers. */
        case PIPE_FORMAT_R32G32_FLOAT:
        case PIPE_FORMAT_R16G16B16A16_UNORM:
        case PIPE_FORMAT_R16G16B16A16_SNORM:
        case PIPE_FORMAT_R16G16B16A16_FLOAT:
 
-               /* 128-bit buffers. */
+       /* 128-bit buffers. */
        case PIPE_FORMAT_R32G32B32A32_FLOAT:
        case PIPE_FORMAT_R32G32B32A32_SNORM:
        case PIPE_FORMAT_R32G32B32A32_UNORM:
@@ -392,7 +393,7 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_L4A4_UNORM:
                return V_0280A0_COLOR_4_4;
 
-               /* 8-bit buffers. */
+       /* 8-bit buffers. */
        case PIPE_FORMAT_A8_UNORM:
        case PIPE_FORMAT_I8_UNORM:
        case PIPE_FORMAT_L8_UNORM:
@@ -401,7 +402,7 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_R8_SNORM:
                return V_0280A0_COLOR_8;
 
-               /* 16-bit buffers. */
+       /* 16-bit buffers. */
        case PIPE_FORMAT_B5G6R5_UNORM:
                return V_0280A0_COLOR_5_6_5;
 
@@ -425,7 +426,10 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_R16_SNORM:
                return V_0280A0_COLOR_16;
 
-               /* 32-bit buffers. */
+       case PIPE_FORMAT_R16_FLOAT:
+               return V_0280A0_COLOR_16_FLOAT;
+
+       /* 32-bit buffers. */
        case PIPE_FORMAT_A8B8G8R8_SRGB:
        case PIPE_FORMAT_A8B8G8R8_UNORM:
        case PIPE_FORMAT_A8R8G8B8_UNORM:
@@ -455,8 +459,8 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
                return V_0280A0_COLOR_24_8;
 
-       //case PIPE_FORMAT_R32_FLOAT:
-       //      return V_0280A0_COLOR_32_FLOAT;
+       case PIPE_FORMAT_R32_FLOAT:
+               return V_0280A0_COLOR_32_FLOAT;
 
        case PIPE_FORMAT_R16G16_FLOAT:
                return V_0280A0_COLOR_16_16_FLOAT;
@@ -468,10 +472,11 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_R11G11B10_FLOAT:
                return V_0280A0_COLOR_10_11_11_FLOAT;
 
-               /* 64-bit buffers. */
+       /* 64-bit buffers. */
        case PIPE_FORMAT_R16G16B16_USCALED:
        case PIPE_FORMAT_R16G16B16A16_USCALED:
        case PIPE_FORMAT_R16G16B16_SSCALED:
+       case PIPE_FORMAT_R16G16B16A16_SSCALED:
        case PIPE_FORMAT_R16G16B16A16_UNORM:
        case PIPE_FORMAT_R16G16B16A16_SNORM:
                return V_0280A0_COLOR_16_16_16_16;
@@ -487,20 +492,21 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format)
        case PIPE_FORMAT_R32G32_SSCALED:
                return V_0280A0_COLOR_32_32;
 
-               /* 128-bit buffers. */
+       /* 96-bit buffers. */
        case PIPE_FORMAT_R32G32B32_FLOAT:
                return V_0280A0_COLOR_32_32_32_FLOAT;
+
+       /* 128-bit buffers. */
        case PIPE_FORMAT_R32G32B32A32_FLOAT:
                return V_0280A0_COLOR_32_32_32_32_FLOAT;
        case PIPE_FORMAT_R32G32B32A32_SNORM:
        case PIPE_FORMAT_R32G32B32A32_UNORM:
                return V_0280A0_COLOR_32_32_32_32;
 
-               /* YUV buffers. */
+       /* YUV buffers. */
        case PIPE_FORMAT_UYVY:
        case PIPE_FORMAT_YUYV:
        default:
-               /* R600_ERR("unsupported color format %d %s\n", format, util_format_name(format)); */
                return ~0; /* Unsupported. */
        }
 }
@@ -512,11 +518,11 @@ static INLINE uint32_t r600_colorformat_endian_swap(uint32_t colorformat)
                case V_0280A0_COLOR_4_4:
                        return(ENDIAN_NONE);
 
-                       /* 8-bit buffers. */
+               /* 8-bit buffers. */
                case V_0280A0_COLOR_8:
                        return(ENDIAN_NONE);
 
-                       /* 16-bit buffers. */
+               /* 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:
@@ -524,7 +530,7 @@ static INLINE uint32_t r600_colorformat_endian_swap(uint32_t colorformat)
                case V_0280A0_COLOR_8_8:
                        return(ENDIAN_8IN16);
 
-                       /* 32-bit buffers. */
+               /* 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:
@@ -534,7 +540,7 @@ static INLINE uint32_t r600_colorformat_endian_swap(uint32_t colorformat)
                case V_0280A0_COLOR_16_16:
                        return(ENDIAN_8IN32);
 
-                       /* 64-bit buffers. */
+               /* 64-bit buffers. */
                case V_0280A0_COLOR_16_16_16_16:
                case V_0280A0_COLOR_16_16_16_16_FLOAT:
                        return(ENDIAN_8IN16);
@@ -543,7 +549,7 @@ static INLINE uint32_t r600_colorformat_endian_swap(uint32_t colorformat)
                case V_0280A0_COLOR_32_32:
                        return(ENDIAN_8IN32);
 
-                       /* 128-bit buffers. */
+               /* 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:
@@ -564,7 +570,7 @@ static INLINE boolean r600_is_sampler_format_supported(struct pipe_screen *scree
 static INLINE boolean r600_is_colorbuffer_format_supported(enum pipe_format format)
 {
        return r600_translate_colorformat(format) != ~0 &&
-               r600_translate_colorswap(format) != ~0;
+              r600_translate_colorswap(format) != ~0;
 }
 
 static INLINE boolean r600_is_zs_format_supported(enum pipe_format format)