Mesa (texformat-rework): radeon: get rid of z24s8 <-> s8z24 conversions in span code

Brian Paul brianp at kemper.freedesktop.org
Thu Oct 22 03:21:30 UTC 2009


Module: Mesa
Branch: texformat-rework
Commit: 6e1ddd34c6b6f9773ef87198503f5f61f9a6c23a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e1ddd34c6b6f9773ef87198503f5f61f9a6c23a

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Oct 21 21:20:05 2009 -0600

radeon: get rid of z24s8 <-> s8z24 conversions in span code

Can just use s8z24 everywhere.
Note: the WRITE_DEPTH macro for R600 may need to be fixed.

---

 src/mesa/drivers/dri/radeon/radeon_span.c |   34 ++++++----------------------
 1 files changed, 8 insertions(+), 26 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_span.c b/src/mesa/drivers/dri/radeon/radeon_span.c
index 4b47e75..9cdcde1 100644
--- a/src/mesa/drivers/dri/radeon/radeon_span.c
+++ b/src/mesa/drivers/dri/radeon/radeon_span.c
@@ -334,22 +334,6 @@ static GLubyte *radeon_ptr_2byte_8x2(const struct radeon_renderbuffer * rrb,
 
 #endif
 
-#ifndef RADEON_R300
-#ifndef RADEON_R600
-static uint32_t
-z24s8_to_s8z24(uint32_t val)
-{
-   return (val << 24) | (val >> 8);
-}
-
-static uint32_t
-s8z24_to_z24s8(uint32_t val)
-{
-   return (val >> 24) | (val << 8);
-}
-#endif
-#endif
-
 /*
  * Note that all information needed to access pixels in a renderbuffer
  * should be obtained through the gl_renderbuffer parameter, not per-context
@@ -631,15 +615,13 @@ do {									\
 #define WRITE_DEPTH( _x, _y, d )					\
 do {									\
    GLuint *_ptr = (GLuint*)r200_depth_4byte( rrb, _x + x_off, _y + y_off );		\
-   GLuint tmp = z24s8_to_s8z24(d);					\
-   *_ptr = tmp;								\
+   *_ptr = d;								\
 } while (0)
 #else
 #define WRITE_DEPTH( _x, _y, d )					\
 do {									\
    GLuint *_ptr = (GLuint*)radeon_ptr_4byte( rrb, _x + x_off, _y + y_off );	\
-   GLuint tmp = z24s8_to_s8z24(d);					\
-   *_ptr = tmp;					\
+   *_ptr = d;					\
 } while (0)
 #endif
 
@@ -657,15 +639,15 @@ do {									\
 #elif defined(RADEON_R200)
 #define READ_DEPTH( d, _x, _y )						\
   do { \
-    d = s8z24_to_z24s8(*(GLuint*)(r200_depth_4byte(rrb, _x + x_off, _y + y_off)));	\
+    d = *(GLuint*)(r200_depth_4byte(rrb, _x + x_off, _y + y_off));	\
   }while(0)
 #else
 #define READ_DEPTH( d, _x, _y )	do {					\
-    d = s8z24_to_z24s8(*(GLuint*)(radeon_ptr_4byte(rrb, _x + x_off,	_y + y_off ))); \
+    d = *(GLuint*)(radeon_ptr_4byte(rrb, _x + x_off,	_y + y_off )); \
   } while (0)
 #endif
 
-#define TAG(x) radeon##x##_z24_s8
+#define TAG(x) radeon##x##_s8_z24
 #include "depthtmp.h"
 
 /* ================================================================
@@ -742,7 +724,7 @@ do {									\
 } while (0)
 #endif
 
-#define TAG(x) radeon##x##_z24_s8
+#define TAG(x) radeon##x##_s8_z24
 #include "stenciltmp.h"
 
 
@@ -879,9 +861,9 @@ static void radeonSetSpanFunctions(struct radeon_renderbuffer *rrb)
 	} else if (rrb->base.Format == GL_DEPTH_COMPONENT32) { /* XXX */
 		radeonInitDepthPointers_z24(&rrb->base);
 	} else if (rrb->base.Format == MESA_FORMAT_S8_Z24) {
-		radeonInitDepthPointers_z24_s8(&rrb->base);
+		radeonInitDepthPointers_s8_z24(&rrb->base);
 	} else if (rrb->base.Format == MESA_FORMAT_S8) {
-		radeonInitStencilPointers_z24_s8(&rrb->base);
+		radeonInitStencilPointers_s8_z24(&rrb->base);
 	} else {
 		fprintf(stderr, "radeonSetSpanFunctions: bad format: 0x%04X\n", rrb->base.Format);
 	}




More information about the mesa-commit mailing list