gallium/tgsi: correct typo propagated from NV_vertex_program1_1
authorErik Faye-Lund <kusmabite@gmail.com>
Fri, 7 Feb 2014 12:45:11 +0000 (13:45 +0100)
committerBrian Paul <brianp@vmware.com>
Fri, 7 Feb 2014 15:22:23 +0000 (08:22 -0700)
In the specification text of NV_vertex_program1_1, the upper
limit of the RCC instruction is written as 1.884467e+19 in
scientific notation, but as 0x5F800000 in binary. But the binary
version translates to 1.84467e+19 rather than 1.884467e+19 in
scientific notation.

Since the lower-limit equals 2^-64 and the binary version equals
2^+64, let's assume the value in scientific notation is a typo
and implement this using the value from the binary version
instead.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/docs/source/tgsi.rst

index 96809cd03f5d49e44fb06b2e70a0ea199c785479..55da60a18c7c0da59fc8787d4257169b956f98ec 100644 (file)
@@ -915,9 +915,9 @@ micro_rcc(union tgsi_exec_channel *dst,
       float recip = 1.0f / src->f[i];
 
       if (recip > 0.0f)
-         dst->f[i] = CLAMP(recip, 5.42101e-020f, 1.884467e+019f);
+         dst->f[i] = CLAMP(recip, 5.42101e-020f, 1.84467e+019f);
       else
-         dst->f[i] = CLAMP(recip, -1.884467e+019f, -5.42101e-020f);
+         dst->f[i] = CLAMP(recip, -1.84467e+019f, -5.42101e-020f);
    }
 }
 
index 0501aca54fc56797a09d3addb7e0badd7e240edd..be4257255b3ab9bf7383bcefa2235537a5dc9a82 100644 (file)
@@ -424,7 +424,7 @@ XXX cleanup on aisle three
 
 .. math::
 
-  dst = (1 / src.x) > 0 ? clamp(1 / src.x, 5.42101e-020, 1.884467e+019) : clamp(1 / src.x, -1.884467e+019, -5.42101e-020)
+  dst = (1 / src.x) > 0 ? clamp(1 / src.x, 5.42101e-020, 1.84467e+019) : clamp(1 / src.x, -1.84467e+019, -5.42101e-020)
 
 
 .. opcode:: DPH - Homogeneous Dot Product