diff options
author | Dave Airlie <airlied@redhat.com> | 2009-02-26 11:08:14 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-26 11:08:14 +1000 |
commit | bc5f94c1e1fddcf2b2a50972cb96e2593b288994 (patch) | |
tree | 488145f034bcfea4999d4d6884697da87c20dd44 /src/mesa/drivers/dri/r300/r300_context.c | |
parent | 199867bd4585036f19e219562c22a9b499a7b0d2 (diff) |
r300: don't flush VAP too often.
Flush the VAP the first time for each state atom we upload new
VAP data
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_context.c')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_context.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c index dd63add8340..5d497efc9c4 100644 --- a/src/mesa/drivers/dri/r300/r300_context.c +++ b/src/mesa/drivers/dri/r300/r300_context.c @@ -235,7 +235,11 @@ static void r300_vtbl_emit_cs_header(struct radeon_cs *cs, radeonContextPtr rmes static void r300_vtbl_pre_emit_atoms(radeonContextPtr radeon) { + r300ContextPtr r300 = (r300ContextPtr)radeon; BATCH_LOCALS(radeon); + + r300->vap_flush_needed = GL_TRUE; + cp_wait(radeon, R300_WAIT_3D | R300_WAIT_3D_CLEAN); BEGIN_BATCH_NO_AUTOSTATE(2); OUT_BATCH_REGVAL(R300_TX_INVALTAGS, R300_TX_FLUSH); |