aboutsummarylogtreecommitdiffstats
path: root/0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch
diff options
context:
space:
mode:
Diffstat (limited to '0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch')
-rw-r--r--0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch b/0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch
new file mode 100644
index 000000000000..dd2f1d57c30a
--- /dev/null
+++ b/0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch
@@ -0,0 +1,28 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: ninja- <ninja-@users.noreply.github.com>
+Date: Tue, 30 Jun 2020 19:41:52 +0200
+Subject: wayland: fix broken opengl screenshots on mutter
+
+---
+ src/egl_context.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/egl_context.c b/src/egl_context.c
+index 6b34f724..b0a810d8 100644
+--- a/src/egl_context.c
++++ b/src/egl_context.c
+@@ -175,6 +175,14 @@ static GLFWbool chooseEGLConfig(const _GLFWctxconfig* ctxconfig,
+ u->samples = getEGLConfigAttrib(n, EGL_SAMPLES);
+ u->doublebuffer = desired->doublebuffer;
+
++#if defined(_GLFW_WAYLAND)
++ // Avoid using transparent buffer on Wayland if transparency is not requested.
++ // Otherwise mutter will fail to properly screenshot OpenGL content.
++ if (u->alphaBits > 0 && !desired->transparent) {
++ continue;
++ }
++#endif // _GLFW_WAYLAND
++
+ u->handle = (uintptr_t) n;
+ usableCount++;
+ }