Module: Mesa
Branch: mesa_7_7_branch
Commit: f1900323ea1e387afc487737f9930ba0d014fd0d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1900323ea1e387afc487737f9930ba0d014fd0d

Author: Maciej Cencora <[email protected]>
Date:   Fri Dec 11 23:56:47 2009 +0100

r300: fix depth textures

---

 src/mesa/drivers/dri/r300/r300_texstate.c    |    6 +++---
 src/mesa/drivers/dri/radeon/radeon_texture.c |   14 ++++++++++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_texstate.c 
b/src/mesa/drivers/dri/r300/r300_texstate.c
index e6f2c0c..bbe8b1e 100644
--- a/src/mesa/drivers/dri/r300/r300_texstate.c
+++ b/src/mesa/drivers/dri/r300/r300_texstate.c
@@ -138,9 +138,9 @@ void r300SetDepthTexMode(struct gl_texture_object *tObj)
                        R300_EASY_TX_FORMAT(ZERO, ZERO, ZERO, X, X16),
                },
                {
-                       R300_EASY_TX_FORMAT(X, X, X, ONE, X24_Y8),
-                       R300_EASY_TX_FORMAT(X, X, X, X, X24_Y8),
-                       R300_EASY_TX_FORMAT(ZERO, ZERO, ZERO, X, X24_Y8),
+                       R300_EASY_TX_FORMAT(Y, Y, Y, ONE, X24_Y8),
+                       R300_EASY_TX_FORMAT(Y, Y, Y, Y, X24_Y8),
+                       R300_EASY_TX_FORMAT(ZERO, ZERO, ZERO, Y, X24_Y8),
                },
                {
                        R300_EASY_TX_FORMAT(X, X, X, ONE, X32),
diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c 
b/src/mesa/drivers/dri/radeon/radeon_texture.c
index 2869032..0317811 100644
--- a/src/mesa/drivers/dri/radeon/radeon_texture.c
+++ b/src/mesa/drivers/dri/radeon/radeon_texture.c
@@ -472,6 +472,19 @@ gl_format radeonChooseTextureFormat(GLcontext * ctx,
        case GL_RGBA32F_ARB:
                return MESA_FORMAT_RGBA_FLOAT32;
 
+#ifdef RADEON_R300
+       case GL_DEPTH_COMPONENT:
+       case GL_DEPTH_COMPONENT16:
+               return MESA_FORMAT_Z16;
+       case GL_DEPTH_COMPONENT24:
+       case GL_DEPTH_COMPONENT32:
+       case GL_DEPTH_STENCIL_EXT:
+       case GL_DEPTH24_STENCIL8_EXT:
+               if (rmesa->radeonScreen->chip_family >= CHIP_FAMILY_RV515)
+                       return MESA_FORMAT_S8_Z24;
+               else
+                       return MESA_FORMAT_Z16;
+#else
        case GL_DEPTH_COMPONENT:
        case GL_DEPTH_COMPONENT16:
        case GL_DEPTH_COMPONENT24:
@@ -479,6 +492,7 @@ gl_format radeonChooseTextureFormat(GLcontext * ctx,
        case GL_DEPTH_STENCIL_EXT:
        case GL_DEPTH24_STENCIL8_EXT:
                return MESA_FORMAT_S8_Z24;
+#endif
 
        /* EXT_texture_sRGB */
        case GL_SRGB:

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

Reply via email to