diff options
author | Eric Anholt <[email protected]> | 2011-02-14 19:03:37 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2011-02-26 12:43:15 -0800 |
commit | 74cde6505c233f388e902d1daa0e9f186dd012a9 (patch) | |
tree | 6f2ddce1285570ca17492a5b21bde8733a41b15e /src | |
parent | 4d01bea808592aec74be2d2a4bbb6488b9299cda (diff) |
dri2: Don't call the dri2 flush hook for swapbuffers unless we have a context.
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.
Diffstat (limited to 'src')
-rw-r--r-- | 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 a275ba5b9fe..2c28bc27150 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 */ |