summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}
}