public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/
Date: Sun, 06 Apr 2025 14:48:12 +0000 (UTC)	[thread overview]
Message-ID: <1743950846.234ace8b5bdeaa481f073cea3a4372c31263015c.ionen@gentoo> (raw)

commit:     234ace8b5bdeaa481f073cea3a4372c31263015c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  6 14:42:06 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Apr  6 14:47:26 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=234ace8b

dev-qt/qtwebengine: backport fix for QTBUG-133570

Haven't reproduced the crash myself, but both falkon and
qutebrowser upstreams had reports about that issue with 6.9.0,
and may as well include it before potential unmasking.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.9.0-QTBUG-133570.patch     | 108 +++++++++++++++++++++
 ...ne-6.9.0.ebuild => qtwebengine-6.9.0-r1.ebuild} |   1 +
 2 files changed, 109 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.9.0-QTBUG-133570.patch b/dev-qt/qtwebengine/files/qtwebengine-6.9.0-QTBUG-133570.patch
new file mode 100644
index 000000000000..decd83aa9b1b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.9.0-QTBUG-133570.patch
@@ -0,0 +1,108 @@
+https://bugs.kde.org/show_bug.cgi?id=497691
+https://github.com/qutebrowser/qutebrowser/issues/8534
+https://bugreports.qt.io/browse/QTBUG-133570
+https://codereview.qt-project.org/c/qt/qtwebengine/+/634920
+--- a/src/core/configure/BUILD.root.gn.in
++++ b/src/core/configure/BUILD.root.gn.in
+@@ -406,4 +406,5 @@
+         "//ui/base/x:gl",
+         "//ui/gfx/linux:gpu_memory_buffer_support_x11",
++        "//ui/gfx/x",
+       ]
+ 
+@@ -411,4 +412,6 @@
+         "//ui/ozone/platform/x11/gl_egl_utility_x11.cc",
+         "//ui/ozone/platform/x11/gl_egl_utility_x11.h",
++        "//ui/ozone/platform/x11/native_pixmap_egl_x11_binding.cc",
++        "//ui/ozone/platform/x11/native_pixmap_egl_x11_binding.h",
+       ]
+     }
+--- a/src/core/ozone/gl_ozone_angle_qt.cpp
++++ b/src/core/ozone/gl_ozone_angle_qt.cpp
+@@ -1,5 +1,9 @@
+-// Copyright (C) 2024 The Qt Company Ltd.
++// Copyright (C) 2025 The Qt Company Ltd.
+ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+ 
++// Copyright 2016 The Chromium Authors
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
+ #include "gl_ozone_angle_qt.h"
+ 
+@@ -13,4 +17,6 @@
+ #if BUILDFLAG(IS_OZONE_X11)
+ #include "ozone_util_qt.h"
++
++#include "ui/ozone/platform/x11/native_pixmap_egl_x11_binding.h"
+ #endif
+ 
+@@ -21,4 +27,32 @@
+ 
+ namespace ui {
++namespace {
++// Based on //ui/ozone/platform/x11/x11_surface_factory.cc
++enum class NativePixmapSupportType {
++    // Importing native pixmaps not supported.
++    kNone,
++
++    // Native pixmaps are imported directly into EGL using the
++    // EGL_EXT_image_dma_buf_import extension.
++    kDMABuf,
++
++    // Native pixmaps are first imported as X11 pixmaps using DRI3 and then into
++    // EGL.
++    kX11Pixmap,
++};
++
++NativePixmapSupportType GetNativePixmapSupportType()
++{
++    if (gl::GLSurfaceEGL::GetGLDisplayEGL()->ext->b_EGL_EXT_image_dma_buf_import)
++        return NativePixmapSupportType::kDMABuf;
++
++#if BUILDFLAG(IS_OZONE_X11)
++    if (NativePixmapEGLX11Binding::CanImportNativeGLXPixmap())
++        return NativePixmapSupportType::kX11Pixmap;
++#endif
++
++    return NativePixmapSupportType::kNone;
++}
++} // namespace
+ 
+ bool GLOzoneANGLEQt::LoadGLES2Bindings(const gl::GLImplementationParts & /*implementation*/)
+@@ -74,5 +108,14 @@
+ bool GLOzoneANGLEQt::CanImportNativePixmap(gfx::BufferFormat format)
+ {
+-    return gl::GLSurfaceEGL::GetGLDisplayEGL()->ext->b_EGL_EXT_image_dma_buf_import;
++    switch (GetNativePixmapSupportType()) {
++    case NativePixmapSupportType::kDMABuf:
++        return NativePixmapEGLBinding::IsBufferFormatSupported(format);
++#if BUILDFLAG(IS_OZONE_X11)
++    case NativePixmapSupportType::kX11Pixmap:
++        return NativePixmapEGLX11Binding::IsBufferFormatSupported(format);
++#endif
++    default:
++        return false;
++    }
+ }
+ 
+@@ -83,6 +126,17 @@
+                                    GLenum target, GLuint texture_id)
+ {
+-    return NativePixmapEGLBinding::Create(pixmap, plane_format, plane, plane_size, color_space,
+-                                          target, texture_id);
++    switch (GetNativePixmapSupportType()) {
++    case NativePixmapSupportType::kDMABuf:
++        return NativePixmapEGLBinding::Create(pixmap, plane_format, plane, plane_size, color_space,
++                                              target, texture_id);
++#if BUILDFLAG(IS_OZONE_X11)
++    case NativePixmapSupportType::kX11Pixmap:
++        return NativePixmapEGLX11Binding::Create(pixmap, plane_format, plane_size, target,
++                                                 texture_id);
++#endif
++    default:
++        NOTREACHED();
++        return nullptr;
++    }
+ }
+ 

