Mesa (master): intel: Call intel_draw_buffer() again after _mesa_make_current()
Kristian Høgsberg
krh at kemper.freedesktop.org
Mon May 17 20:52:42 UTC 2010
Module: Mesa
Branch: master
Commit: 2386d41648d78925b139aea9562325c5b22007eb
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2386d41648d78925b139aea9562325c5b22007eb
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Mon May 17 16:49:55 2010 -0400
intel: Call intel_draw_buffer() again after _mesa_make_current()
The initial call to intel_draw_buffers() happens when
intel->ctx.DrawBuffer is still NULL. Call it again after
calling _mesa_make_current().
https://bugs.freedesktop.org/show_bug.cgi?id=28112
---
src/mesa/drivers/dri/intel/intel_context.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index 150f4b3..e714e2e 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -906,6 +906,12 @@ intelMakeCurrent(__DRIcontext * driContextPriv,
driContextPriv->dri2.read_stamp = driReadPriv->dri2.stamp - 1;
intel_prepare_render(intel);
_mesa_make_current(&intel->ctx, fb, readFb);
+
+ /* We do this in intel_prepare_render() too, but intel->ctx.DrawBuffer
+ * is NULL at that point. We can't call _mesa_makecurrent()
+ * first, since we need the buffer size for the initial
+ * viewport. So just call intel_draw_buffer() again here. */
+ intel_draw_buffer(&intel->ctx, intel->ctx.DrawBuffer);
}
else {
_mesa_make_current(NULL, NULL, NULL);
More information about the mesa-commit
mailing list