Use SecondaryColorPtr, not ColorPtr[1] (the latter is NULL).
authorVladimir Dergachev <volodya@freedesktop.org>
Mon, 31 Jan 2005 02:52:59 +0000 (02:52 +0000)
committerVladimir Dergachev <volodya@freedesktop.org>
Mon, 31 Jan 2005 02:52:59 +0000 (02:52 +0000)
This fixes segfault in tuxracer-demo. It locks up after this though.

src/mesa/drivers/dri/r300/r300_render.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/r300/r300_texmem.c

index d1dd82a..f4596aa 100644 (file)
@@ -248,7 +248,7 @@ static void r300_render_immediate_primitive(r300ContextPtr rmesa,
                if(tnl->render_inputs & _TNL_BIT_COLOR0)
                        output_vector(VB->ColorPtr[0], i);
                if(tnl->render_inputs & _TNL_BIT_COLOR1)
-                       output_vector(VB->ColorPtr[1], i);
+                       output_vector(VB->SecondaryColorPtr[0], i);
 
                if(tnl->render_inputs & _TNL_BIT_FOG)
                        output_vector(VB->FogCoordPtr, i);
index dedc5df..3e7a465 100644 (file)
@@ -846,7 +846,7 @@ void r300_setup_routing(GLcontext *ctx, GLboolean immediate)
        if(tnl->render_inputs & _TNL_BIT_COLOR0)
                CONFIGURE_AOS(VB->ColorPtr[0], 0, i_color[0], AOS_FORMAT_FLOAT_COLOR);
        if(tnl->render_inputs & _TNL_BIT_COLOR1)
-               CONFIGURE_AOS(VB->ColorPtr[1], 0, i_color[1], AOS_FORMAT_FLOAT_COLOR);
+               CONFIGURE_AOS(VB->SecondaryColorPtr[0], 0, i_color[1], AOS_FORMAT_FLOAT_COLOR);
 
        if(tnl->render_inputs & _TNL_BIT_FOG)
                CONFIGURE_AOS(VB->FogCoordPtr, 0, i_fog, AOS_FORMAT_FLOAT);
index 926031c..49631d6 100644 (file)
@@ -406,7 +406,7 @@ static void uploadSubImage(r300ContextPtr rmesa, r300TexObjPtr t,
        } while (ret && errno == EAGAIN);
 
        UNLOCK_HARDWARE(&rmesa->radeon);
-
+       
        if (ret) {
                fprintf(stderr, "DRM_RADEON_TEXTURE: return = %d\n", ret);
                fprintf(stderr, "   offset=0x%08x\n", offset);