[965] Replace our own depth constants in intel context with GL context ones.
authorEric Anholt <eric@anholt.net>
Mon, 17 Dec 2007 22:28:54 +0000 (14:28 -0800)
committerEric Anholt <eric@anholt.net>
Mon, 17 Dec 2007 22:28:54 +0000 (14:28 -0800)
src/mesa/drivers/dri/i965/brw_sf_state.c
src/mesa/drivers/dri/i965/intel_blit.c
src/mesa/drivers/dri/i965/intel_context.c
src/mesa/drivers/dri/i965/intel_context.h

index 5a0106f77ec22c1a03ab0044a82a5c4e38ebbd1c..8891693e8707cce5d9fa3d9e710c3311855a3380 100644 (file)
@@ -38,6 +38,8 @@
 
 static void upload_sf_vp(struct brw_context *brw)
 {
+   GLcontext *ctx = &brw->intel.ctx;
+   const GLfloat depth_scale = 1.0F / ctx->DrawBuffer->_DepthMaxF;
    struct brw_sf_viewport sfv;
 
    memset(&sfv, 0, sizeof(sfv));
@@ -47,14 +49,14 @@ static void upload_sf_vp(struct brw_context *brw)
       /* _NEW_VIEWPORT, BRW_NEW_METAOPS */
 
       if (!brw->metaops.active) {
-        const GLfloat *v = brw->intel.ctx.Viewport._WindowMap.m;
+        const GLfloat *v = ctx->Viewport._WindowMap.m;
         
         sfv.viewport.m00 =   v[MAT_SX];
         sfv.viewport.m11 = - v[MAT_SY];
-        sfv.viewport.m22 =   v[MAT_SZ] * brw->intel.depth_scale;
+        sfv.viewport.m22 =   v[MAT_SZ] * depth_scale;
         sfv.viewport.m30 =   v[MAT_TX];
         sfv.viewport.m31 = - v[MAT_TY] + brw->intel.driDrawable->h;
-        sfv.viewport.m32 =   v[MAT_TZ] * brw->intel.depth_scale;
+        sfv.viewport.m32 =   v[MAT_TZ] * depth_scale;
       }
       else {
         sfv.viewport.m00 =   1;
index 4778d48efd7178777306a0507d156f013a8afd00..37c572c228abca872e041f3bbdf0f5a3f03a02c3 100644 (file)
@@ -381,7 +381,7 @@ intelClearWithBlit(GLcontext *ctx, GLbitfield mask)
    clear_depth = 0;
 
    if (mask & BUFFER_BIT_DEPTH) {
-      clear_depth = (GLuint)(ctx->Depth.Clear * intel->ClearDepth);
+      clear_depth = (GLuint) (fb->_DepthMax * ctx->Depth.Clear);
    }
 
    if (mask & BUFFER_BIT_STENCIL) {
index f5b496189524b6f63cd6f953ade9922e89314a4f..bc59b49614efef0054282109edb4d57b43e82706 100644 (file)
@@ -524,17 +524,10 @@ GLboolean intelInitContext( struct intel_context *intel,
    switch(mesaVis->depthBits) {
    case 0:                     /* what to do in this case? */
    case 16:
-      intel->depth_scale = 1.0/0xffff;
       intel->polygon_offset_scale = 1.0/0xffff;
-      intel->depth_clear_mask = ~0;
-      intel->ClearDepth = 0xffff;
       break;
    case 24:
-      intel->depth_scale = 1.0/0xffffff;
       intel->polygon_offset_scale = 2.0/0xffffff; /* req'd to pass glean */
-      intel->depth_clear_mask = 0x00ffffff;
-      intel->stencil_clear_mask = 0xff000000;
-      intel->ClearDepth = 0x00ffffff;
       break;
    default:
       assert(0); 
index 583ef42166ed39f889729603010efd9ed57f1e8d..b3846839ec290959e4e8e0d2ebea9a2a8067b42f 100644 (file)
@@ -164,12 +164,8 @@ struct intel_context
 
    GLubyte clear_chan[4];
    GLuint ClearColor;
-   GLuint ClearDepth;
 
-   GLfloat depth_scale;
    GLfloat polygon_offset_scale; /* dependent on depth_scale, bpp */
-   GLuint depth_clear_mask;
-   GLuint stencil_clear_mask;
 
    GLboolean hw_stencil;
    GLboolean hw_stipple;