summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_context.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-02-26 11:08:14 +1000
committerDave Airlie <airlied@redhat.com>2009-02-26 11:08:14 +1000
commitbc5f94c1e1fddcf2b2a50972cb96e2593b288994 (patch)
tree488145f034bcfea4999d4d6884697da87c20dd44 /src/mesa/drivers/dri/r300/r300_context.c
parent199867bd4585036f19e219562c22a9b499a7b0d2 (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.c4
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);