summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_render.c
diff options
context:
space:
mode:
authorAapo Tahkola <aet@rasterburn.org>2005-11-01 15:52:08 +0000
committerAapo Tahkola <aet@rasterburn.org>2005-11-01 15:52:08 +0000
commite7d6bb9dc41433803bcaad671ea2cf3bf628e0be (patch)
treebbc713b39937acece7bace24e96d6a47949c5767 /src/mesa/drivers/dri/r300/r300_render.c
parent3cf156df2b5561d52f3bdddf857fcc176e4134b5 (diff)
-Fix first frame -bug
-Use 16-bit elts in vtxfmt_a path if possible -Optimize VSF param uploading -return in r300DepthMask looks suspicious, use r300Enable instead -Dont use r300ResetHwState in invalidate state(disabled, missing hooks, possible instabilities)
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_render.c')
-rw-r--r--src/mesa/drivers/dri/r300/r300_render.c10
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 1599f0f6af..98ddd82106 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);
}