-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 02/21/2011 02:41 PM, Eric Anholt wrote: > The driver only has one reasonable place to look for its context to > flush anything, which is the current context. Don't bother it with > having to check.
There are some odd interactions here, but I don't completely recall the details. Kristian implemented this function in this way for a specific reason. It was either to deal with glXSwapBuffers when no context was current or to deal with glXSwapBuffers on a drawable that isn't bound to a context. Otherwise the flush method would have been associated with the context (instead of with the screen). > --- > src/glx/dri2_glx.c | 9 +++++++-- > 1 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c > index a275ba5..2c28bc2 100644 > --- a/src/glx/dri2_glx.c > +++ b/src/glx/dri2_glx.c > @@ -535,8 +535,13 @@ dri2SwapBuffers(__GLXDRIdrawable *pdraw, int64_t > target_msc, int64_t divisor, > CARD64 ret = 0; > > #ifdef __DRI2_FLUSH > - if (psc->f) > - (*psc->f->flush)(priv->driDrawable); > + if (psc->f) { > + struct glx_context *gc = __glXGetCurrentContext(); > + > + if (gc) { > + (*psc->f->flush)(priv->driDrawable); > + } > + } > #endif > > /* Old servers don't send invalidate events */ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk1kCYQACgkQX1gOwKyEAw+8VgCfbPmxFENw5p0pdYPA4uaTbEKA AogAoJV5DVlgJi4w2yPFGE0AJH4dN9WG =o3/e -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev