summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2010-09-15 16:44:06 +0200
committerFrancisco Jerez <currojerez@riseup.net>2010-09-16 19:44:22 +0200
commitd4d81ed02e79ef39ab0e06ebc18e1f5b79e2c92d (patch)
tree1561a0e230307136b95edca31865b174b255f4c0
parentbfc7518ab993b006dffaad5f605137e94ff9d7bc (diff)
dri/nouveau: Don't reemit the BO state in nouveau_state_emit().
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_state.c2
-rw-r--r--src/mesa/drivers/dri/nouveau/nv04_context.c6
2 files changed, 3 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c b/src/mesa/drivers/dri/nouveau/nouveau_state.c
index 691e51e738..01bcbc4b3c 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_state.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_state.c
@@ -459,8 +459,6 @@ nouveau_state_emit(GLcontext *ctx)
}
BITSET_ZERO(nctx->dirty);
-
- nouveau_bo_state_emit(ctx);
}
static void
diff --git a/src/mesa/drivers/dri/nouveau/nv04_context.c b/src/mesa/drivers/dri/nouveau/nv04_context.c
index 78703b0efa..94422f559d 100644
--- a/src/mesa/drivers/dri/nouveau/nv04_context.c
+++ b/src/mesa/drivers/dri/nouveau/nv04_context.c
@@ -93,15 +93,15 @@ nv04_channel_flush_notify(struct nouveau_channel *chan)
GLcontext *ctx = &nctx->base;
if (nctx->fallback < SWRAST) {
- /* Flushing seems to clobber the engine context. */
+ nouveau_bo_state_emit(ctx);
+
+ /* Reemit the engine state. */
context_emit(ctx, TEX_OBJ0);
context_emit(ctx, TEX_OBJ1);
context_emit(ctx, TEX_ENV0);
context_emit(ctx, TEX_ENV1);
context_emit(ctx, CONTROL);
context_emit(ctx, BLEND);
-
- nouveau_bo_state_emit(ctx);
}
}