Module: Mesa
Branch: master
Commit: 3c351b7c3321b2d331b1b80e4b2e067399a18b35
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3c351b7c3321b2d331b1b80e4b2e067399a18b35

Author: Marek Olšák <[email protected]>
Date:   Sat Jan 26 00:28:00 2013 +0100

r600g: use new RGBX formats

---

 src/gallium/drivers/r600/evergreen_state.c |   26 ++++++++++++++++++++++++++
 src/gallium/drivers/r600/r600_state.c      |   26 ++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c 
b/src/gallium/drivers/r600/evergreen_state.c
index 5dd8b13..f076fca 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -322,6 +322,10 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
        case PIPE_FORMAT_R8G8B8A8_SINT:
        case PIPE_FORMAT_R8G8B8A8_UINT:
        case PIPE_FORMAT_R8G8B8X8_UNORM:
+       case PIPE_FORMAT_R8G8B8X8_SNORM:
+       case PIPE_FORMAT_R8G8B8X8_SRGB:
+       case PIPE_FORMAT_R8G8B8X8_UINT:
+       case PIPE_FORMAT_R8G8B8X8_SINT:
                return V_028C70_SWAP_STD;
 
        case PIPE_FORMAT_A8B8G8R8_UNORM:
@@ -344,6 +348,7 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
 
        case PIPE_FORMAT_B10G10R10A2_UNORM:
        case PIPE_FORMAT_B10G10R10A2_UINT:
+       case PIPE_FORMAT_B10G10R10X2_UNORM:
                return V_028C70_SWAP_ALT;
 
        case PIPE_FORMAT_R11G11B10_FLOAT:
@@ -367,6 +372,11 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
        case PIPE_FORMAT_R16G16B16A16_UINT:
        case PIPE_FORMAT_R16G16B16A16_SINT:
        case PIPE_FORMAT_R16G16B16A16_FLOAT:
+       case PIPE_FORMAT_R16G16B16X16_UNORM:
+       case PIPE_FORMAT_R16G16B16X16_SNORM:
+       case PIPE_FORMAT_R16G16B16X16_FLOAT:
+       case PIPE_FORMAT_R16G16B16X16_UINT:
+       case PIPE_FORMAT_R16G16B16X16_SINT:
        case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
 
        /* 128-bit buffers. */
@@ -375,6 +385,9 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
        case PIPE_FORMAT_R32G32B32A32_UNORM:
        case PIPE_FORMAT_R32G32B32A32_SINT:
        case PIPE_FORMAT_R32G32B32A32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_FLOAT:
+       case PIPE_FORMAT_R32G32B32X32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_SINT:
                return V_028C70_SWAP_STD;
        default:
                R600_ERR("unsupported colorswap format %d\n", format);
@@ -466,6 +479,10 @@ static uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_R8G8B8A8_SNORM:
        case PIPE_FORMAT_R8G8B8A8_UNORM:
        case PIPE_FORMAT_R8G8B8X8_UNORM:
+       case PIPE_FORMAT_R8G8B8X8_SNORM:
+       case PIPE_FORMAT_R8G8B8X8_SRGB:
+       case PIPE_FORMAT_R8G8B8X8_UINT:
+       case PIPE_FORMAT_R8G8B8X8_SINT:
        case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
        case PIPE_FORMAT_X8B8G8R8_UNORM:
        case PIPE_FORMAT_X8R8G8B8_UNORM:
@@ -478,6 +495,7 @@ static uint32_t r600_translate_colorformat(enum pipe_format 
format)
        case PIPE_FORMAT_R10G10B10X2_SNORM:
        case PIPE_FORMAT_B10G10R10A2_UNORM:
        case PIPE_FORMAT_B10G10R10A2_UINT:
+       case PIPE_FORMAT_B10G10R10X2_UNORM:
        case PIPE_FORMAT_R10SG10SB10SA2U_NORM:
                return V_028C70_COLOR_2_10_10_10;
 
@@ -531,9 +549,14 @@ static uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_R16G16B16A16_SINT:
        case PIPE_FORMAT_R16G16B16A16_UNORM:
        case PIPE_FORMAT_R16G16B16A16_SNORM:
+       case PIPE_FORMAT_R16G16B16X16_UNORM:
+       case PIPE_FORMAT_R16G16B16X16_SNORM:
+       case PIPE_FORMAT_R16G16B16X16_UINT:
+       case PIPE_FORMAT_R16G16B16X16_SINT:
                return V_028C70_COLOR_16_16_16_16;
 
        case PIPE_FORMAT_R16G16B16A16_FLOAT:
+       case PIPE_FORMAT_R16G16B16X16_FLOAT:
                return V_028C70_COLOR_16_16_16_16_FLOAT;
 
        case PIPE_FORMAT_R32G32_FLOAT:
@@ -551,8 +574,11 @@ static uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_R32G32B32A32_UNORM:
        case PIPE_FORMAT_R32G32B32A32_SINT:
        case PIPE_FORMAT_R32G32B32A32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_SINT:
                return V_028C70_COLOR_32_32_32_32;
        case PIPE_FORMAT_R32G32B32A32_FLOAT:
+       case PIPE_FORMAT_R32G32B32X32_FLOAT:
                return V_028C70_COLOR_32_32_32_32_FLOAT;
 
        /* YUV buffers. */
