fix problems found with gcc 2.96 (bug 4934)
authorBrian Paul <brian.paul@tungstengraphics.com>
Mon, 31 Oct 2005 21:52:56 +0000 (21:52 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Mon, 31 Oct 2005 21:52:56 +0000 (21:52 +0000)
src/mesa/drivers/dri/r200/r200_swtcl.c
src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/r300/r300_fragprog.c
src/mesa/drivers/dri/radeon/radeon_swtcl.c
src/mesa/drivers/dri/s3v/s3v_tritmp.h
src/mesa/drivers/dri/savage/savageioctl.c
src/mesa/drivers/dri/savage/savagerender.c

index 826c668b8d1c6f0d7f2954b4a8e983b57df22a78..58879a59011f12889d8af07d00ba5faada2460f8 100644 (file)
@@ -219,6 +219,8 @@ void r200ChooseVertexState( GLcontext *ctx )
 {
    r200ContextPtr rmesa = R200_CONTEXT( ctx );
    TNLcontext *tnl = TNL_CONTEXT(ctx);
+   GLuint vte;
+   GLuint vap;
 
    /* We must ensure that we don't do _tnl_need_projected_coords while in a
     * rasterization fallback.  As this function will be called again when we
@@ -227,8 +229,8 @@ void r200ChooseVertexState( GLcontext *ctx )
    if (rmesa->Fallback != 0)
       return;
 
-   GLuint vte = rmesa->hw.vte.cmd[VTE_SE_VTE_CNTL];
-   GLuint vap = rmesa->hw.vap.cmd[VAP_SE_VAP_CNTL];
+   vte = rmesa->hw.vte.cmd[VTE_SE_VTE_CNTL];
+   vap = rmesa->hw.vap.cmd[VAP_SE_VAP_CNTL];
 
    /* HW perspective divide is a win, but tiny vertex formats are a
     * bigger one.
index c2733f3db3c5ba5b2a9ca3975b043663843c5ac5..376f6805033f90016d22f01993e84da2def1dce6 100644 (file)
@@ -620,12 +620,13 @@ void r300EmitWait(r300ContextPtr rmesa, GLuint flags)
 
 void r300EmitAOS(r300ContextPtr rmesa, GLuint nr, GLuint offset)
 {
-       if (RADEON_DEBUG & DEBUG_VERTS)
-           fprintf(stderr, "%s: nr=%d, ofs=0x%08x\n", __func__, nr, offset);
     int sz = 1 + (nr >> 1) * 3 + (nr & 1) * 2;
     int i;
     LOCAL_VARS
 
+    if (RADEON_DEBUG & DEBUG_VERTS)
+       fprintf(stderr, "%s: nr=%d, ofs=0x%08x\n", __func__, nr, offset);
+
     start_packet3(RADEON_CP_PACKET3_3D_LOAD_VBPNTR, sz-1);
     e32(nr);
     for(i=0;i+1<nr;i+=2){
index 4236bdbcca570c8689b0fcc1551b6c2ee6b22452..35b254616b708176834080591e3e6eee12b2203e 100644 (file)
@@ -277,9 +277,9 @@ static void free_temp(struct r300_fragment_program *rp, pfs_reg_t r)
 static pfs_reg_t emit_param4fv(struct r300_fragment_program *rp, GLfloat *values)
 {
        pfs_reg_t r = pfs_default_reg;
-               r.type = REG_TYPE_CONST;
        int pidx;
 
+       r.type = REG_TYPE_CONST;
        pidx = rp->param_nr++;
        r.index = rp->const_nr++;
        if (pidx >= PFS_NUM_CONST_REGS || r.index >= PFS_NUM_CONST_REGS) {
@@ -626,6 +626,7 @@ static void emit_arith(struct r300_fragment_program *rp, int op,
        int argc;
        int vop, sop;
        int i;
+       int str;
        
        if (!dest.valid || !src0.valid || !src1.valid || !src2.valid) {
                ERROR("invalid register.  dest/src0/src1/src2 valid = %d/%d/%d/%d\n",
@@ -657,7 +658,6 @@ static void emit_arith(struct r300_fragment_program *rp, int op,
                return;
        }
        
-       int str;
        for (i=0;i<3;i++) {
                if (i<argc) {
                        hwsrc = t_hw_src(rp, src[i]);
index 7a97cf0ce60cabf75492347420d82d92a7051f8e..1a737ebe6122005ba9d0a3d9af0f152b2b6d5345 100644 (file)
@@ -391,7 +391,7 @@ radeonDmaPrimitive( radeonContextPtr rmesa, GLenum prim )
    assert(rmesa->dma.current.ptr == rmesa->dma.current.start);
 }
 
-#define LOCAL_VARS radeonContextPtr rmesa = RADEON_CONTEXT(ctx); (void)rmesa
+#define LOCAL_VARS radeonContextPtr rmesa = RADEON_CONTEXT(ctx)
 #define INIT( prim ) radeonDmaPrimitive( rmesa, prim )
 #define FLUSH()  RADEON_NEWPRIM( rmesa )
 #define GET_CURRENT_VB_MAX_VERTS() \
index b2136fcb3849a2cfa674cafb59930afabf2ea8fa..16318f4c4022ed4a0b80648aa4c0d5ed54adcb05 100644 (file)
@@ -17,7 +17,8 @@
         int start02, end01; \
         int ystart, y01y12; \
         int i, tmp, tmp2, tmp3; \
-        GLfloat ydiff, fy[3]; \
+        GLfloat ydiff, fy[3]
+#define LINE_VERT_VARS_VOIDS \
         (void) v; (void) vvv; (void) x; (void) y; (void) z; (void) idx; \
         (void) dx01; (void) dy01; (void) delt02; (void) deltzy; \
         (void) zstart; (void) start02; (void) ystart; (void) y01y12; \
@@ -26,7 +27,8 @@
 #define LINE_FLAT_VARS \
         int arstart, gbstart; \
         int deltarx, deltgbx, deltary, deltgby; \
-        GLubyte *(col)[3]; \
+        GLubyte *(col)[3]
+#define LINE_FLAT_VARS_VOIDS \
         (void) arstart; (void) gbstart; (void) deltarx; (void) deltgbx; \
         (void) deltary; (void) deltgby; (void) col
 
@@ -34,7 +36,8 @@
         int arstart, gbstart; \
         int deltary, deltgby; \
         int ctmp, ctmp2, ctmp3, ctmp4; \
-        GLubyte *(col)[3]; \
+        GLubyte *(col)[3]
+#define LINE_GOURAUD_VARS_VOIDS \
         (void) arstart; (void) gbstart; (void) deltary; (void) deltgby; \
         (void) ctmp; (void) ctmp2; (void) ctmp3; (void) ctmp4; (void) col
 
@@ -207,7 +210,8 @@ do { \
         int start02, end01, end12; \
         int ystart, y01y12; \
         int i, tmp, lr; \
-        GLfloat ydiff, fy[3]; \
+        GLfloat ydiff, fy[3]
+#define VERT_VARS_VOIDS \
         (void) v; (void) x; (void) y; (void) z; (void) idx; (void) dx01; \
         (void) dy01; (void) dx02; (void) dy02; (void) dx12; (void) dy12; \
         (void) delt01; (void) delt02; (void) delt12; (void) deltzx; \
@@ -219,7 +223,8 @@ do { \
         int arstart, gbstart; \
         int deltarx, deltgbx, deltary, deltgby; \
         int ctmp, ctmp2, ctmp3, ctmp4; \
-        GLubyte *(col)[3]; \
+        GLubyte *(col)[3]
+#define GOURAUD_VARS_VOIDS \
         (void) arstart; (void) gbstart; (void) deltarx; (void) deltgbx; \
         (void) deltary; (void) deltgby; (void) ctmp; (void) ctmp2; \
         (void) ctmp3; (void) ctmp4; (void) col
@@ -227,7 +232,8 @@ do { \
 #define FLAT_VARS \
         int arstart, gbstart; \
         int deltarx, deltgbx, deltary, deltgby; \
-        GLubyte *(col)[3]; \
+        GLubyte *(col)[3]
+#define FLAT_VARS_VOIDS \
         (void) arstart; (void) gbstart; (void) deltarx; (void) deltgbx; \
         (void) deltary; (void) deltgby; (void) col
 
@@ -245,7 +251,8 @@ do { \
         int rbaseu, rbasev; \
         int dstart, ustart, wstart, vstart; \
         static int stmp = 0; \
-        s3vTextureObjectPtr t; \
+        s3vTextureObjectPtr t
+#define TEX_VARS_VOIDS \
         (void) u0; (void) u1; (void) u2; (void) ru0; (void) ru1; (void) ru2; \
         (void) v0; (void) v1; (void) v2; (void) rv0; (void) rv1; (void) rv2; \
         (void) w0; (void) w1; (void) w2; (void) rw0; (void) rw1; (void) rw2; \
@@ -620,6 +627,12 @@ static void TAG(s3v_line)( s3vContextPtr vmesa,
        GLfloat cull;
         (void) cull;
 #endif
+       LINE_VERT_VARS_VOIDS;
+#if (IND & S3V_RAST_FLAT_BIT)
+       LINE_FLAT_VARS_VOIDS;
+#else
+       LINE_GOURAUD_VARS_VOIDS;
+#endif
 
        DEBUG(("*** s3v_line: "));
 #if (IND & S3V_RAST_CULL_BIT)
@@ -684,6 +697,15 @@ static void TAG(s3v_triangle)( s3vContextPtr vmesa,
 #if (IND & S3V_RAST_CULL_BIT)
        GLfloat cull;
 #endif
+       VERT_VARS_VOIDS;
+#if (IND & S3v_RAST_FLAT_BIT)
+       FLAT_VARS_VOIDS;
+#else
+       GOURAUD_VARS_VOIDS;
+#endif
+#if (IND & S3V_RAST_TEX_BIT)
+       TEX_VARS_VOIDS;
+#endif
 
        DEBUG(("*** s3v_triangle: "));
 #if (IND & S3V_RAST_CULL_BIT)
@@ -774,6 +796,15 @@ static void TAG(s3v_quad)( s3vContextPtr vmesa,
 #if (IND & S3V_RAST_CULL_BIT)
         GLfloat cull;
 #endif
+        VERT_VARS_VOIDS;
+#if (IND & S3v_RAST_FLAT_BIT)
+        FLAT_VARS_VOIDS;
+#else
+        GOURAUD_VARS_VOIDS;
+#endif
+#if (IND & S3V_RAST_TEX_BIT)
+        TEX_VARS_VOIDS;
+#endif
 
        DEBUG(("*** s3v_quad: "));
 #if (IND & S3V_RAST_CULL_BIT)
index 1906c78cc345e0de79928fc3abb755487481dae6..244959d64f951408bff505251a37f55cb08a2cae 100644 (file)
@@ -632,18 +632,18 @@ void savageFlushCmdBuf( savageContextPtr imesa, GLboolean discard )
 
 static void savageDDFlush( GLcontext *ctx )
 {
+    savageContextPtr imesa = SAVAGE_CONTEXT(ctx);
     if (SAVAGE_DEBUG & DEBUG_VERBOSE_MSG)
        fprintf (stderr, "%s\n", __FUNCTION__);
-    savageContextPtr imesa = SAVAGE_CONTEXT(ctx);
     savageFlushVertices (imesa);
     savageFlushCmdBuf(imesa, GL_FALSE);
 }
 
 static void savageDDFinish( GLcontext *ctx  ) 
 {
+    savageContextPtr imesa = SAVAGE_CONTEXT(ctx);
     if (SAVAGE_DEBUG & DEBUG_VERBOSE_MSG)
        fprintf (stderr, "%s\n", __FUNCTION__);
-    savageContextPtr imesa = SAVAGE_CONTEXT(ctx);
     savageFlushVertices (imesa);
     savageFlushCmdBuf(imesa, GL_FALSE);
     WAIT_IDLE_EMPTY(imesa);
index 9eda9a591e08eda2c9d04c3226183ffc43f498b5..22e3f133962e7715e92b66b207ec87ee648fd4c7 100644 (file)
@@ -246,11 +246,6 @@ static GLboolean run_texnorm_stage( GLcontext *ctx,
       return GL_TRUE;
 
    for (i = 0 ; i < ctx->Const.MaxTextureUnits ; i++) {
-      if (!ctx->Texture.Unit[i]._ReallyEnabled ||
-         VB->TexCoordPtr[i]->size == 4)
-        /* Never try to normalize homogenous tex coords! */
-        continue;
-
       GLuint reallyEnabled = ctx->Texture.Unit[i]._ReallyEnabled;
       struct gl_texture_object *texObj = ctx->Texture.Unit[i]._Current;
       GLboolean normalizeS = (texObj->WrapS == GL_REPEAT);
@@ -261,6 +256,11 @@ static GLboolean run_texnorm_stage( GLcontext *ctx,
       GLfloat (*out)[4] = store->texcoord[i].data;
       GLint j;
 
+      if (!ctx->Texture.Unit[i]._ReallyEnabled ||
+         VB->TexCoordPtr[i]->size == 4)
+        /* Never try to normalize homogenous tex coords! */
+        continue;
+
       if (normalizeS && normalizeT) {
         /* take first texcoords as rough estimate of mean value */
         GLfloat correctionS = -floor(in[0]+0.5);