diff --git a/dev-qt/qtwebengine/qtwebengine-6.9.0.ebuild b/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
similarity index 99%
rename from dev-qt/qtwebengine/qtwebengine-6.9.0.ebuild
rename to dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
index 5366adc7bed8..d01308b28bb7 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.9.0.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.9.0-r1.ebuild
@@ -109,6 +109,7 @@ PATCHES+=(
 	"${FILESDIR}"/${PN}-6.8.2-glibc2.41.patch
 	"${FILESDIR}"/${PN}-6.8.3-pipewire1.4.patch
 	"${FILESDIR}"/${PN}-6.9.0-x11-pixmap-leak.patch
+	"${FILESDIR}"/${PN}-6.9.0-QTBUG-133570.patch
 )
 
 python_check_deps() {


             reply	other threads:[~2025-04-06 14:48 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-06 14:48 Ionen Wolkens [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-10-09  5:35 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/, dev-qt/qtwebengine/files/ Ionen Wolkens
2025-09-28  6:53 Ionen Wolkens
2025-09-09 10:30 Ionen Wolkens
2025-07-10 14:33 Ionen Wolkens
2025-06-05  8:46 Ionen Wolkens
2025-04-02  5:09 Ionen Wolkens
2025-03-30 15:04 Ionen Wolkens
2025-02-26  8:47 Ionen Wolkens
2025-02-13 19:49 Ionen Wolkens
2025-01-06 22:51 Ionen Wolkens
2025-01-04  4:05 Ionen Wolkens
2024-12-28 16:58 Andreas Sturmlechner
2024-12-03 17:15 Ionen Wolkens
2024-11-23  8:44 Andreas Sturmlechner
2024-10-21 12:31 Sam James
2024-08-14 15:37 Ionen Wolkens
2024-07-28  4:30 Sam James
2024-07-03  0:39 Ionen Wolkens
2024-06-08 13:41 Ionen Wolkens
2024-05-30 12:52 Andreas Sturmlechner
2024-04-19  7:55 Ionen Wolkens
2024-04-17  0:15 Ionen Wolkens
2024-04-03  3:57 Ionen Wolkens
2024-03-22 10:29 Ionen Wolkens
2024-02-25 18:46 Ionen Wolkens
2024-02-01 23:06 Andreas Sturmlechner
2024-01-16 11:53 Andreas Sturmlechner
2024-01-03 19:10 Ionen Wolkens
2023-12-18 18:43 Ionen Wolkens
2023-11-20 13:44 Ionen Wolkens
2023-10-05 19:39 Ionen Wolkens
2023-09-07 10:03 Ionen Wolkens
2023-05-24 11:15 Andreas Sturmlechner
2023-04-25 15:38 Andreas Sturmlechner
2023-04-17 19:39 Jimi Huotari
2023-04-15  2:10 Sam James
2023-04-09 20:17 Andreas Sturmlechner
2022-09-24 14:32 Andreas Sturmlechner
2022-08-17 21:20 Ionen Wolkens
2022-06-20 18:54 Andreas Sturmlechner
2022-05-20 19:43 Andreas Sturmlechner
2022-05-14 21:24 Sam James
2022-04-17 19:29 Sam James
2022-04-09 16:07 Andreas Sturmlechner
2021-10-17  6:54 Andreas Sturmlechner
2021-09-02 18:38 Andreas Sturmlechner
2021-09-02 18:38 Andreas Sturmlechner
2021-06-14  9:25 Andreas Sturmlechner
2021-05-23 19:19 Andreas Sturmlechner
2021-03-24 12:15 Andreas Sturmlechner
2020-04-26 18:12 Andreas Sturmlechner
2020-03-22 14:40 Andreas Sturmlechner
2020-02-10  6:42 Andreas Sturmlechner
2020-02-08 21:34 Andreas Sturmlechner
2019-10-20 14:21 Andreas Sturmlechner
2019-09-25 21:34 Andreas Sturmlechner
2019-09-01 23:07 Andreas Sturmlechner
2018-11-10 20:27 Andreas Sturmlechner
2018-05-09 20:17 Andreas Sturmlechner
2017-12-05 11:21 Michael Palimaka
2017-06-04 13:19 Michael Palimaka
2016-12-06  6:54 Michael Palimaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1743950846.234ace8b5bdeaa481f073cea3a4372c31263015c.ionen@gentoo \
    --to=ionen@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox