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