diff options
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_render.c')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_render.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_render.c b/src/mesa/drivers/dri/r300/r300_render.c index 1599f0f6af4..98ddd821067 100644 --- a/src/mesa/drivers/dri/r300/r300_render.c +++ b/src/mesa/drivers/dri/r300/r300_render.c @@ -543,10 +543,13 @@ static GLboolean r300_run_vb_render(GLcontext *ctx, if (RADEON_DEBUG & DEBUG_PRIMS) fprintf(stderr, "%s\n", __FUNCTION__); - + + r300UpdateShaders(rmesa); + r300ReleaseArrays(ctx); r300EmitArrays(ctx, GL_FALSE); + r300UpdateShaderStates(rmesa); // LOCK_HARDWARE(&(rmesa->radeon)); reg_start(R300_RB3D_DSTCACHE_CTLSTAT,0); @@ -692,6 +695,8 @@ void dump_dt(struct dt *dt, int count) if (rmesa->state.VB.LockCount == 0) { r300ReleaseArrays(ctx); r300EmitArraysVtx(ctx, GL_FALSE); + + r300UpdateShaderStates(rmesa); } else { /* TODO: Figure out why do we need these. */ R300_STATECHANGE(rmesa, vir[0]); @@ -891,7 +896,8 @@ static GLboolean r300_run_tcl_render(GLcontext *ctx, if(hw_tcl_on == GL_FALSE) return GL_TRUE; - r300UpdateShaderStates(rmesa); + //r300UpdateShaders(rmesa); + //r300UpdateShaderStates(rmesa); return r300_run_vb_render(ctx, stage); } |