Mesa (master): intel: Mark frontbuffer dirty in intel_prepare_render()
Kristian Høgsberg
krh at kemper.freedesktop.org
Mon May 10 21:49:18 UTC 2010
Module: Mesa
Branch: master
Commit: 32942d2b1c80d3f16048d6acfedf7dbcf5e2f8cb
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=32942d2b1c80d3f16048d6acfedf7dbcf5e2f8cb
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Mon May 10 15:58:06 2010 -0400
intel: Mark frontbuffer dirty in intel_prepare_render()
Now that we have intel_prepare_render() in place, we can use it to mark
the front buffer dirty if we're rendering to the front buffer once we
get there.
---
src/mesa/drivers/dri/intel/intel_context.c | 17 ++++++++---------
1 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index 8c947c4..8a38ac1 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -403,6 +403,13 @@ intel_prepare_render(struct intel_context *intel)
intel_update_renderbuffers(driContext, drawable);
driContext->dri2.read_stamp = drawable->dri2.stamp;
}
+
+ /* If we're currently rendering to the front buffer, the rendering
+ * that will happen next will probably dirty the front buffer. So
+ * mark it as dirty here.
+ */
+ if (intel->is_front_buffer_rendering)
+ intel->front_buffer_dirty = GL_TRUE;
}
void
@@ -494,15 +501,7 @@ intel_flush(GLcontext *ctx, GLboolean needs_mi_flush)
(*screen->dri2.loader->flushFrontBuffer)(driContext->driDrawablePriv,
driContext->driDrawablePriv->loaderPrivate);
- /* Only clear the dirty bit if front-buffer rendering is no longer
- * enabled. This is done so that the dirty bit can only be set in
- * glDrawBuffer. Otherwise the dirty bit would have to be set at
- * each of N places that do rendering. This has worse performances,
- * but it is much easier to get correct.
- */
- if (!intel->is_front_buffer_rendering) {
- intel->front_buffer_dirty = GL_FALSE;
- }
+ intel->front_buffer_dirty = GL_FALSE;
}
}
}
More information about the mesa-commit
mailing list