Wayland: Fix window opacity on older systems

On systems lacking the EGL_EXT_present_opaque extension, some
compositors treat any buffer with an alpha channel as per-pixel
transparent.

This commit ignores any EGLConfig with an alpha channel if the extension
is missing and the window is created with GLFW_TRANSPARENT_FRAMEBUFFER
set to false.

This is technically not a breaking change since GLFW_ALPHA_BITS is not
a hard constraint, but it is still going to inconvenience anyone using
the framebuffer alpa channel to store other kinds of data.

Related to #1895

(cherry picked from commit ef6c9d8b4f)
This commit is contained in:
Camilla Löwy
2022-07-25 20:33:47 +02:00
parent 1f675ab62f
commit 8b4f1ebbea
4 changed files with 28 additions and 0 deletions

View File

@@ -124,6 +124,8 @@ information on what to include when reporting a bug.
## Changelog
- [Wayland] Bugfix: Connecting a mouse after `glfwInit` would segfault (#1450)
- [Wayland] Disabled alpha channel for opaque windows on systems lacking
`EGL_EXT_present_opaque` (#1895)
- [Linux] Bugfix: Joysticks without buttons were ignored (#2042,#2043)
[EGL] Added loading of glvnd `libOpenGL.so.0` where available for OpenGL
- [GLX] Added loading of glvnd `libGLX.so.0` where available