Mesa (master): glx: Check flush DRI extension version at runtime
Michel Dänzer
daenzer at kemper.freedesktop.org
Fri May 6 07:44:39 UTC 2011
Module: Mesa
Branch: master
Commit: a3e2c8f31f0c5d8d5c1c76e33a572c7be8938573
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3e2c8f31f0c5d8d5c1c76e33a572c7be8938573
Author: nobled <nobled at dreamwidth.org>
Date: Fri May 6 09:39:24 2011 +0200
glx: Check flush DRI extension version at runtime
The DRI driver itself might not have version 3 of the
DRI2 flush extension, in which case this would've
pointed to out of bounds memory...
---
src/glx/dri2_glx.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index fc0237a..b9f6f7f 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -679,7 +679,7 @@ dri2InvalidateBuffers(Display *dpy, XID drawable)
struct dri2_drawable *pdp = (struct dri2_drawable *) pdraw;
#if __DRI2_FLUSH_VERSION >= 3
- if (pdraw && psc->f)
+ if (pdraw && psc->f && psc->f->base.version >= 3 && psc->f->invalidate)
psc->f->invalidate(pdp->driDrawable);
#endif
}
@@ -702,7 +702,8 @@ dri2_bind_tex_image(Display * dpy,
psc = (struct dri2_screen *) base->psc;
#if __DRI2_FLUSH_VERSION >= 3
- if (!pdp->invalidateAvailable && psc->f)
+ if (!pdp->invalidateAvailable && psc->f &&
+ psc->f->base.version >= 3 && psc->f->invalidate)
psc->f->invalidate(pdraw->driDrawable);
#endif
More information about the mesa-commit
mailing list