Update to 2.41.91
This commit is contained in:
parent
4b92cd6fc1
commit
11e3dc7d2f
2
.gitignore
vendored
2
.gitignore
vendored
@ -21,3 +21,5 @@
|
||||
/webkitgtk-2.41.4.tar.xz.asc
|
||||
/webkitgtk-2.41.5.tar.xz.asc
|
||||
/webkitgtk-2.41.6.tar.xz.asc
|
||||
/webkitgtk-2.41.90.tar.xz.asc
|
||||
/webkitgtk-2.41.91.tar.xz.asc
|
||||
|
358
15929.patch
358
15929.patch
@ -1,358 +0,0 @@
|
||||
From d6459980ac8a200f46efd4d0668efdb17a9bf951 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garcia Campos <cgarcia@igalia.com>
|
||||
Date: Wed, 19 Jul 2023 14:00:45 +0200
|
||||
Subject: [PATCH] REGRESSION(2.41.6): [GTK] Yelp help viewer and Epiphany
|
||||
browser do not show content on a virtual machine (llvmpipe?) with WebKitGTK
|
||||
2.41.6 https://bugs.webkit.org/show_bug.cgi?id=259320
|
||||
|
||||
Reviewed by NOBODY (OOPS!).
|
||||
|
||||
The problem is that for some reason the surfaceless platform is claiming
|
||||
to support EGL_MESA_image_dma_buf_export with llvmpipe driver, while the
|
||||
display in the UI process doesn't support EGL_EXT_image_dma_buf_import
|
||||
with llvmpipe as expected. So, we end up exporting DMABuf buffers (or
|
||||
trying) that the UI process can't handle. We should always pass to the
|
||||
web process the buffers supported by the UI process (hardware or shared
|
||||
memory) and ensure we only export buffers supported by the UI process.
|
||||
|
||||
* Source/WebKit/Shared/WebProcessCreationParameters.h:
|
||||
* Source/WebKit/Shared/WebProcessCreationParameters.serialization.in:
|
||||
* Source/WebKit/Shared/glib/DMABufRendererBufferMode.h: Added.
|
||||
* Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:
|
||||
(WebKit::dmabufRendererWithSupportedBuffers):
|
||||
(WebKit::WebKitProtocolHandler::handleGPU):
|
||||
* Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp:
|
||||
(WebKit::WebProcessPool::platformInitializeWebProcess):
|
||||
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
|
||||
(WebKit::AcceleratedBackingStoreDMABuf::rendererBufferMode):
|
||||
(WebKit::AcceleratedBackingStoreDMABuf::checkRequirements):
|
||||
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h:
|
||||
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
|
||||
(WebKit::AcceleratedSurfaceDMABuf::clientResize):
|
||||
* Source/WebKit/WebProcess/WebProcess.h:
|
||||
(WebKit::WebProcess::dmaBufRendererBufferMode const):
|
||||
* Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:
|
||||
(WebKit::WebProcess::platformInitializeWebProcess):
|
||||
---
|
||||
.../Shared/WebProcessCreationParameters.h | 3 +-
|
||||
...ProcessCreationParameters.serialization.in | 2 +-
|
||||
.../Shared/glib/DMABufRendererBufferMode.h | 49 +++++++++++++++++++
|
||||
.../API/glib/WebKitProtocolHandler.cpp | 23 ++++++++-
|
||||
.../UIProcess/glib/WebProcessPoolGLib.cpp | 4 +-
|
||||
.../gtk/AcceleratedBackingStoreDMABuf.cpp | 26 +++++++---
|
||||
.../gtk/AcceleratedBackingStoreDMABuf.h | 3 ++
|
||||
.../WebPage/gtk/AcceleratedSurfaceDMABuf.cpp | 2 +-
|
||||
Source/WebKit/WebProcess/WebProcess.h | 7 ++-
|
||||
.../WebKit/WebProcess/glib/WebProcessGLib.cpp | 15 +++---
|
||||
10 files changed, 112 insertions(+), 22 deletions(-)
|
||||
create mode 100644 Source/WebKit/Shared/glib/DMABufRendererBufferMode.h
|
||||
|
||||
diff --git a/Source/WebKit/Shared/WebProcessCreationParameters.h b/Source/WebKit/Shared/WebProcessCreationParameters.h
|
||||
index cd6a3ffdd9f39..4544644d34ec4 100644
|
||||
--- a/Source/WebKit/Shared/WebProcessCreationParameters.h
|
||||
+++ b/Source/WebKit/Shared/WebProcessCreationParameters.h
|
||||
@@ -57,6 +57,7 @@
|
||||
#endif
|
||||
|
||||
#if PLATFORM(GTK)
|
||||
+#include "DMABufRendererBufferMode.h"
|
||||
#include "GtkSettingsState.h"
|
||||
#endif
|
||||
|
||||
@@ -219,7 +220,7 @@ struct WebProcessCreationParameters {
|
||||
#endif
|
||||
|
||||
#if PLATFORM(GTK)
|
||||
- bool useDMABufSurfaceForCompositing { false };
|
||||
+ OptionSet<DMABufRendererBufferMode> dmaBufRendererBufferMode;
|
||||
bool useSystemAppearanceForScrollbars { false };
|
||||
GtkSettingsState gtkSettings;
|
||||
#endif
|
||||
diff --git a/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in b/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
|
||||
index 5716042447a78..99db37e67b4a5 100644
|
||||
--- a/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
|
||||
+++ b/Source/WebKit/Shared/WebProcessCreationParameters.serialization.in
|
||||
@@ -173,7 +173,7 @@ struct WebKit::WebProcessCreationParameters {
|
||||
#endif
|
||||
|
||||
#if PLATFORM(GTK)
|
||||
- bool useDMABufSurfaceForCompositing;
|
||||
+ OptionSet<WebKit::DMABufRendererBufferMode> dmaBufRendererBufferMode;
|
||||
bool useSystemAppearanceForScrollbars;
|
||||
WebKit::GtkSettingsState gtkSettings;
|
||||
#endif
|
||||
diff --git a/Source/WebKit/Shared/glib/DMABufRendererBufferMode.h b/Source/WebKit/Shared/glib/DMABufRendererBufferMode.h
|
||||
new file mode 100644
|
||||
index 0000000000000..5cc9ef29de52f
|
||||
--- /dev/null
|
||||
+++ b/Source/WebKit/Shared/glib/DMABufRendererBufferMode.h
|
||||
@@ -0,0 +1,49 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2023 Igalia S.L.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions
|
||||
+ * are met:
|
||||
+ * 1. Redistributions of source code must retain the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer.
|
||||
+ * 2. Redistributions in binary form must reproduce the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer in the
|
||||
+ * documentation and/or other materials provided with the distribution.
|
||||
+ *
|
||||
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
|
||||
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
|
||||
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
+ * THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ */
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+#include <wtf/EnumTraits.h>
|
||||
+
|
||||
+namespace WebKit {
|
||||
+
|
||||
+enum class DMABufRendererBufferMode : uint8_t {
|
||||
+ Hardware = 1 << 0,
|
||||
+ SharedMemory = 1 << 1
|
||||
+};
|
||||
+
|
||||
+} // namespace WebKit
|
||||
+
|
||||
+namespace WTF {
|
||||
+
|
||||
+template<> struct EnumTraits<WebKit::DMABufRendererBufferMode> {
|
||||
+ using values = EnumValues<
|
||||
+ WebKit::DMABufRendererBufferMode,
|
||||
+ WebKit::DMABufRendererBufferMode::Hardware,
|
||||
+ WebKit::DMABufRendererBufferMode::SharedMemory
|
||||
+ >;
|
||||
+};
|
||||
+
|
||||
+} // namespace WTF
|
||||
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp b/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
|
||||
index 1a89c19966022..8bdcf48b446ab 100644
|
||||
--- a/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
|
||||
+++ b/Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
|
||||
@@ -46,6 +46,7 @@
|
||||
|
||||
#if PLATFORM(GTK)
|
||||
#include "AcceleratedBackingStoreDMABuf.h"
|
||||
+#include "DMABufRendererBufferMode.h"
|
||||
#include <WebCore/PlatformDisplaySurfaceless.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
@@ -158,6 +159,24 @@ static const char* openGLAPI()
|
||||
return "OpenGL ES 2 (libepoxy)";
|
||||
}
|
||||
|
||||
+#if PLATFORM(GTK)
|
||||
+static String dmabufRendererWithSupportedBuffers()
|
||||
+{
|
||||
+ StringBuilder buffers;
|
||||
+ buffers.append("DMABuf (Supported buffers: "_s);
|
||||
+ auto mode = AcceleratedBackingStoreDMABuf::rendererBufferMode();
|
||||
+ if (mode.contains(DMABufRendererBufferMode::Hardware))
|
||||
+ buffers.append("Hardware"_s);
|
||||
+ if (mode.contains(DMABufRendererBufferMode::SharedMemory)) {
|
||||
+ if (mode.contains(DMABufRendererBufferMode::Hardware))
|
||||
+ buffers.append(", ");
|
||||
+ buffers.append("Shared Memory"_s);
|
||||
+ }
|
||||
+ buffers.append(')');
|
||||
+ return buffers.toString();
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
void WebKitProtocolHandler::handleGPU(WebKitURISchemeRequest* request)
|
||||
{
|
||||
GString* html = g_string_new(
|
||||
@@ -324,11 +343,11 @@ void WebKitProtocolHandler::handleGPU(WebKitURISchemeRequest* request)
|
||||
addTableRow(jsonObject, "API"_s, String::fromUTF8(openGLAPI()));
|
||||
#if PLATFORM(WAYLAND)
|
||||
if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland)
|
||||
- addTableRow(hardwareAccelerationObject, "Renderer"_s, usingDMABufRenderer ? "DMABuf"_s : "WPE"_s);
|
||||
+ addTableRow(hardwareAccelerationObject, "Renderer"_s, usingDMABufRenderer ? dmabufRendererWithSupportedBuffers() : "WPE"_s);
|
||||
#endif
|
||||
#if PLATFORM(X11)
|
||||
if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::X11)
|
||||
- addTableRow(hardwareAccelerationObject, "Renderer"_s, usingDMABufRenderer ? "DMABuf"_s : "XWindow"_s);
|
||||
+ addTableRow(hardwareAccelerationObject, "Renderer"_s, usingDMABufRenderer ? dmabufRendererWithSupportedBuffers() : "XWindow"_s);
|
||||
#endif
|
||||
addTableRow(hardwareAccelerationObject, "Native interface"_s, uiProcessContextIsEGL() ? "EGL"_s : "None"_s);
|
||||
|
||||
diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||
index 55f27c64aa992..d439751cee32f 100644
|
||||
--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||
+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||
@@ -89,11 +89,11 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process
|
||||
#endif
|
||||
|
||||
#if PLATFORM(GTK)
|
||||
- parameters.useDMABufSurfaceForCompositing = AcceleratedBackingStoreDMABuf::checkRequirements();
|
||||
+ parameters.dmaBufRendererBufferMode = AcceleratedBackingStoreDMABuf::rendererBufferMode();
|
||||
#endif
|
||||
|
||||
#if PLATFORM(WAYLAND)
|
||||
- if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland && !parameters.useDMABufSurfaceForCompositing) {
|
||||
+ if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland && parameters.dmaBufRendererBufferMode.isEmpty()) {
|
||||
wpe_loader_init("libWPEBackend-fdo-1.0.so.1");
|
||||
if (AcceleratedBackingStoreWayland::checkRequirements()) {
|
||||
parameters.hostClientFileDescriptor = UnixFileDescriptor { wpe_renderer_host_create_client(), UnixFileDescriptor::Adopt };
|
||||
diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
|
||||
index 5a5d2fc4ceacb..1a208de31a054 100644
|
||||
--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
|
||||
+++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "AcceleratedBackingStoreDMABufMessages.h"
|
||||
#include "AcceleratedSurfaceDMABufMessages.h"
|
||||
+#include "DMABufRendererBufferMode.h"
|
||||
#include "LayerTreeContext.h"
|
||||
#include "ShareableBitmap.h"
|
||||
#include "WebPageProxy.h"
|
||||
@@ -49,23 +50,32 @@
|
||||
|
||||
namespace WebKit {
|
||||
|
||||
-bool AcceleratedBackingStoreDMABuf::checkRequirements()
|
||||
+OptionSet<DMABufRendererBufferMode> AcceleratedBackingStoreDMABuf::rendererBufferMode()
|
||||
{
|
||||
- static bool available;
|
||||
+ static OptionSet<DMABufRendererBufferMode> mode;
|
||||
static std::once_flag onceFlag;
|
||||
std::call_once(onceFlag, [] {
|
||||
const char* disableDMABuf = getenv("WEBKIT_DISABLE_DMABUF_RENDERER");
|
||||
- if (disableDMABuf && strcmp(disableDMABuf, "0")) {
|
||||
- available = false;
|
||||
+ if (disableDMABuf && strcmp(disableDMABuf, "0"))
|
||||
+ return;
|
||||
+
|
||||
+ const char* platformExtensions = eglQueryString(nullptr, EGL_EXTENSIONS);
|
||||
+ if (!WebCore::GLContext::isExtensionSupported(platformExtensions, "EGL_KHR_platform_gbm")
|
||||
+ && !WebCore::GLContext::isExtensionSupported(platformExtensions, "EGL_MESA_platform_surfaceless")) {
|
||||
return;
|
||||
}
|
||||
|
||||
+ mode.add(DMABufRendererBufferMode::SharedMemory);
|
||||
+
|
||||
const auto& eglExtensions = WebCore::PlatformDisplay::sharedDisplay().eglExtensions();
|
||||
- available = eglExtensions.KHR_image_base
|
||||
- && eglExtensions.KHR_surfaceless_context
|
||||
- && WebCore::GLContext::isExtensionSupported(eglQueryString(nullptr, EGL_EXTENSIONS), "EGL_MESA_platform_surfaceless");
|
||||
+ if (eglExtensions.KHR_image_base && eglExtensions.EXT_image_dma_buf_import)
|
||||
+ mode.add(DMABufRendererBufferMode::Hardware);
|
||||
});
|
||||
- return available;
|
||||
+ return mode;
|
||||
+}
|
||||
+bool AcceleratedBackingStoreDMABuf::checkRequirements()
|
||||
+{
|
||||
+ return !rendererBufferMode().isEmpty();
|
||||
}
|
||||
|
||||
std::unique_ptr<AcceleratedBackingStoreDMABuf> AcceleratedBackingStoreDMABuf::create(WebPageProxy& webPage)
|
||||
diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h
|
||||
index bd52cafbcec61..1bc769ada3135 100644
|
||||
--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h
|
||||
+++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <WebCore/RefPtrCairo.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <wtf/CompletionHandler.h>
|
||||
+#include <wtf/OptionSet.h>
|
||||
#include <wtf/glib/GRefPtr.h>
|
||||
#include <wtf/unix/UnixFileDescriptor.h>
|
||||
|
||||
@@ -54,10 +55,12 @@ namespace WebKit {
|
||||
class ShareableBitmap;
|
||||
class ShareableBitmapHandle;
|
||||
class WebPageProxy;
|
||||
+enum class DMABufRendererBufferMode : uint8_t;
|
||||
|
||||
class AcceleratedBackingStoreDMABuf final : public AcceleratedBackingStore, public IPC::MessageReceiver {
|
||||
WTF_MAKE_NONCOPYABLE(AcceleratedBackingStoreDMABuf); WTF_MAKE_FAST_ALLOCATED;
|
||||
public:
|
||||
+ static OptionSet<DMABufRendererBufferMode> rendererBufferMode();
|
||||
static bool checkRequirements();
|
||||
static std::unique_ptr<AcceleratedBackingStoreDMABuf> create(WebPageProxy&);
|
||||
~AcceleratedBackingStoreDMABuf();
|
||||
diff --git a/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp b/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
|
||||
index c0fce2b286395..e5c49fbf92b63 100644
|
||||
--- a/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
|
||||
+++ b/Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
|
||||
@@ -442,7 +442,7 @@ void AcceleratedSurfaceDMABuf::clientResize(const WebCore::IntSize& size)
|
||||
auto& display = WebCore::PlatformDisplay::sharedDisplayForCompositing();
|
||||
switch (display.type()) {
|
||||
case WebCore::PlatformDisplay::Type::Surfaceless:
|
||||
- if (display.eglExtensions().MESA_image_dma_buf_export)
|
||||
+ if (display.eglExtensions().MESA_image_dma_buf_export && WebProcess::singleton().dmaBufRendererBufferMode().contains(DMABufRendererBufferMode::Hardware))
|
||||
m_target = RenderTargetTexture::create(m_id, size);
|
||||
else
|
||||
m_target = RenderTargetSHMImage::create(m_id, size);
|
||||
diff --git a/Source/WebKit/WebProcess/WebProcess.h b/Source/WebKit/WebProcess/WebProcess.h
|
||||
index 4a4d5031d4ef3..14c298a0f41bf 100644
|
||||
--- a/Source/WebKit/WebProcess/WebProcess.h
|
||||
+++ b/Source/WebKit/WebProcess/WebProcess.h
|
||||
@@ -416,6 +416,10 @@ class WebProcess : public AuxiliaryProcess
|
||||
void revokeLaunchServicesSandboxExtension();
|
||||
#endif
|
||||
|
||||
+#if PLATFORM(GTK)
|
||||
+ const OptionSet<DMABufRendererBufferMode>& dmaBufRendererBufferMode() const { return m_dmaBufRendererBufferMode; }
|
||||
+#endif
|
||||
+
|
||||
private:
|
||||
WebProcess();
|
||||
~WebProcess();
|
||||
@@ -739,8 +743,9 @@ class WebProcess : public AuxiliaryProcess
|
||||
|
||||
WeakHashMap<WebCore::UserGestureToken, uint64_t> m_userGestureTokens;
|
||||
|
||||
-#if PLATFORM(GTK) && USE(EGL)
|
||||
+#if PLATFORM(GTK)
|
||||
std::unique_ptr<WebCore::PlatformDisplay> m_displayForCompositing;
|
||||
+ OptionSet<DMABufRendererBufferMode> m_dmaBufRendererBufferMode;
|
||||
#endif
|
||||
|
||||
bool m_hasSuspendedPageProxy { false };
|
||||
diff --git a/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp b/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp
|
||||
index a8ed70bc573e8..686004f4ee825 100644
|
||||
--- a/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp
|
||||
+++ b/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp
|
||||
@@ -142,12 +142,15 @@ void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& para
|
||||
#endif
|
||||
|
||||
#if PLATFORM(GTK)
|
||||
- if (parameters.useDMABufSurfaceForCompositing) {
|
||||
+ m_dmaBufRendererBufferMode = parameters.dmaBufRendererBufferMode;
|
||||
+ if (!m_dmaBufRendererBufferMode.isEmpty()) {
|
||||
#if USE(GBM)
|
||||
- const char* disableGBM = getenv("WEBKIT_DMABUF_RENDERER_DISABLE_GBM");
|
||||
- if (!disableGBM || !strcmp(disableGBM, "0")) {
|
||||
- if (auto* device = WebCore::GBMDevice::singleton().device())
|
||||
- m_displayForCompositing = WebCore::PlatformDisplayGBM::create(device);
|
||||
+ if (m_dmaBufRendererBufferMode.contains(DMABufRendererBufferMode::Hardware)) {
|
||||
+ const char* disableGBM = getenv("WEBKIT_DMABUF_RENDERER_DISABLE_GBM");
|
||||
+ if (!disableGBM || !strcmp(disableGBM, "0")) {
|
||||
+ if (auto* device = WebCore::GBMDevice::singleton().device())
|
||||
+ m_displayForCompositing = WebCore::PlatformDisplayGBM::create(device);
|
||||
+ }
|
||||
}
|
||||
#endif
|
||||
if (!m_displayForCompositing)
|
||||
@@ -156,7 +159,7 @@ void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& para
|
||||
#endif
|
||||
|
||||
#if PLATFORM(WAYLAND)
|
||||
- if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland && !parameters.isServiceWorkerProcess && !parameters.useDMABufSurfaceForCompositing) {
|
||||
+ if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland && !parameters.isServiceWorkerProcess && m_dmaBufRendererBufferMode.isEmpty()) {
|
||||
auto hostClientFileDescriptor = parameters.hostClientFileDescriptor.release();
|
||||
if (hostClientFileDescriptor != -1) {
|
||||
wpe_loader_init(parameters.implementationLibraryName.data());
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (webkitgtk-2.41.6.tar.xz) = 89cc03b86a689fcf6edccf9e7adc9e128fe55776d46ab81b08332f490bbe8b63af96c4595d3e040133f83e8e0af1b5cf95b09936698e531f4c2cf99b052d316e
|
||||
SHA512 (webkitgtk-2.41.6.tar.xz.asc) = c50546dc09fce1808af069ebe6ad12277c3e254e9d47d93ecc6b1fb8be1e635ccf1594bf7c13dcf2e3ad7e866e7f65cdc3a993b59c690094f79f6aac83f7b45d
|
||||
SHA512 (webkitgtk-2.41.91.tar.xz.asc) = 8519795d85809e5c9ecfb8292e5bb9e6a963ff00388c08b1fb1d4d9554503212d1ab3fe51cbeecd4d391f4bc87b0770d28bc6428b38e0639807a98619320c961
|
||||
SHA512 (webkitgtk-2.41.91.tar.xz) = 14381994830daff1a5126f0919760fdb7689a6ef4d96bdc147546839fbe5c012f71f3c4b51be6714bc25a0dc04260d4809d569fcc96cf60ae620fb8aeff5184a
|
||||
|
@ -22,7 +22,7 @@
|
||||
%endif
|
||||
|
||||
Name: webkitgtk
|
||||
Version: 2.41.6
|
||||
Version: 2.41.91
|
||||
Release: %autorelease
|
||||
Summary: GTK web content engine library
|
||||
|
||||
@ -35,11 +35,6 @@ Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc
|
||||
# $ gpg --export --export-options export-minimal D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B > webkitgtk-keys.gpg
|
||||
Source2: webkitgtk-keys.gpg
|
||||
|
||||
# https://github.com/WebKit/WebKit/pull/15929
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=259320
|
||||
# Fix content not shown on llvmpipe on Rawhide
|
||||
Patch0: 15929.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: bubblewrap
|
||||
BuildRequires: cmake
|
||||
|
Loading…
Reference in New Issue
Block a user