mesa: remove INV_SQRTF() macro
authorBrian Paul <brianp@vmware.com>
Tue, 24 Feb 2015 16:39:51 +0000 (09:39 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 24 Feb 2015 21:44:19 +0000 (14:44 -0700)
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/main/imports.h
src/mesa/main/light.c
src/mesa/main/macros.h
src/mesa/math/m_debug_norm.c
src/mesa/math/m_norm_tmp.h
src/mesa/math/m_xform.c
src/mesa/program/prog_execute.c
src/mesa/tnl/t_rasterpos.c
src/mesa/tnl/t_vb_points.c
src/mesa/tnl/t_vb_texgen.c

index da373b044306f94abcea6a6bd06fbf26ffa47975..df6a3fe994ab078403d1498a81ff8c4faf07f013 100644 (file)
@@ -119,15 +119,6 @@ static inline int isblank(int ch) { return ch == ' ' || ch == '\t'; }
 #endif
 
 
-/** single-precision inverse square root */
-static inline float
-INV_SQRTF(float x)
-{
-   /* XXX we could try Quake's fast inverse square root function here */
-   return 1.0F / sqrtf(x);
-}
-
-
 /***
  *** LOG2: Log base 2 of float
  ***/
index 9db0bff49a786e57e9034e7a06f1807fb9b8084c..c4d3a532ef594bac454576fe5a32d345322169df 100644 (file)
@@ -1026,9 +1026,9 @@ update_modelview_scale( struct gl_context *ctx )
       GLfloat f = m[2] * m[2] + m[6] * m[6] + m[10] * m[10];
       if (f < 1e-12) f = 1.0;
       if (ctx->_NeedEyeCoords)
-        ctx->_ModelViewInvScale = (GLfloat) INV_SQRTF(f);
+        ctx->_ModelViewInvScale = 1.0f / sqrtf(f);
       else
-        ctx->_ModelViewInvScale = (GLfloat) sqrtf(f);
+        ctx->_ModelViewInvScale = sqrtf(f);
    }
 }
 
