mesa: Branch 'master'

Patrice Mandin pmandin at kemper.freedesktop.org
Fri Feb 16 18:55:46 UTC 2007


 src/mesa/drivers/dri/nouveau/nv10_state.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

New commits:
diff-tree 9131536f00cca586be7dfc1cfbc47188c78e4920 (from 252d1de05430cbed532b5a716cbd7da0ee7dd0d1)
Author: Patrice Mandin <pmandin at caramail.com>
Date:   Fri Feb 16 19:54:55 2007 +0100

    nouveau: nv10: rescale depth near and far

diff --git a/src/mesa/drivers/dri/nouveau/nv10_state.c b/src/mesa/drivers/dri/nouveau/nv10_state.c
index e64fcb1..803dd96 100644
--- a/src/mesa/drivers/dri/nouveau/nv10_state.c
+++ b/src/mesa/drivers/dri/nouveau/nv10_state.c
@@ -187,9 +187,15 @@ static void nv10DepthMask(GLcontext *ctx
 static void nv10DepthRange(GLcontext *ctx, GLclampd nearval, GLclampd farval)
 {
 	nouveauContextPtr nmesa = NOUVEAU_CONTEXT(ctx);
+
+	GLfloat depth_scale = 16777216.0;
+	if (ctx->DrawBuffer->_DepthBuffer->DepthBits == 16) {
+		depth_scale = 32768.0;
+	}
+
 	BEGIN_RING_CACHE(NvSub3D, NV10_TCL_PRIMITIVE_3D_DEPTH_RANGE_NEAR, 2);
-	OUT_RING_CACHEf(nearval);
-	OUT_RING_CACHEf(farval);
+	OUT_RING_CACHEf(nearval * depth_scale);
+	OUT_RING_CACHEf(farval * depth_scale);
 
 	nv10ViewportScale(nmesa);
 }



More information about the mesa-commit mailing list