Silence compiler warnings about implicit casts or conversions by supplying explicit...
authorKarl Schultz <kschultz@freedesktop.org>
Sat, 30 Aug 2003 14:45:04 +0000 (14:45 +0000)
committerKarl Schultz <kschultz@freedesktop.org>
Sat, 30 Aug 2003 14:45:04 +0000 (14:45 +0000)
17 files changed:
src/mesa/main/api_loopback.c
src/mesa/main/arbprogram.c
src/mesa/main/arbvertparse.c
src/mesa/main/depth.c
src/mesa/main/dlist.c
src/mesa/main/imports.c
src/mesa/main/macros.h
src/mesa/main/matrix.c
src/mesa/main/nvfragparse.c
src/mesa/main/nvprogram.c
src/mesa/main/nvvertexec.c
src/mesa/main/occlude.c
src/mesa/main/rastpos.c
src/mesa/math/m_norm_tmp.h
src/mesa/swrast/s_lines.c
src/mesa/swrast/s_nvfragprog.c
src/mesa/swrast/s_tritemp.h

index ecd701da3bf8569afb2f1440fa8fa0af337f9f37..010a49399ad29c305b5b035541d904716c9f344b 100644 (file)
@@ -1642,31 +1642,31 @@ loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v)
 static void
 loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v)
 {
-   ATTRIB(index, v[0], v[1], v[2], v[3]);
+   ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
 static void
 loopback_VertexAttrib4ivARB(GLuint index, const GLint * v)
 {
-   ATTRIB(index, v[0], v[1], v[2], v[3]);
+   ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
 static void
 loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v)
 {
-   ATTRIB(index, v[0], v[1], v[2], v[3]);
+   ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
 static void
 loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v)
 {
-   ATTRIB(index, v[0], v[1], v[2], v[3]);
+   ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
 static void
 loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v)
 {
-   ATTRIB(index, v[0], v[1], v[2], v[3]);
+   ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
 static void
index e5febdb9fa276559b57beb6765661b32875aff57..07ba462219724fb4fcf21d0c9dfa397ffd388b40 100644 (file)
@@ -146,16 +146,16 @@ _mesa_GetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params)
 
    switch (pname) {
       case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB:
-         params[0] = ctx->Array.VertexAttrib[index].Enabled;
+         params[0] = (GLfloat) ctx->Array.VertexAttrib[index].Enabled;
          break;
       case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB:
-         params[0] = ctx->Array.VertexAttrib[index].Size;
+         params[0] = (GLfloat) ctx->Array.VertexAttrib[index].Size;
          break;
       case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB:
-         params[0] = ctx->Array.VertexAttrib[index].Stride;
+         params[0] = (GLfloat) ctx->Array.VertexAttrib[index].Stride;
          break;
       case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB:
-         params[0] = ctx->Array.VertexAttrib[index].Type;
+         params[0] = (GLfloat) ctx->Array.VertexAttrib[index].Type;
          break;
       case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB:
          params[0] = ctx->Array.VertexAttrib[index].Normalized;
@@ -181,10 +181,10 @@ _mesa_GetVertexAttribivARB(GLuint index, GLenum pname, GLint *params)
    _mesa_GetVertexAttribfvARB(index, pname, fparams);
    if (ctx->ErrorValue == GL_NO_ERROR) {
       if (pname == GL_CURRENT_VERTEX_ATTRIB_ARB) {
-         COPY_4V(params, fparams);  /* float to int */
+         COPY_4V_CAST(params, fparams, GLint);  /* float to int */
       }
       else {
-         params[0] = fparams[0];
+         params[0] = (GLint) fparams[0];
       }
    }
 }
@@ -245,7 +245,8 @@ void
 _mesa_ProgramEnvParameter4dARB(GLenum target, GLuint index,
                                GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
-   _mesa_ProgramEnvParameter4fARB(target, index, x, y, z, w);
+   _mesa_ProgramEnvParameter4fARB(target, index, (GLfloat) x, (GLfloat) y, 
+                                 (GLfloat) z, (GLfloat) w);
 }
 
 
@@ -253,8 +254,9 @@ void
 _mesa_ProgramEnvParameter4dvARB(GLenum target, GLuint index,
                                 const GLdouble *params)
 {
-   _mesa_ProgramEnvParameter4fARB(target, index, params[0], params[1],
-                                  params[2], params[3]);
+   _mesa_ProgramEnvParameter4fARB(target, index, (GLfloat) params[0], 
+                                 (GLfloat) params[1], (GLfloat) params[2], 
+                                 (GLfloat) params[3]);
 }
 
 
@@ -821,7 +823,7 @@ _mesa_GetProgramRegisterfvMESA(GLenum target,
          if (reg[0] == 'R') {
             /* Temp register */
             GLint i = _mesa_atoi(reg + 1);
-            if (i >= ctx->Const.MaxVertexProgramTemps) {
+            if (i >= (GLint)ctx->Const.MaxVertexProgramTemps) {
                _mesa_error(ctx, GL_INVALID_VALUE,
                            "glGetProgramRegisterfvMESA(registerName)");
                return;
@@ -830,7 +832,7 @@ _mesa_GetProgramRegisterfvMESA(GLenum target,
          }
          else if (reg[0] == 'v' && reg[1] == '[') {
             /* Vertex Input attribute */
-            GLint i;
+            GLuint i;
             for (i = 0; i < ctx->Const.MaxVertexProgramAttribs; i++) {
                const char *name = _mesa_nv_vertex_input_register_name(i);
                char number[10];
@@ -885,7 +887,7 @@ _mesa_GetProgramRegisterfvMESA(GLenum target,
          if (reg[0] == 'R') {
             /* Temp register */
             GLint i = _mesa_atoi(reg + 1);
-            if (i >= ctx->Const.MaxFragmentProgramTemps) {
+            if (i >= (GLint)ctx->Const.MaxFragmentProgramTemps) {
                _mesa_error(ctx, GL_INVALID_VALUE,
                            "glGetProgramRegisterfvMESA(registerName)");
                return;
@@ -894,7 +896,7 @@ _mesa_GetProgramRegisterfvMESA(GLenum target,
          }
          else if (reg[0] == 'f' && reg[1] == '[') {
             /* Fragment input attribute */
-            GLint i;
+            GLuint i;
             for (i = 0; i < ctx->Const.MaxFragmentProgramAttribs; i++) {
                const char *name = _mesa_nv_fragment_input_register_name(i);
                if (_mesa_strncmp(reg + 2, name, 4) == 0) {
index 6706f55b39ac3d80dba334c2e6456c8784c56e05..7492269231876ec4c9826b31d43f611b96540dc9 100644 (file)
@@ -5528,7 +5528,7 @@ parse_tree_fold_bindings(parse_state * s, parse_tree_node * ptn)
    eat_children = 0;
    bind_row = 0;
    bind_nrows = 1;
-   bind_vals[0] = bind_vals[1] = bind_vals[2] = bind_vals[3];
+   bind_vals[0] = bind_vals[1] = bind_vals[2] = bind_vals[3] = 0.0f;
    switch (ptn->prod_applied) {
       /* vertex */
    case 121:
@@ -6123,7 +6123,7 @@ parse_tree_fold_bindings(parse_state * s, parse_tree_node * ptn)
 
 #define FOLD_FLOAT_CONSTANT(float_ptr, bind_vals_idx, sign) \
                if (float_ptr->tok == 49) /* GLfloat */ {\
-                       bind_vals[bind_vals_idx] = sign * s->floats.data[float_ptr->tok_attr];\
+                       bind_vals[bind_vals_idx] = sign * (GLfloat) s->floats.data[float_ptr->tok_attr];\
                }\
                else /* GLint */ {\
                        bind_vals[bind_vals_idx] = sign * s->ints.data[float_ptr->tok_attr];\
@@ -6131,9 +6131,9 @@ parse_tree_fold_bindings(parse_state * s, parse_tree_node * ptn)
 
 #define FOLD_SIGNED_FLOAT_CONSTANT(sf_ptr, bind_vals_idx) \
                {\
-                       GLfloat __mul = 1.;\
+                       GLfloat __mul = 1.0F;\
                        if (sf_ptr->children[0]->prod_applied == 282) \
-                               __mul = -1.;\
+                               __mul = -1.0F;\
                        FOLD_FLOAT_CONSTANT(sf_ptr->children[1], bind_vals_idx, __mul);\
                }
 
index 32c61622f7ae144433df8c63addd58a4e0f30cfc..1e07607c46380e9161d35cbd0b891da22f66b721 100644 (file)
@@ -137,8 +137,8 @@ _mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
       return;
 
    FLUSH_VERTICES(ctx, _NEW_DEPTH);
-   ctx->Depth.BoundsMin = zmin;
-   ctx->Depth.BoundsMax = zmax;
+   ctx->Depth.BoundsMin = (GLfloat) zmin;
+   ctx->Depth.BoundsMax = (GLfloat) zmax;
 }
 
 
index 1ebc4a086eb9bea12c09094f93856ef64c749034..abfc2dfff88c946d1483df50d66d8316ceee8b4a 100644 (file)
@@ -4265,10 +4265,10 @@ save_ProgramLocalParameter4dARB(GLenum target, GLuint index,
    if (n) {
       n[1].e = target;
       n[2].ui = index;
-      n[3].f = x;
-      n[4].f = y;
-      n[5].f = z;
-      n[6].f = w;
+      n[3].f = (GLfloat) x;
+      n[4].f = (GLfloat) y;
+      n[5].f = (GLfloat) z;
+      n[6].f = (GLfloat) w;
    }
    if (ctx->ExecuteFlag) {
       (*ctx->Exec->ProgramLocalParameter4dARB)(target, index, x, y, z, w);
@@ -4287,10 +4287,10 @@ save_ProgramLocalParameter4dvARB(GLenum target, GLuint index,
    if (n) {
       n[1].e = target;
       n[2].ui = index;
-      n[3].f = params[0];
-      n[4].f = params[1];
-      n[5].f = params[2];
-      n[6].f = params[3];
+      n[3].f = (GLfloat) params[0];
+      n[4].f = (GLfloat) params[1];
+      n[5].f = (GLfloat) params[2];
+      n[6].f = (GLfloat) params[3];
    }
    if (ctx->ExecuteFlag) {
       (*ctx->Exec->ProgramLocalParameter4dvARB)(target, index, params);
@@ -4383,8 +4383,8 @@ static void save_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
    n = ALLOC_INSTRUCTION( ctx, OPCODE_ACTIVE_STENCIL_FACE_EXT, 2 );
    if (n) {
-      n[1].f = zmin;
-      n[2].f = zmax;
+      n[1].f = (GLfloat) zmin;
+      n[2].f = (GLfloat) zmax;
    }
    if (ctx->ExecuteFlag) {
       (*ctx->Exec->DepthBoundsEXT)( zmin, zmax );
index 7597979e4a781efcd622e810c494e7bb6792beaf..5960a95b6e6714ba033dfb785b26b99ad41de239 100644 (file)
@@ -489,7 +489,7 @@ _mesa_inv_sqrtf(float n)
 #elif defined(XFree86LOADER) && defined(IN_MODULE)
         return 1.0F / xf86sqrt(n);
 #else
-        return 1.0F / sqrt(n);
+        return (float) (1.0 / sqrt(n));
 #endif
 }
 
index f3c77ca5fcab62512ef80e51ccbf12b54e92f938..fcb63f53f2088fbfa139004b7309a2b8d6d2129e 100644 (file)
@@ -146,6 +146,15 @@ do {                                               \
    (DST)[3] = (SRC)[3];                                \
 } while (0)
 
+/** Copy a 4-element vector with cast */
+#define COPY_4V_CAST( DST, SRC, CAST )         \
+do {                                           \
+   (DST)[0] = (CAST)(SRC)[0];                  \
+   (DST)[1] = (CAST)(SRC)[1];                  \
+   (DST)[2] = (CAST)(SRC)[2];                  \
+   (DST)[3] = (CAST)(SRC)[3];                  \
+} while (0)
+
 /** Copy a 4-element unsigned byte vector */
 #if defined(__i386__)
 #define COPY_4UBV(DST, SRC)                    \
index 6a3485876d3e99b725314e20b391ac5076043db5..e74e1728e79f017756a394e9408f4ba33dc4d875 100644 (file)
@@ -191,7 +191,7 @@ _mesa_MatrixMode( GLenum mode )
    case GL_MATRIX7_ARB:
       if (ctx->Extensions.ARB_vertex_program ||
           ctx->Extensions.ARB_fragment_program) {
-         const GLint m = mode - GL_MATRIX0_ARB;
+         const GLuint m = mode - GL_MATRIX0_ARB;
          if (m > ctx->Const.MaxProgramMatrices) {
             _mesa_error(ctx, GL_INVALID_ENUM,
                         "glMatrixMode(GL_MATRIX%d_ARB)", m);
index c2023785e5c3511b30e317cdf5b975303ab57098..36840d0e75367fdcfdfaef79a565cc00a45adc32 100644 (file)
@@ -204,7 +204,7 @@ lookup_parameter(struct parse_state *parseState, const char *name)
 static const GLint
 lookup_parameter_index(struct parse_state *parseState, const char *name)
 {
-   GLint i;
+   GLuint i;
    for (i = 0; i < parseState->numParameters; i++) {
       if (_mesa_strcmp(parseState->parameters[i].Name, name) == 0)
          return i;
index 2fb062ffb8a9682f69445525d7fe5a7dc9488416..61dca5001acb45c4f3301cd48264ed2d81601227 100644 (file)
@@ -1101,7 +1101,7 @@ _mesa_ProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name,
 {
    struct program *prog;
    struct fragment_program *fragProg;
-   GLint i;
+   GLuint i;
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
@@ -1167,7 +1167,7 @@ _mesa_GetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name,
 {
    struct program *prog;
    struct fragment_program *fragProg;
-   GLint i;
+   GLuint i;
    GET_CURRENT_CONTEXT(ctx);
 
    if (!ctx->_CurrentProgram)
index 73d5440c79aa85f54abfe1ac90681bef6bf9071f..e41bdfb8503ae42673c4025ac7c345cdf9c6a24f 100644 (file)
@@ -689,7 +689,7 @@ _mesa_exec_vertex_program(GLcontext *ctx, const struct vertex_program *program)
             {
                GLfloat t[4];
                fetch_vector1( &inst->SrcReg[0], state, t );
-               t[0] = t[1] = t[2] = t[3] = _mesa_pow(2.0, t[0]);
+               t[0] = t[1] = t[2] = t[3] = (GLfloat)_mesa_pow(2.0, t[0]);
                store_vector4( &inst->DstReg, state, t );
             }
             break;
@@ -706,7 +706,7 @@ _mesa_exec_vertex_program(GLcontext *ctx, const struct vertex_program *program)
                GLfloat t[4], u[4];
                fetch_vector1( &inst->SrcReg[0], state, t );
                fetch_vector1( &inst->SrcReg[1], state, u );
-               t[0] = t[1] = t[2] = t[3] = _mesa_pow(t[0], u[0]);
+               t[0] = t[1] = t[2] = t[3] = (GLfloat)_mesa_pow(t[0], u[0]);
                store_vector4( &inst->DstReg, state, t );
             }
             break;
index f6dc7056ba1452033ae0b34264246eca58d76581..871beb9e541a17a29c81fe72f18432d46329f329 100644 (file)
@@ -116,7 +116,7 @@ _mesa_GenQueriesARB(GLsizei n, GLuint *ids)
 
    first = _mesa_HashFindFreeKeyBlock(ctx->Occlusion.QueryObjects, n);
    if (first) {
-      GLuint i;
+      GLsizei i;
       for (i = 0; i < n; i++) {
          struct occlusion_query *q = new_query_object(GL_SAMPLES_PASSED_ARB,
                                                       first + i);
index 218e4f7ed2eee457e943fd0824bcca9433c68fc7..7e39ddc4164a040448ddd7e47717a55dc6dbf2da 100644 (file)
@@ -380,7 +380,7 @@ raster_pos4f(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
       }
 
       /* ndc = clip / W */
-      d = (clip[3] == 0.0) ? 1.0 : 1.0F / clip[3];
+      d = (clip[3] == 0.0F) ? 1.0F : 1.0F / clip[3];
       ndc[0] = clip[0] * d;
       ndc[1] = clip[1] * d;
       ndc[2] = clip[2] * d;
index 2b7945586e35ccf951821befbce7a4815defdbf5..a20cb05017dac337a11e3733910df2b2736702e5 100644 (file)
@@ -323,9 +323,9 @@ TAG(normalize_normals)( const GLmatrix *mat,
         GLdouble len = x * x + y * y + z * z;
         if (len > 1e-50) {
            len = INV_SQRTF(len);
-           out[i][0] = x * len;
-           out[i][1] = y * len;
-           out[i][2] = z * len;
+           out[i][0] = (GLfloat)(x * len);
+           out[i][1] = (GLfloat)(y * len);
+           out[i][2] = (GLfloat)(z * len);
         }
         else {
            out[i][0] = x;
index a9284d50297263213e1342fa7661e9bd847ed72e..97143a2f4b715ffbd6f673b2a5273bf265366746 100644 (file)
@@ -123,14 +123,12 @@ draw_wide_line( GLcontext *ctx, struct sw_span *span, GLboolean xMajor )
 /*****                    Rasterization                           *****/
 /**********************************************************************/
 
-
 /* Simple color index line (no stipple, width=1, no Z, no fog, no tex)*/
 #define NAME simple_ci_line
 #define INTERP_INDEX
 #define RENDER_SPAN(span) _swrast_write_index_span(ctx, &span)
 #include "s_linetemp.h"
 
-
 /* Simple RGBA index line (no stipple, width=1, no Z, no fog, no tex)*/
 #define NAME simple_rgba_line
 #define INTERP_RGBA
@@ -146,10 +144,10 @@ draw_wide_line( GLcontext *ctx, struct sw_span *span, GLboolean xMajor )
 #define RENDER_SPAN(span)                                      \
    if (ctx->Line.StippleFlag) {                                        \
       span.arrayMask |= SPAN_MASK;                             \
-      compute_stipple_mask(ctx, span.end, span.array->mask);   \
+      compute_stipple_mask(ctx, span.end, span.array->mask);    \
    }                                                           \
    if (ctx->Line.Width > 1.0) {                                        \
-      draw_wide_line(ctx, &span, dx > dy);                     \
+      draw_wide_line(ctx, &span, (GLboolean)(dx > dy));                \
    }                                                           \
    else {                                                      \
       _swrast_write_index_span(ctx, &span);                    \
@@ -168,7 +166,7 @@ draw_wide_line( GLcontext *ctx, struct sw_span *span, GLboolean xMajor )
       compute_stipple_mask(ctx, span.end, span.array->mask);   \
    }                                                           \
    if (ctx->Line.Width > 1.0) {                                        \
-      draw_wide_line(ctx, &span, dx > dy);                     \
+      draw_wide_line(ctx, &span, (GLboolean)(dx > dy));                \
    }                                                           \
    else {                                                      \
       _swrast_write_rgba_span(ctx, &span);                     \
@@ -188,7 +186,7 @@ draw_wide_line( GLcontext *ctx, struct sw_span *span, GLboolean xMajor )
       compute_stipple_mask(ctx, span.end, span.array->mask);   \
    }                                                           \
    if (ctx->Line.Width > 1.0) {                                        \
-      draw_wide_line(ctx, &span, dx > dy);                     \
+      draw_wide_line(ctx, &span, (GLboolean)(dx > dy));                \
    }                                                           \
    else {                                                      \
       _swrast_write_texture_span(ctx, &span);                  \
@@ -209,7 +207,7 @@ draw_wide_line( GLcontext *ctx, struct sw_span *span, GLboolean xMajor )
       compute_stipple_mask(ctx, span.end, span.array->mask);   \
    }                                                           \
    if (ctx->Line.Width > 1.0) {                                        \
-      draw_wide_line(ctx, &span, dx > dy);                     \
+      draw_wide_line(ctx, &span, (GLboolean)(dx > dy));                \
    }                                                           \
    else {                                                      \
       _swrast_write_texture_span(ctx, &span);                  \
index cb3ca86a5312a0df292c3e2e1a3b6102fadcb46f..63a30d4e7cece15adbba2ca29b3de49cac949ef7 100644 (file)
@@ -610,7 +610,7 @@ execute_program( GLcontext *ctx,
             {
                GLfloat a[4], result[4];
                fetch_vector1( ctx, &inst->SrcReg[0], machine, program, a );
-               result[0] = result[1] = result[2] = result[3] = _mesa_cos(a[0]);
+               result[0] = result[1] = result[2] = result[3] = (GLfloat)_mesa_cos(a[0]);
                store_vector4( inst, machine, result );
             }
             break;
@@ -755,7 +755,7 @@ execute_program( GLcontext *ctx,
                   a[1] = 0.0F;
                result[0] = 1.0F;
                result[1] = a[0];
-               result[2] = (a[0] > 0.0) ? _mesa_pow(2.0, a[3]) : 0.0F;
+               result[2] = (a[0] > 0.0F) ? (GLfloat)_mesa_pow(2.0, a[3]) : 0.0F;
                result[3] = 1.0F;
                store_vector4( inst, machine, result );
             }
@@ -903,7 +903,7 @@ execute_program( GLcontext *ctx,
                fetch_vector1( ctx, &inst->SrcReg[0], machine, program, a );
                fetch_vector1( ctx, &inst->SrcReg[1], machine, program, b );
                result[0] = result[1] = result[2] = result[3]
-                  = _mesa_pow(a[0], b[0]);
+                  = (GLfloat)_mesa_pow(a[0], b[0]);
                store_vector4( inst, machine, result );
             }
             break;
@@ -997,7 +997,8 @@ execute_program( GLcontext *ctx,
             {
                GLfloat a[4], result[4];
                fetch_vector1( ctx, &inst->SrcReg[0], machine, program, a );
-               result[0] = result[1] = result[2] = result[3] = _mesa_sin(a[0]);
+               result[0] = result[1] = result[2] = 
+                      result[3] = (GLfloat)_mesa_sin(a[0]);
                store_vector4( inst, machine, result );
             }
             break;
@@ -1184,8 +1185,8 @@ init_machine( GLcontext *ctx, struct fp_machine *machine,
    /* Load input registers */
    if (inputsRead & (1 << FRAG_ATTRIB_WPOS)) {
       GLfloat *wpos = machine->Inputs[FRAG_ATTRIB_WPOS];
-      wpos[0] = span->x + col;
-      wpos[1] = span->y;
+      wpos[0] = (GLfloat) span->x + col;
+      wpos[1] = (GLfloat) span->y;
       wpos[2] = (GLfloat) span->array->z[col] / ctx->DepthMaxF;
       wpos[3] = span->w + col * span->dwdx;
    }
index 97060285e5d3fde4159cb59e0fd5fcaa321d5342..7e8cad6f337d474cb65983eb62c497979876406d 100644 (file)
@@ -392,11 +392,25 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
       else {
          ASSERT (ctx->Light.ShadeModel == GL_FLAT);
          span.interpMask |= SPAN_FLAT;
-         span.drdx = span.drdy = span.redStep   = 0;
-         span.dgdx = span.dgdy = span.greenStep = 0;
-         span.dbdx = span.dbdy = span.blueStep  = 0;
+         span.drdx = span.drdy = 0.0F;
+         span.dgdx = span.dgdy = 0.0F;
+         span.dbdx = span.dbdy = 0.0F;
+#    if CHAN_TYPE == GL_FLOAT
+        span.redStep   = 0.0F;
+        span.greenStep = 0.0F;
+        span.blueStep  = 0.0F;
+#    else
+        span.redStep   = 0;
+        span.greenStep = 0;
+        span.blueStep  = 0;
+#    endif /* GL_FLOAT */
 #  ifdef INTERP_ALPHA
-         span.dadx = span.dady = span.alphaStep = 0;
+         span.dadx = span.dady = 0.0F;
+#    if CHAN_TYPE == GL_FLOAT
+        span.alphaStep = 0.0F;
+#    else
+        span.alphaStep = 0;
+#    endif /* GL_FLOAT */
 #  endif
       }
 #endif /* INTERP_RGB */
@@ -426,9 +440,18 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
 #  endif
       }
       else {
-         span.dsrdx = span.dsrdy = span.specRedStep   = 0;
-         span.dsgdx = span.dsgdy = span.specGreenStep = 0;
-         span.dsbdx = span.dsbdy = span.specBlueStep  = 0;
+         span.dsrdx = span.dsrdy = 0.0F;
+         span.dsgdx = span.dsgdy = 0.0F;
+         span.dsbdx = span.dsbdy = 0.0F;
+#  if CHAN_TYPE == GL_FLOAT
+        span.specRedStep   = 0.0F;
+        span.specGreenStep = 0.0F;
+        span.specBlueStep  = 0.0F;
+#  else
+        span.specRedStep   = 0;
+        span.specGreenStep = 0;
+        span.specBlueStep  = 0;
+#  endif
       }
 #endif /* INTERP_SPEC */
 #ifdef INTERP_INDEX
@@ -721,9 +744,9 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
                   fdgOuter = span.dgdy + dxOuter * span.dgdx;
                   fdbOuter = span.dbdy + dxOuter * span.dbdx;
 #  else
-                  rLeft = (ChanToFixed(vLower->color[RCOMP]) + span.drdx * adjx + span.drdy * adjy) + FIXED_HALF;
-                  gLeft = (ChanToFixed(vLower->color[GCOMP]) + span.dgdx * adjx + span.dgdy * adjy) + FIXED_HALF;
-                  bLeft = (ChanToFixed(vLower->color[BCOMP]) + span.dbdx * adjx + span.dbdy * adjy) + FIXED_HALF;
+                  rLeft = (GLint)(ChanToFixed(vLower->color[RCOMP]) + span.drdx * adjx + span.drdy * adjy) + FIXED_HALF;
+                  gLeft = (GLint)(ChanToFixed(vLower->color[GCOMP]) + span.dgdx * adjx + span.dgdy * adjy) + FIXED_HALF;
+                  bLeft = (GLint)(ChanToFixed(vLower->color[BCOMP]) + span.dbdx * adjx + span.dbdy * adjy) + FIXED_HALF;
                   fdrOuter = SignedFloatToFixed(span.drdy + dxOuter * span.drdx);
                   fdgOuter = SignedFloatToFixed(span.dgdy + dxOuter * span.dgdx);
                   fdbOuter = SignedFloatToFixed(span.dbdy + dxOuter * span.dbdx);
@@ -733,7 +756,7 @@ static void NAME(GLcontext *ctx, const SWvertex *v0,
                   aLeft = vLower->color[ACOMP] + (span.dadx * adjx + span.dady * adjy) * (1.0F / FIXED_SCALE);
                   fdaOuter = span.dady + dxOuter * span.dadx;
 #    else
-                  aLeft = (ChanToFixed(vLower->color[ACOMP]) + span.dadx * adjx + span.dady * adjy) + FIXED_HALF;
+                  aLeft = (GLint)(ChanToFixed(vLower->color[ACOMP]) + span.dadx * adjx + span.dady * adjy) + FIXED_HALF;
                   fdaOuter = SignedFloatToFixed(span.dady + dxOuter * span.dadx);
 #    endif
 #  endif