Add early register descritpion.
authorChristoph Bill <egore@gmx.de>
Thu, 1 Mar 2007 19:40:25 +0000 (20:40 +0100)
committerJerome Glisse <glisse@freedesktop.org>
Thu, 1 Mar 2007 19:40:25 +0000 (20:40 +0100)
This need more work on case where we can disable
or enable early  (stencil, alpha might need it to
be disable).

src/mesa/drivers/dri/r300/r300_reg.h
src/mesa/drivers/dri/r300/r300_state.c

index 9f636ec..6abcfa4 100644 (file)
@@ -1378,6 +1378,10 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
        /* 16 bit format or some aditional bit ? */
 #      define R300_DEPTH_FORMAT_UNK32          (32 << 0)
 
+#define R300_RB3D_EARLY_Z                           0x4F14
+#      define R300_EARLY_Z_DISABLE              (0 << 0)
+#      define R300_EARLY_Z_ENABLE               (1 << 0)
+
 /* gap */
 
 #define R300_RB3D_DEPTHOFFSET               0x4F20
index b30ece1..0e33e51 100644 (file)
@@ -328,24 +328,24 @@ static void r300UpdateCulling(GLcontext* ctx)
 
 static void update_early_z(GLcontext *ctx)
 {
-       /* updates register 0x4f14 
-          if depth test is not enabled it should be 0x00000000
-          if depth is enabled and alpha not it should be 0x00000001
-          if depth and alpha is enabled it should be 0x00000000
+       /* updates register R300_RB3D_EARLY_Z (0x4F14)
+          if depth test is not enabled it should be R300_EARLY_Z_DISABLE
+          if depth is enabled and alpha not it should be R300_EARLY_Z_ENABLE
+          if depth and alpha is enabled it should be R300_EARLY_Z_DISABLE
        */
        r300ContextPtr r300 = R300_CONTEXT(ctx);
 
        R300_STATECHANGE(r300, unk4F10);
        if (ctx->Color.AlphaEnabled && ctx->Color.AlphaFunc != GL_ALWAYS)
                /* disable early Z */
-               r300->hw.unk4F10.cmd[2] = 0x00000000;
+               r300->hw.unk4F10.cmd[2] = R300_EARLY_Z_DISABLE;
        else {
                if (ctx->Depth.Test && ctx->Depth.Func != GL_NEVER)
                        /* enable early Z */
-                       r300->hw.unk4F10.cmd[2] = 0x00000001;
+                       r300->hw.unk4F10.cmd[2] = R300_EARLY_Z_ENABLE;
                else
                        /* disable early Z */
-                       r300->hw.unk4F10.cmd[2] = 0x00000000;
+                       r300->hw.unk4F10.cmd[2] = R300_EARLY_Z_DISABLE;
        }
 }