r5xx: Dump shader constants when dumping program assembly.
[mesa.git] / src / mesa / drivers / dri / r300 / r300_swtcl.c
index 15e66317a9e23e66647954dd7cd69b095054d4eb..8aebd9be3ea0b9f434576702c7d2609c23b280f6 100644 (file)
@@ -100,13 +100,17 @@ static void r300SetVertexFormat( GLcontext *ctx )
        RENDERINPUTS_COPY( index_bitset, tnl->render_inputs_bitset );
        RENDERINPUTS_COPY(rmesa->state.render_inputs_bitset, render_inputs_bitset);
 
+       vte = rmesa->hw.vte.cmd[1];
+       vte &= ~(R300_VTX_XY_FMT | R300_VTX_Z_FMT | R300_VTX_W0_FMT);
        /* Important:
         */
        if ( VB->NdcPtr != NULL ) {
                VB->AttribPtr[VERT_ATTRIB_POS] = VB->NdcPtr;
+               vte |= R300_VTX_XY_FMT | R300_VTX_Z_FMT;
        }
        else {
                VB->AttribPtr[VERT_ATTRIB_POS] = VB->ClipPtr;
+               vte |= R300_VTX_W0_FMT;
        }
 
        assert( VB->AttribPtr[VERT_ATTRIB_POS] != NULL );
@@ -230,7 +234,7 @@ static void r300SetVertexFormat( GLcontext *ctx )
 
        RENDERINPUTS_COPY( rmesa->tnl_index_bitset, index_bitset );
 
-       vte = rmesa->hw.vte.cmd[1];
+
        R300_STATECHANGE(rmesa, vte);
        rmesa->hw.vte.cmd[1] = vte;
        rmesa->hw.vte.cmd[2] = rmesa->swtcl.vertex_size;
@@ -571,6 +575,7 @@ static void r300RenderStart(GLcontext *ctx)
        r300ChooseRenderState(ctx);     
        r300SetVertexFormat(ctx);
 
+       r300UpdateShaders(rmesa);
        r300UpdateShaderStates(rmesa);
 
        r300EmitCacheFlush(rmesa);