platforms/drm: set read buffer in GbmSurface::makeContextCurrent
The first time the GBM backend's EGL context is made current after creation, both the read and draw surfaces are set to EGL_NO_SURFACE. This will set the GL read and draw buffers to GL_NONE in accordance with the EGL spec. When a real surface is later made current, however, the spec is arguably unclear on whether the read and draw buffers should remain set to GL_NONE or whether they should be restored to the default GL_BACK. The Mesa driver does the latter, the NVIDIA driver does the former. To work around this difference, Kwin has an explicit call to glDrawBuffer in GbmSurface::makeContextCurrent. It does not have a corresponding call to glReadBuffer, though, which can cause some desktop effects such as background contrast to render incorrectly with the NVIDIA driver. This change adds that missing call.
-
mentioned in commit e2d271b6
-
mentioned in merge request !2403 (merged)
Please register or sign in to comment