From 55481b3a2977179f47b6d8cec0700e0991dba462 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 15 Dec 2004 01:07:52 +0000 Subject: tweaks to the LIT instructions --- src/mesa/shader/nvvertexec.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src/mesa/shader') diff --git a/src/mesa/shader/nvvertexec.c b/src/mesa/shader/nvvertexec.c index 79929f14a5..269c4c93d8 100644 --- a/src/mesa/shader/nvvertexec.c +++ b/src/mesa/shader/nvvertexec.c @@ -412,17 +412,12 @@ _mesa_exec_vertex_program(GLcontext *ctx, const struct vertex_program *program) break; case VP_OPCODE_LIT: { - const GLfloat epsilon = 1.0e-5F; /* XXX fix? */ + const GLfloat epsilon = 1.0F / 256.0F; /* per NV spec */ GLfloat t[4], lit[4]; fetch_vector4( &inst->SrcReg[0], state, t ); - if (t[3] < -(128.0F - epsilon)) - t[3] = - (128.0F - epsilon); - else if (t[3] > 128.0F - epsilon) - t[3] = 128.0F - epsilon; - if (t[0] < 0.0) - t[0] = 0.0; - if (t[1] < 0.0) - t[1] = 0.0; + t[0] = MAX2(t[0], 0.0F); + t[1] = MAX2(t[1], 0.0F); + t[3] = CLAMP(t[3], -(128.0F - epsilon), (128.0F - epsilon)); lit[0] = 1.0; lit[1] = t[0]; lit[2] = (t[0] > 0.0) ? (GLfloat) exp(t[3] * log(t[1])) : 0.0F; -- cgit v1.2.3