glx: bind/restore GLX ctx before/after buffer swap
These changes seek to fix an issue in which the GLX video output renders only black with some drivers, such as with a software renderer (e.g., LIBGL_ALWAYS_SOFTWARE=true
and GALLIUM_DRIVER=llvmpipe
). Bisection found that this issue existed since commit 9b7514f9.
The proposed changes fix the issue by binding the GLX video output's context before calling glXSwapBuffers()
and then restoring the previous context afterwards. Something similar is already done by the EGL video output on buffer swaps.