index 11e3b2a62d4c89a571962e255cb3080a0f960593..470d3966e8242ae42430b7aff70079d9b596c5c2 100644 (file)
@@ -775,7 +775,7 @@ NORMALIZE_3FV(GLfloat v[3])
 {
    GLfloat len = (GLfloat) LEN_SQUARED_3FV(v);
    if (len) {
-      len = INV_SQRTF(len);
+      len = 1.0f / sqrtf(len);
       v[0] *= len;
       v[1] *= len;
       v[2] *= len;
index 00e72be54e9d432dbd0f6134b55ee3f3fb880b21..197b43cf2ab8d9416914d86c3aaf200e84aa6366 100644 (file)
@@ -26,6 +26,7 @@
  *    Gareth Hughes
  */
 
+#include "c99_math.h"
 #include "main/glheader.h"
 #include "main/context.h"
 #include "main/macros.h"
@@ -165,7 +166,7 @@ static void ref_norm_transform_normalize( const GLmatrix *mat,
            /* Hmmm, don't know how we could test the precalculated
             * length case...
             */
-            scale = INV_SQRTF( len );
+            scale = 1.0f / sqrtf(len);
            SCALE_SCALAR_3V( out[i], scale, t );
          } else {
             out[i][0] = out[i][1] = out[i][2] = 0;
@@ -241,7 +242,7 @@ static int test_norm_function( normal_func func, int mtype, long *cycles )
       ASSIGN_3V( d2[i], 0.0, 0.0, 0.0 );
       for ( j = 0 ; j < 3 ; j++ )
          s[i][j] = rnd();
-      length[i] = INV_SQRTF( LEN_SQUARED_3FV( s[i] ) );
+      length[i] = 1.0f / sqrtf( LEN_SQUARED_3FV( s[i] ) );
    }
 
    source->data = (GLfloat(*)[4]) s;
index 339c03ff82c76f4cdd1425578d534a29514473fc..c8fab0ed375d464e03e062ecaf7ff280b4451118 100644 (file)
@@ -68,7 +68,7 @@ TAG(transform_normalize_normals)( const GLmatrix *mat,
         {
            GLdouble len = tx*tx + ty*ty + tz*tz;
            if (len > 1e-20) {
-              GLfloat scale = INV_SQRTF(len);
+              GLfloat scale = 1.0f / sqrtf(len);
               out[i][0] = tx * scale;
               out[i][1] = ty * scale;
               out[i][2] = tz * scale;
@@ -135,7 +135,7 @@ TAG(transform_normalize_normals_no_rot)( const GLmatrix *mat,
         {
            GLdouble len = tx*tx + ty*ty + tz*tz;
            if (len > 1e-20) {
-              GLfloat scale = INV_SQRTF(len);
+              GLfloat scale = 1.0f / sqrtf(len);
               out[i][0] = tx * scale;
               out[i][1] = ty * scale;
               out[i][2] = tz * scale;
@@ -322,7 +322,7 @@ TAG(normalize_normals)( const GLmatrix *mat,
         const GLfloat x = from[0], y = from[1], z = from[2];
         GLdouble len = x * x + y * y + z * z;
         if (len > 1e-50) {
-           len = INV_SQRTF(len);
+           len = 1.0f / sqrtf(len);
            out[i][0] = (GLfloat)(x * len);
            out[i][1] = (GLfloat)(y * len);
            out[i][2] = (GLfloat)(z * len);
index 14d1c645379a47844ae5af33d832d53eeec808bf..718ad499363160d30ef22772dd69bdc10f17ba41 100644 (file)
@@ -33,6 +33,7 @@
  * 3. Transformation of a point p by a matrix M is: p' = M * p
  */
 
+#include "c99_math.h"
 #include "main/glheader.h"
 #include "main/macros.h"
 
index de3a53b493f504ce2da2ae8a81a24b60251a448c..ac813324cb421161e4301a01a844ae6b40e028ff 100644 (file)
@@ -1085,7 +1085,7 @@ _mesa_execute_program(struct gl_context * ctx,
             GLfloat a[4], result[4];
             fetch_vector1(&inst->SrcReg[0], machine, a);
             a[0] = fabsf(a[0]);
-            result[0] = result[1] = result[2] = result[3] = INV_SQRTF(a[0]);
+            result[0] = result[1] = result[2] = result[3] = 1.0f / sqrtf(a[0]);
             store_vector4(inst, machine, result);
             if (DEBUG_PROG) {
                printf("RSQ %g = 1/sqrt(|%g|)\n", result[0], a[0]);
index 5945f64eb9ca0929f1079a32c22400809e12b9fa..9ecf947dfc848dde31e7a695966b9eef5f3ccfbd 100644 (file)
@@ -272,7 +272,7 @@ compute_texgen(struct gl_context *ctx, const GLfloat vObj[4], const GLfloat vEye
    rz = u[2] - normal[2] * two_nu;
    m = rx * rx + ry * ry + (rz + 1.0F) * (rz + 1.0F);
    if (m > 0.0F)
-      mInv = 0.5F * INV_SQRTF(m);
+      mInv = 0.5F * (1.0f / sqrtf(m));
    else
       mInv = 0.0F;
 
index 273db76829dc3a423df18713fd054de8fe985389..0f8578daa185abcd5ee34352e4a604f1203198da 100644 (file)
@@ -65,7 +65,7 @@ run_point_stage(struct gl_context *ctx, struct tnl_pipeline_stage *stage)
       for (i = 0; i < VB->Count; i++) {
          const GLfloat dist = fabsf(*eyeCoord);
          const GLfloat q = p0 + dist * (p1 + dist * p2);
-         const GLfloat atten = (q != 0.0F) ? INV_SQRTF(q) : 1.0F;
+         const GLfloat atten = (q != 0.0F) ? (1.0f / sqrtf(q)) : 1.0F;
          size[i][0] = pointSize * atten; /* clamping done in rasterization */
          eyeCoord += eyeCoordStride;
       }
index 8f527e3436e76734009cf8af2d6ae1fccc9665aa..9a61ef2fe37a3f7697bd406c4cd82caf0f882ab6 100644 (file)
@@ -116,7 +116,7 @@ static void build_m3( GLfloat f[][3], GLfloat m[],
       fz = f[i][2] = u[2] - norm[2] * two_nu;
       m[i] = fx * fx + fy * fy + (fz + 1.0F) * (fz + 1.0F);
       if (m[i] != 0.0F) {
-        m[i] = 0.5F * INV_SQRTF(m[i]);
+        m[i] = 0.5F * (1.0f / sqrtf(m[i]));
       }
    }
 }
@@ -145,7 +145,7 @@ static void build_m2( GLfloat f[][3], GLfloat m[],
       fz = f[i][2] = u[2] - norm[2] * two_nu;
       m[i] = fx * fx + fy * fy + (fz + 1.0F) * (fz + 1.0F);
       if (m[i] != 0.0F) {
-        m[i] = 0.5F * INV_SQRTF(m[i]);
+        m[i] = 0.5F * (1.0f / sqrtf(m[i]));
       }
    }
 }