diff options
-rw-r--r-- | src/glx/dri2_glx.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index ba546a6bc1c..d4747388e30 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -570,8 +570,17 @@ dri2_bind_tex_image(Display * dpy, { GLXContext gc = __glXGetCurrentContext(); __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL); + __GLXdisplayPrivate *dpyPriv = __glXInitialize(dpy); + __GLXDRIdisplayPrivate *pdp = + (__GLXDRIdisplayPrivate *) dpyPriv->dri2Display; if (pdraw != NULL) { + +#if __DRI2_FLUSH_VERSION >= 3 + if (!pdp->invalidateAvailable && pdraw->psc->f) + pdraw->psc->f->invalidate(pdraw->driDrawable); +#endif + if (pdraw->psc->texBuffer->base.version >= 2 && pdraw->psc->texBuffer->setTexBuffer2 != NULL) { (*pdraw->psc->texBuffer->setTexBuffer2) (gc->__driContext, |