diff --git a/src/gallium/drivers/r600/r600_state.c 
b/src/gallium/drivers/r600/r600_state.c
index 44cd00e..1e2f2dd 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -253,6 +253,10 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
        case PIPE_FORMAT_R8G8B8A8_SNORM:
        case PIPE_FORMAT_R8G8B8A8_UNORM:
        case PIPE_FORMAT_R8G8B8X8_UNORM:
+       case PIPE_FORMAT_R8G8B8X8_SNORM:
+       case PIPE_FORMAT_R8G8B8X8_SRGB:
+       case PIPE_FORMAT_R8G8B8X8_UINT:
+       case PIPE_FORMAT_R8G8B8X8_SINT:
        case PIPE_FORMAT_R8G8B8A8_SINT:
        case PIPE_FORMAT_R8G8B8A8_UINT:
                return V_0280A0_SWAP_STD;
@@ -277,6 +281,7 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
 
        case PIPE_FORMAT_B10G10R10A2_UNORM:
        case PIPE_FORMAT_B10G10R10A2_UINT:
+       case PIPE_FORMAT_B10G10R10X2_UNORM:
                return V_0280A0_SWAP_ALT;
 
        case PIPE_FORMAT_R11G11B10_FLOAT:
@@ -300,6 +305,11 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
        case PIPE_FORMAT_R16G16B16A16_UINT:
        case PIPE_FORMAT_R16G16B16A16_SINT:
        case PIPE_FORMAT_R16G16B16A16_FLOAT:
+       case PIPE_FORMAT_R16G16B16X16_UNORM:
+       case PIPE_FORMAT_R16G16B16X16_SNORM:
+       case PIPE_FORMAT_R16G16B16X16_FLOAT:
+       case PIPE_FORMAT_R16G16B16X16_UINT:
+       case PIPE_FORMAT_R16G16B16X16_SINT:
        case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
 
        /* 128-bit buffers. */
@@ -308,6 +318,9 @@ static uint32_t r600_translate_colorswap(enum pipe_format 
format)
        case PIPE_FORMAT_R32G32B32A32_UNORM:
        case PIPE_FORMAT_R32G32B32A32_SINT:
        case PIPE_FORMAT_R32G32B32A32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_FLOAT:
+       case PIPE_FORMAT_R32G32B32X32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_SINT:
                return V_0280A0_SWAP_STD;
        default:
                R600_ERR("unsupported colorswap format %d\n", format);
@@ -404,6 +417,10 @@ static uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_R8G8B8A8_SNORM:
        case PIPE_FORMAT_R8G8B8A8_UNORM:
        case PIPE_FORMAT_R8G8B8X8_UNORM:
+       case PIPE_FORMAT_R8G8B8X8_SNORM:
+       case PIPE_FORMAT_R8G8B8X8_SRGB:
+       case PIPE_FORMAT_R8G8B8X8_UINT:
+       case PIPE_FORMAT_R8G8B8X8_SINT:
        case PIPE_FORMAT_R8SG8SB8UX8U_NORM:
        case PIPE_FORMAT_X8B8G8R8_UNORM:
        case PIPE_FORMAT_X8R8G8B8_UNORM:
@@ -415,6 +432,7 @@ static uint32_t r600_translate_colorformat(enum pipe_format 
format)
        case PIPE_FORMAT_R10G10B10X2_SNORM:
        case PIPE_FORMAT_B10G10R10A2_UNORM:
        case PIPE_FORMAT_B10G10R10A2_UINT:
+       case PIPE_FORMAT_B10G10R10X2_UNORM:
        case PIPE_FORMAT_R10SG10SB10SA2U_NORM:
                return V_0280A0_COLOR_2_10_10_10;
 
@@ -468,9 +486,14 @@ static uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_R16G16B16A16_SINT:
        case PIPE_FORMAT_R16G16B16A16_UNORM:
        case PIPE_FORMAT_R16G16B16A16_SNORM:
+       case PIPE_FORMAT_R16G16B16X16_UNORM:
+       case PIPE_FORMAT_R16G16B16X16_SNORM:
+       case PIPE_FORMAT_R16G16B16X16_UINT:
+       case PIPE_FORMAT_R16G16B16X16_SINT:
                return V_0280A0_COLOR_16_16_16_16;
 
        case PIPE_FORMAT_R16G16B16A16_FLOAT:
+       case PIPE_FORMAT_R16G16B16X16_FLOAT:
                return V_0280A0_COLOR_16_16_16_16_FLOAT;
 
        case PIPE_FORMAT_R32G32_FLOAT:
@@ -485,11 +508,14 @@ static uint32_t r600_translate_colorformat(enum 
pipe_format format)
 
        /* 128-bit buffers. */
        case PIPE_FORMAT_R32G32B32A32_FLOAT:
+       case PIPE_FORMAT_R32G32B32X32_FLOAT:
                return V_0280A0_COLOR_32_32_32_32_FLOAT;
        case PIPE_FORMAT_R32G32B32A32_SNORM:
        case PIPE_FORMAT_R32G32B32A32_UNORM:
        case PIPE_FORMAT_R32G32B32A32_SINT:
        case PIPE_FORMAT_R32G32B32A32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_UINT:
+       case PIPE_FORMAT_R32G32B32X32_SINT:
                return V_0280A0_COLOR_32_32_32_32;
 
        /* YUV buffers. */

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to