From: Francisco Jerez Date: Wed, 15 Sep 2010 14:44:06 +0000 (+0200) Subject: dri/nouveau: Don't reemit the BO state in nouveau_state_emit(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4d81ed02e79ef39ab0e06ebc18e1f5b79e2c92d;p=mesa.git dri/nouveau: Don't reemit the BO state in nouveau_state_emit(). --- diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c b/src/mesa/drivers/dri/nouveau/nouveau_state.c index 691e51e738d..01bcbc4b3cc 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 78703b0efa6..94422f559dc 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); } }