diff options
Diffstat (limited to 'mesalib/src/mesa/main')
-rw-r--r-- | mesalib/src/mesa/main/eval.c | 70 | ||||
-rw-r--r-- | mesalib/src/mesa/main/imports.h | 24 | ||||
-rw-r--r-- | mesalib/src/mesa/main/light.c | 2 | ||||
-rw-r--r-- | mesalib/src/mesa/main/macros.h | 4 | ||||
-rw-r--r-- | mesalib/src/mesa/main/texcompress_fxt1.c | 6 | ||||
-rw-r--r-- | mesalib/src/mesa/main/texcompress_rgtc.c | 16 | ||||
-rw-r--r-- | mesalib/src/mesa/main/texcompress_s3tc.c | 12 |
7 files changed, 52 insertions, 82 deletions
diff --git a/mesalib/src/mesa/main/eval.c b/mesalib/src/mesa/main/eval.c index 0ae349f2d..487c4ce04 100644 --- a/mesalib/src/mesa/main/eval.c +++ b/mesalib/src/mesa/main/eval.c @@ -384,6 +384,7 @@ map1(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, k = _mesa_evaluator_components( target ); if (k == 0) { _mesa_error( ctx, GL_INVALID_ENUM, "glMap1(target)" ); + return; } if (ustride < k) { @@ -415,8 +416,7 @@ map1(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, map->u1 = u1; map->u2 = u2; map->du = 1.0F / (u2 - u1); - if (map->Points) - free( map->Points ); + free(map->Points); map->Points = pnts; } @@ -474,6 +474,7 @@ map2( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, k = _mesa_evaluator_components( target ); if (k==0) { _mesa_error( ctx, GL_INVALID_ENUM, "glMap2(target)" ); + return; } if (ustride < k) { @@ -515,8 +516,7 @@ map2( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, map->v1 = v1; map->v2 = v2; map->dv = 1.0F / (v2 - v1); - if (map->Points) - free( map->Points ); + free(map->Points); map->Points = pnts; } @@ -1047,45 +1047,27 @@ void _mesa_free_eval_data( struct gl_context *ctx ) int i; /* Free evaluator data */ - if (ctx->EvalMap.Map1Vertex3.Points) - free( ctx->EvalMap.Map1Vertex3.Points ); - if (ctx->EvalMap.Map1Vertex4.Points) - free( ctx->EvalMap.Map1Vertex4.Points ); - if (ctx->EvalMap.Map1Index.Points) - free( ctx->EvalMap.Map1Index.Points ); - if (ctx->EvalMap.Map1Color4.Points) - free( ctx->EvalMap.Map1Color4.Points ); - if (ctx->EvalMap.Map1Normal.Points) - free( ctx->EvalMap.Map1Normal.Points ); - if (ctx->EvalMap.Map1Texture1.Points) - free( ctx->EvalMap.Map1Texture1.Points ); - if (ctx->EvalMap.Map1Texture2.Points) - free( ctx->EvalMap.Map1Texture2.Points ); - if (ctx->EvalMap.Map1Texture3.Points) - free( ctx->EvalMap.Map1Texture3.Points ); - if (ctx->EvalMap.Map1Texture4.Points) - free( ctx->EvalMap.Map1Texture4.Points ); - for (i = 0; i < 16; i++) - free((ctx->EvalMap.Map1Attrib[i].Points)); - - if (ctx->EvalMap.Map2Vertex3.Points) - free( ctx->EvalMap.Map2Vertex3.Points ); - if (ctx->EvalMap.Map2Vertex4.Points) - free( ctx->EvalMap.Map2Vertex4.Points ); - if (ctx->EvalMap.Map2Index.Points) - free( ctx->EvalMap.Map2Index.Points ); - if (ctx->EvalMap.Map2Color4.Points) - free( ctx->EvalMap.Map2Color4.Points ); - if (ctx->EvalMap.Map2Normal.Points) - free( ctx->EvalMap.Map2Normal.Points ); - if (ctx->EvalMap.Map2Texture1.Points) - free( ctx->EvalMap.Map2Texture1.Points ); - if (ctx->EvalMap.Map2Texture2.Points) - free( ctx->EvalMap.Map2Texture2.Points ); - if (ctx->EvalMap.Map2Texture3.Points) - free( ctx->EvalMap.Map2Texture3.Points ); - if (ctx->EvalMap.Map2Texture4.Points) - free( ctx->EvalMap.Map2Texture4.Points ); - for (i = 0; i < 16; i++) + free(ctx->EvalMap.Map1Vertex3.Points); + free(ctx->EvalMap.Map1Vertex4.Points); + free(ctx->EvalMap.Map1Index.Points); + free(ctx->EvalMap.Map1Color4.Points); + free(ctx->EvalMap.Map1Normal.Points); + free(ctx->EvalMap.Map1Texture1.Points); + free(ctx->EvalMap.Map1Texture2.Points); + free(ctx->EvalMap.Map1Texture3.Points); + free(ctx->EvalMap.Map1Texture4.Points); + for (i = 0; i < Elements(ctx->EvalMap.Map1Attrib); i++) + free(ctx->EvalMap.Map1Attrib[i].Points); + + free(ctx->EvalMap.Map2Vertex3.Points); + free(ctx->EvalMap.Map2Vertex4.Points); + free(ctx->EvalMap.Map2Index.Points); + free(ctx->EvalMap.Map2Color4.Points); + free(ctx->EvalMap.Map2Normal.Points); + free(ctx->EvalMap.Map2Texture1.Points); + free(ctx->EvalMap.Map2Texture2.Points); + free(ctx->EvalMap.Map2Texture3.Points); + free(ctx->EvalMap.Map2Texture4.Points); + for (i = 0; i < Elements(ctx->EvalMap.Map2Attrib); i++) free((ctx->EvalMap.Map2Attrib[i].Points)); } diff --git a/mesalib/src/mesa/main/imports.h b/mesalib/src/mesa/main/imports.h index 2f854e574..abf216c99 100644 --- a/mesalib/src/mesa/main/imports.h +++ b/mesalib/src/mesa/main/imports.h @@ -96,18 +96,6 @@ typedef union { GLfloat f; GLint i; } fi_type; #define DEG2RAD (M_PI/180.0) -/*** - *** SQRTF: single-precision square root - ***/ -#define SQRTF(X) (float) sqrt((float) (X)) - - -/*** - *** INV_SQRTF: single-precision inverse square root - ***/ -#define INV_SQRTF(X) (1.0F / SQRTF(X)) - - /** * \name Work-arounds for platforms that lack C99 math functions */ @@ -156,9 +144,15 @@ static inline int isblank(int ch) { return ch == ' ' || ch == '\t'; } #endif /*@}*/ -#if defined(__SUNPRO_C) -#define sqrtf(f) ((float) sqrt(f)) -#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); +} /*** diff --git a/mesalib/src/mesa/main/light.c b/mesalib/src/mesa/main/light.c index cfb53dc06..042ed1cb8 100644 --- a/mesalib/src/mesa/main/light.c +++ b/mesalib/src/mesa/main/light.c @@ -1038,7 +1038,7 @@ update_modelview_scale( struct gl_context *ctx ) if (ctx->_NeedEyeCoords) ctx->_ModelViewInvScale = (GLfloat) INV_SQRTF(f); else - ctx->_ModelViewInvScale = (GLfloat) SQRTF(f); + ctx->_ModelViewInvScale = (GLfloat) sqrtf(f); } } diff --git a/mesalib/src/mesa/main/macros.h b/mesalib/src/mesa/main/macros.h index 7d0a375d1..fc6f2a28f 100644 --- a/mesalib/src/mesa/main/macros.h +++ b/mesalib/src/mesa/main/macros.h @@ -665,13 +665,13 @@ LEN_SQUARED_2FV(const GLfloat v[2]) static inline GLfloat LEN_3FV(const GLfloat v[3]) { - return SQRTF(LEN_SQUARED_3FV(v)); + return sqrtf(LEN_SQUARED_3FV(v)); } static inline GLfloat LEN_2FV(const GLfloat v[2]) { - return SQRTF(LEN_SQUARED_2FV(v)); + return sqrtf(LEN_SQUARED_2FV(v)); } diff --git a/mesalib/src/mesa/main/texcompress_fxt1.c b/mesalib/src/mesa/main/texcompress_fxt1.c index eafa18794..8948bd278 100644 --- a/mesalib/src/mesa/main/texcompress_fxt1.c +++ b/mesalib/src/mesa/main/texcompress_fxt1.c @@ -99,8 +99,7 @@ _mesa_texstore_rgb_fxt1(TEXSTORE_PARAMS) fxt1_encode(srcWidth, srcHeight, 3, pixels, srcRowStride, dst, dstRowStride); - if (tempImage) - free((void*) tempImage); + free((void*) tempImage); return GL_TRUE; } @@ -149,8 +148,7 @@ _mesa_texstore_rgba_fxt1(TEXSTORE_PARAMS) fxt1_encode(srcWidth, srcHeight, 4, pixels, srcRowStride, dst, dstRowStride); - if (tempImage) - free((void*) tempImage); + free((void*) tempImage); return GL_TRUE; } diff --git a/mesalib/src/mesa/main/texcompress_rgtc.c b/mesalib/src/mesa/main/texcompress_rgtc.c index 84d8fc7fc..5773459d7 100644 --- a/mesalib/src/mesa/main/texcompress_rgtc.c +++ b/mesalib/src/mesa/main/texcompress_rgtc.c @@ -129,8 +129,8 @@ _mesa_texstore_red_rgtc1(TEXSTORE_PARAMS) } blkaddr += dstRowDiff; } - if (tempImage) - free((void *) tempImage); + + free((void *) tempImage); return GL_TRUE; } @@ -176,8 +176,8 @@ _mesa_texstore_signed_red_rgtc1(TEXSTORE_PARAMS) } blkaddr += dstRowDiff; } - if (tempImage) - free((void *) tempImage); + + free((void *) tempImage); return GL_TRUE; } @@ -230,8 +230,8 @@ _mesa_texstore_rg_rgtc2(TEXSTORE_PARAMS) } blkaddr += dstRowDiff; } - if (tempImage) - free((void *) tempImage); + + free((void *) tempImage); return GL_TRUE; } @@ -285,8 +285,8 @@ _mesa_texstore_signed_rg_rgtc2(TEXSTORE_PARAMS) } blkaddr += dstRowDiff; } - if (tempImage) - free((void *) tempImage); + + free((void *) tempImage); return GL_TRUE; } diff --git a/mesalib/src/mesa/main/texcompress_s3tc.c b/mesalib/src/mesa/main/texcompress_s3tc.c index c1984da66..215d7a385 100644 --- a/mesalib/src/mesa/main/texcompress_s3tc.c +++ b/mesalib/src/mesa/main/texcompress_s3tc.c @@ -207,8 +207,7 @@ _mesa_texstore_rgb_dxt1(TEXSTORE_PARAMS) _mesa_warning(ctx, "external dxt library not available: texstore_rgb_dxt1"); } - if (tempImage) - free((void *) tempImage); + free((void *) tempImage); return GL_TRUE; } @@ -260,8 +259,7 @@ _mesa_texstore_rgba_dxt1(TEXSTORE_PARAMS) _mesa_warning(ctx, "external dxt library not available: texstore_rgba_dxt1"); } - if (tempImage) - free((void*) tempImage); + free((void*) tempImage); return GL_TRUE; } @@ -312,8 +310,7 @@ _mesa_texstore_rgba_dxt3(TEXSTORE_PARAMS) _mesa_warning(ctx, "external dxt library not available: texstore_rgba_dxt3"); } - if (tempImage) - free((void *) tempImage); + free((void *) tempImage); return GL_TRUE; } @@ -364,8 +361,7 @@ _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS) _mesa_warning(ctx, "external dxt library not available: texstore_rgba_dxt5"); } - if (tempImage) - free((void *) tempImage); + free((void *) tempImage); return GL_TRUE; } |