summaryrefslogtreecommitdiffstats
path: root/src/glx/dri3_glx.c
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <[email protected]>2017-10-06 01:26:51 -0400
committerDaniel Stone <[email protected]>2018-03-09 17:47:14 +0000
commit3160cb86aa9234ff78e11fe7a00f30bfb5cb8445 (patch)
tree0fd309687b78213936bc5a5cd81efd021e25d162 /src/glx/dri3_glx.c
parent069fdd5f9facbd72fb6a289696c7b74e3237e70f (diff)
egl/x11: Re-allocate buffers if format is suboptimal
If PresentCompleteNotify event says the pixmap was presented with mode PresentCompleteModeSuboptimalCopy, it means the pixmap could possibly have been flipped instead if allocated with a different format/modifier. Signed-off-by: Louis-Francis Ratté-Boulianne <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
Diffstat (limited to 'src/glx/dri3_glx.c')
-rw-r--r--src/glx/dri3_glx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c
index 71ecebbc16c..aec803adfd8 100644
--- a/src/glx/dri3_glx.c
+++ b/src/glx/dri3_glx.c
@@ -372,7 +372,9 @@ dri3_create_drawable(struct glx_screen *base, XID xDrawable,
pdraw->base.psc = &psc->base;
if ((psc->image && psc->image->base.version >= 15) &&
- (pdp->dri3Major > 1 || (pdp->dri3Major == 1 && pdp->dri3Minor >= 2)))
+ (pdp->dri3Major > 1 || (pdp->dri3Major == 1 && pdp->dri3Minor >= 2)) &&
+ (pdp->presentMajor > 1 ||
+ (pdp->presentMajor == 1 && pdp->presentMinor >= 2)))
has_multibuffer = true;
(void) __glXInitialize(psc->base.dpy);