summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-06-13 10:39:22 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-06-13 10:39:22 +0100
commit9452a6e87b6c2c70513bc47a2470bf9f1168920e (patch)
tree8ac67e26b45f34d71c5aab3621813b100a0d5f00 /kde-plasma/kwin/files
parentf516638b7fe9592837389826a6152a7e1b251c54 (diff)
gentoo resync : 13.06.2020
Diffstat (limited to 'kde-plasma/kwin/files')
-rw-r--r--kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch193
-rw-r--r--kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch39
2 files changed, 232 insertions, 0 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch b/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch
new file mode 100644
index 000000000000..dc87b4045483
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch
@@ -0,0 +1,193 @@
+From 2c76cc4784382b3df9b5413860d0793ea26cea31 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Fri, 29 May 2020 16:01:27 +0300
+Subject: [wayland] Fix misuse of EGL/eglmesaext.h
+
+The recommended way to get all EGL extension defines is to include
+EGL/eglext.h. EGL/eglmesaext.h is a private header that compositors
+should not use.
+
+BUG: 422131
+---
+ .../scenes/opengl/abstract_egl_backend.cpp | 11 +---
+ platformsupport/scenes/opengl/egl_dmabuf.cpp | 41 +-----------
+ platformsupport/scenes/opengl/kwineglext.h | 76 ++++++++++++++++++++++
+ 3 files changed, 78 insertions(+), 50 deletions(-)
+ create mode 100644 platformsupport/scenes/opengl/kwineglext.h
+
+diff --git a/platformsupport/scenes/opengl/abstract_egl_backend.cpp b/platformsupport/scenes/opengl/abstract_egl_backend.cpp
+index 532ec27..e160ef3 100644
+--- a/platformsupport/scenes/opengl/abstract_egl_backend.cpp
++++ b/platformsupport/scenes/opengl/abstract_egl_backend.cpp
+@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *********************************************************************/
+ #include "abstract_egl_backend.h"
+ #include "egl_dmabuf.h"
++#include "kwineglext.h"
+ #include "texture.h"
+ #include "composite.h"
+ #include "egl_context_attribute_builder.h"
+@@ -49,16 +50,6 @@ eglBindWaylandDisplayWL_func eglBindWaylandDisplayWL = nullptr;
+ eglUnbindWaylandDisplayWL_func eglUnbindWaylandDisplayWL = nullptr;
+ eglQueryWaylandBufferWL_func eglQueryWaylandBufferWL = nullptr;
+
+-#ifndef EGL_WAYLAND_BUFFER_WL
+-#define EGL_WAYLAND_BUFFER_WL 0x31D5
+-#endif
+-#ifndef EGL_WAYLAND_PLANE_WL
+-#define EGL_WAYLAND_PLANE_WL 0x31D6
+-#endif
+-#ifndef EGL_WAYLAND_Y_INVERTED_WL
+-#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB
+-#endif
+-
+ AbstractEglBackend::AbstractEglBackend()
+ : QObject(nullptr)
+ , OpenGLBackend()
+diff --git a/platformsupport/scenes/opengl/egl_dmabuf.cpp b/platformsupport/scenes/opengl/egl_dmabuf.cpp
+index 3f75bc7..753f15e 100644
+--- a/platformsupport/scenes/opengl/egl_dmabuf.cpp
++++ b/platformsupport/scenes/opengl/egl_dmabuf.cpp
+@@ -21,10 +21,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #include "egl_dmabuf.h"
+
+ #include "drm_fourcc.h"
++#include "kwineglext.h"
+ #include "../../../wayland_server.h"
+
+ #include <unistd.h>
+-#include <EGL/eglmesaext.h>
+
+ namespace KWin
+ {
+@@ -34,45 +34,6 @@ typedef EGLBoolean (*eglQueryDmaBufModifiersEXT_func) (EGLDisplay dpy, EGLint fo
+ eglQueryDmaBufFormatsEXT_func eglQueryDmaBufFormatsEXT = nullptr;
+ eglQueryDmaBufModifiersEXT_func eglQueryDmaBufModifiersEXT = nullptr;
+
+-#ifndef EGL_EXT_image_dma_buf_import
+-#define EGL_LINUX_DMA_BUF_EXT 0x3270
+-#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
+-#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
+-#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
+-#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
+-#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
+-#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
+-#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
+-#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
+-#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
+-#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
+-#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
+-#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
+-#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
+-#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
+-#define EGL_ITU_REC601_EXT 0x327F
+-#define EGL_ITU_REC709_EXT 0x3280
+-#define EGL_ITU_REC2020_EXT 0x3281
+-#define EGL_YUV_FULL_RANGE_EXT 0x3282
+-#define EGL_YUV_NARROW_RANGE_EXT 0x3283
+-#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
+-#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
+-#endif // EGL_EXT_image_dma_buf_import
+-
+-#ifndef EGL_EXT_image_dma_buf_import_modifiers
+-#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
+-#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
+-#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
+-#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
+-#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
+-#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
+-#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
+-#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
+-#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
+-#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
+-#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
+-#endif // EGL_EXT_image_dma_buf_import_modifiers
+-
+ struct YuvPlane
+ {
+ int widthDivisor;
+diff --git a/platformsupport/scenes/opengl/kwineglext.h b/platformsupport/scenes/opengl/kwineglext.h
+new file mode 100644
+index 0000000..834701b
+--- /dev/null
++++ b/platformsupport/scenes/opengl/kwineglext.h
+@@ -0,0 +1,76 @@
++/********************************************************************
++ KWin - the KDE window manager
++ This file is part of the KDE project.
++
++Copyright (C) 2018 Fredrik Höglund <fredrik@kde.org>
++Copyright (C) 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
++
++This program is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2 of the License, or
++(at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program. If not, see <http://www.gnu.org/licenses/>.
++*********************************************************************/
++
++#ifndef KWINEGLEXT_H
++#define KWINEGLEXT_H
++
++#include <EGL/eglext.h>
++
++#ifndef EGL_WL_bind_wayland_display
++#define EGL_WAYLAND_BUFFER_WL 0x31D5
++#define EGL_WAYLAND_PLANE_WL 0x31D6
++#define EGL_TEXTURE_Y_U_V_WL 0x31D7
++#define EGL_TEXTURE_Y_UV_WL 0x31D8
++#define EGL_TEXTURE_Y_XUXV_WL 0x31D9
++#define EGL_TEXTURE_EXTERNAL_WL 0x31DA
++#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB
++#endif // EGL_WL_bind_wayland_display
++
++#ifndef EGL_EXT_image_dma_buf_import
++#define EGL_LINUX_DMA_BUF_EXT 0x3270
++#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
++#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
++#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
++#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
++#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
++#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
++#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
++#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
++#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
++#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
++#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
++#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
++#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
++#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
++#define EGL_ITU_REC601_EXT 0x327F
++#define EGL_ITU_REC709_EXT 0x3280
++#define EGL_ITU_REC2020_EXT 0x3281
++#define EGL_YUV_FULL_RANGE_EXT 0x3282
++#define EGL_YUV_NARROW_RANGE_EXT 0x3283
++#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
++#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
++#endif // EGL_EXT_image_dma_buf_import
++
++#ifndef EGL_EXT_image_dma_buf_import_modifiers
++#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
++#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
++#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
++#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
++#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
++#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
++#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
++#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
++#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
++#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
++#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
++#endif // EGL_EXT_image_dma_buf_import_modifiers
++
++#endif // KWINEGLEXT_H
+--
+cgit v1.1
+
diff --git a/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch b/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch
new file mode 100644
index 000000000000..eb8f6617026c
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch
@@ -0,0 +1,39 @@
+From ec602e0c2a676aed0707c7fb7edfe964516dbc77 Mon Sep 17 00:00:00 2001
+From: Fabian Vogt <fabian@ritter-vogt.de>
+Date: Sun, 7 Jun 2020 18:05:21 +0200
+Subject: [PATCH] Fix the Plastik decoration with Qt 5.15
+
+The trick in qmldir no longer works with Qt 5.15, so use a more reliable
+approach. This way works with Qt 5.15 and also on previous versions of Qt.
+---
+ .../kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp | 3 ++-
+ plugins/kdecorations/aurorae/themes/plastik/code/qmldir | 3 ---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp b/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp
+index 25d11251f..4304dcdc1 100644
+--- a/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp
++++ b/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp
+@@ -20,7 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ void PlastikPlugin::registerTypes(const char *uri)
+ {
+- Q_UNUSED(uri)
++ // Need to register something to tell Qt that it loaded (QTBUG-84571)
++ qmlRegisterModule(uri, 1, 0);
+ }
+
+ void PlastikPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
+diff --git a/plugins/kdecorations/aurorae/themes/plastik/code/qmldir b/plugins/kdecorations/aurorae/themes/plastik/code/qmldir
+index 49a4b402d..aa7bf16b3 100644
+--- a/plugins/kdecorations/aurorae/themes/plastik/code/qmldir
++++ b/plugins/kdecorations/aurorae/themes/plastik/code/qmldir
+@@ -1,5 +1,2 @@
+ module org.kde.kwin.decorations.plastik
+ plugin plastikplugin
+-
+-# we need to have at least one element of Qt is not able to find the plugin *shrug*
+-Foo 1.0 Foo.qml
+--
+2.27.0
+