Mesa (master): dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.
Francisco Jerez
currojerez at kemper.freedesktop.org
Sun Oct 31 01:08:46 UTC 2010
Module: Mesa
Branch: master
Commit: f102c5220c8b671d92c04dce803b9c1f474f7253
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f102c5220c8b671d92c04dce803b9c1f474f7253
Author: Francisco Jerez <currojerez at riseup.net>
Date: Mon Oct 25 21:35:54 2010 +0200
dri/nouveau: Call _mesa_update_state() after framebuffer invalidation.
Previously nouveau_state_emit() was being called directly, sometimes
that doesn't work because it doesn't update the derived GL context.
---
src/mesa/drivers/dri/nouveau/nouveau_context.c | 3 ++-
src/mesa/drivers/dri/nouveau/nv10_context.c | 4 ++++
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c
index 0ace139..c6cf781 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_context.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c
@@ -365,5 +365,6 @@ nouveau_validate_framebuffer(struct gl_context *ctx)
validate_framebuffer(dri_ctx, dri_read,
&dri_ctx->dri2.read_stamp);
- nouveau_state_emit(ctx);
+ if (ctx->NewState & _NEW_BUFFERS)
+ _mesa_update_state(ctx);
}
diff --git a/src/mesa/drivers/dri/nouveau/nv10_context.c b/src/mesa/drivers/dri/nouveau/nv10_context.c
index fdcb43b..78be401 100644
--- a/src/mesa/drivers/dri/nouveau/nv10_context.c
+++ b/src/mesa/drivers/dri/nouveau/nv10_context.c
@@ -24,6 +24,7 @@
*
*/
+#include "main/state.h"
#include "nouveau_driver.h"
#include "nouveau_context.h"
#include "nouveau_fbo.h"
@@ -184,6 +185,9 @@ nv10_clear(struct gl_context *ctx, GLbitfield buffers)
nv17_zclear(ctx, &buffers);
else
nv10_zclear(ctx, &buffers);
+
+ /* Emit the zclear state if it's dirty */
+ _mesa_update_state(ctx);
}
nouveau_clear(ctx, buffers);
More information about the mesa-commit
mailing list