Skip to content
Snippets Groups Projects
Commit d0836b10 authored by Jeffrey Knockel's avatar Jeffrey Knockel Committed by Jean-Baptiste Kempf
Browse files

glx: add intermediate X11 window controlled by GLX

Asynchronous window resizes cannot be kept in sync with GLX.  To keep
the underlying X11 window and the GLX drawable sizes in sync, embed a
new X11 window so that GLX can synchronously resize.

At a high level, to resize, we (1) wait until GLX is done drawing, (2)
resize the X11 window, and (3) wait for the window to be resized before
GLX resumes drawing.

With Nvidia, glXWaitX() is sufficient to wait for the window to be
resized.  With Mesa, it is not, so after glXWaitX() we check if Xlib
knows if the X server has already processed the resize and, if not,
XSync().

Refs #26734 for GLX.
parent f7434e60
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment