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

Author: Dave Airlie <[email protected]>
Date:   Mon Sep 20 12:21:35 2010 +1000

r600g: add color/texture support for more depth formats.

---

 src/gallium/drivers/r600/eg_state_inlines.h   |    8 ++++++++
 src/gallium/drivers/r600/r600_state_inlines.h |    8 ++++++++
 src/gallium/drivers/r600/r600_texture.c       |    6 ++++--
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/eg_state_inlines.h 
b/src/gallium/drivers/r600/eg_state_inlines.h
index bee2a8a..0a42abc 100644
--- a/src/gallium/drivers/r600/eg_state_inlines.h
+++ b/src/gallium/drivers/r600/eg_state_inlines.h
@@ -313,6 +313,10 @@ static inline uint32_t r600_translate_colorswap(enum 
pipe_format format)
        case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
                return V_028C70_SWAP_STD;
 
+       case PIPE_FORMAT_X8Z24_UNORM:
+       case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
+               return V_028C70_SWAP_STD;
+
        case PIPE_FORMAT_R10G10B10A2_UNORM:
        case PIPE_FORMAT_R10G10B10X2_SNORM:
        case PIPE_FORMAT_B10G10R10A2_UNORM:
@@ -389,6 +393,10 @@ static INLINE uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
                return V_028C70_COLOR_8_24;
 
+       case PIPE_FORMAT_X8Z24_UNORM:
+       case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
+               return V_028C70_COLOR_24_8;
+
        case PIPE_FORMAT_R32_FLOAT:
                return V_028C70_COLOR_32_FLOAT;
 
diff --git a/src/gallium/drivers/r600/r600_state_inlines.h 
b/src/gallium/drivers/r600/r600_state_inlines.h
index 9ffdd75..283f1e5 100644
--- a/src/gallium/drivers/r600/r600_state_inlines.h
+++ b/src/gallium/drivers/r600/r600_state_inlines.h
@@ -314,6 +314,10 @@ static inline uint32_t r600_translate_colorswap(enum 
pipe_format format)
        case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
                return V_0280A0_SWAP_STD;
 
+       case PIPE_FORMAT_X8Z24_UNORM:
+       case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
+               return V_0280A0_SWAP_STD;
+
        case PIPE_FORMAT_R10G10B10A2_UNORM:
        case PIPE_FORMAT_R10G10B10X2_SNORM:
        case PIPE_FORMAT_B10G10R10A2_UNORM:
@@ -390,6 +394,10 @@ static INLINE uint32_t r600_translate_colorformat(enum 
pipe_format format)
        case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
                return V_0280A0_COLOR_8_24;
 
+       case PIPE_FORMAT_X8Z24_UNORM:
+       case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
+               return V_0280A0_COLOR_24_8;
+
        case PIPE_FORMAT_R32_FLOAT:
                return V_0280A0_COLOR_32_FLOAT;
 
diff --git a/src/gallium/drivers/r600/r600_texture.c 
b/src/gallium/drivers/r600/r600_texture.c
index d41150c..369e5d2 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -467,11 +467,13 @@ uint32_t r600_translate_texformat(enum pipe_format format,
                        result = V_0280A0_COLOR_16;
                        goto out_word4;
                case PIPE_FORMAT_Z24X8_UNORM:
-                       result = V_0280A0_COLOR_8_24;
-                       goto out_word4;
                case PIPE_FORMAT_Z24_UNORM_S8_USCALED:
                        result = V_0280A0_COLOR_8_24;
                        goto out_word4;
+               case PIPE_FORMAT_X8Z24_UNORM:
+               case PIPE_FORMAT_S8_USCALED_Z24_UNORM:
+                       result = V_0280A0_COLOR_24_8;
+                       goto out_word4;
                default:
                        goto out_unknown;
                }

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

Reply via email to