On Thu, 4 Aug 2011 14:31:01 +0200, Benjamin Franzke <benjaminfran...@googlemail.com> wrote: > Fixes https://bugs.freedesktop.org/show_bug.cgi?id=39588 > > egl_dri2 creates contexts with a doubleBufferConfig when PIXMAP and > WINDOW bit is request, so _mesa_init_color sets DrawBuffer[0] to > GL_BACK. > If a pixmap surface is created egl_dri2 will use a single buffer config, > so MakeCurrent has to adjust DrawBuffer[0] to the current drawable. > --- > 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 fe8be08..0eeffc0 100644 > --- a/src/mesa/drivers/dri/intel/intel_context.c > +++ b/src/mesa/drivers/dri/intel/intel_context.c > @@ -970,6 +970,12 @@ intelMakeCurrent(__DRIcontext * driContextPriv, > readFb = driReadPriv->driverPrivate; > driContextPriv->dri2.draw_stamp = driDrawPriv->dri2.stamp - 1; > driContextPriv->dri2.read_stamp = driReadPriv->dri2.stamp - 1; > + > + if (fb->Visual.doubleBufferMode) { > + intel->ctx.Color.DrawBuffer[0] = GL_BACK; > + } else { > + intel->ctx.Color.DrawBuffer[0] = GL_FRONT; > + } > }
Something touching this seems like it should live in _mesa_make_current, not as a driver workaround.
pgpzYuxltFRgk.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev