projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '7.8'
[mesa.git]
/
src
/
glx
/
dri2_glx.c
diff --git
a/src/glx/dri2_glx.c
b/src/glx/dri2_glx.c
index 06f3d8b71c02a876ebcee5165a9fe1ebed9b8a36..3a53ce91b382a19aff115600c85eddafd2de94e2 100644
(file)
--- a/
src/glx/dri2_glx.c
+++ b/
src/glx/dri2_glx.c
@@
-175,6
+175,8
@@
dri2CreateDrawable(__GLXscreenConfigs * psc,
{
__GLXDRIdrawablePrivate *pdraw;
__GLXDRIconfigPrivate *config = (__GLXDRIconfigPrivate *) modes;
{
__GLXDRIdrawablePrivate *pdraw;
__GLXDRIconfigPrivate *config = (__GLXDRIconfigPrivate *) modes;
+ __GLXdisplayPrivate *dpyPriv;
+ __GLXDRIdisplayPrivate *pdp;
pdraw = Xmalloc(sizeof(*pdraw));
if (!pdraw)
pdraw = Xmalloc(sizeof(*pdraw));
if (!pdraw)
@@
-185,10
+187,12
@@
dri2CreateDrawable(__GLXscreenConfigs * psc,
pdraw->base.drawable = drawable;
pdraw->base.psc = psc;
pdraw->bufferCount = 0;
pdraw->base.drawable = drawable;
pdraw->base.psc = psc;
pdraw->bufferCount = 0;
- pdraw->swap_interval =
0
;
+ pdraw->swap_interval =
1
;
DRI2CreateDrawable(psc->dpy, xDrawable);
DRI2CreateDrawable(psc->dpy, xDrawable);
+ dpyPriv = __glXInitialize(psc->dpy);
+ pdp = (__GLXDRIdisplayPrivate *)dpyPriv->dri2Display;;
/* Create a new drawable */
pdraw->base.driDrawable =
(*psc->dri2->createNewDrawable) (psc->__driScreen,
/* Create a new drawable */
pdraw->base.driDrawable =
(*psc->dri2->createNewDrawable) (psc->__driScreen,
@@
-200,6
+204,13
@@
dri2CreateDrawable(__GLXscreenConfigs * psc,
return NULL;
}
return NULL;
}
+ /*
+ * Make sure server has the same swap interval we do for the new
+ * drawable.
+ */
+ if (pdp->swapAvailable)
+ DRI2SwapInterval(psc->dpy, xDrawable, pdraw->swap_interval);
+
return &pdraw->base;
}
return &pdraw->base;
}