summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2024-04-03 02:05:03 +0200
committerKhem Raj <raj.khem@gmail.com>2024-04-02 17:55:09 -0700
commit896a7f638cb13baeb1fcd85f3edfa6c41cc8bf30 (patch)
tree18018ad411c391b278f04c20c9046ce48e812d0e /meta-oe/recipes-support
parent0bee442a0ee9b1236b9e49947069c45e51423cca (diff)
downloadmeta-openembedded-896a7f638cb13baeb1fcd85f3edfa6c41cc8bf30.tar.gz
webkitgtk3: update 2.42.5 -> 2.44.0
- add a PACKAGECONFIG for libbacktrace to avoid: | -- Could NOT find LibBacktrace (missing: LIBBACKTRACE_INCLUDE_DIR LIBBACKTRACE_LIBRARY) | CMake Error at Source/cmake/OptionsGTK.cmake:425 (message): | libbacktrace is required for USE_LIBBACKTRACE - remove submitted patch. Issue seems to be fixed. Not entirely sure about that, but there has been rework: [https://bugs.webkit.org/show_bug.cgi?id=267349] I also did a test build with oe-core/poky for qemuarm. It completed without error - There is an issue with creating the json files if CMAKE_EXPORT_COMPILE_COMMANDS is enabled. Disable this for now to fix the build: FAILED: CMakeFiles/RewriteCompileCommands DeveloperTools/compile_commands.json /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/build/CMakeFiles/RewriteCompileCommands /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/build/DeveloperTools/compile_commands.json cd /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/build && /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/recipe-sysroot-native/usr/bin/python3-native/python3 /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/webkitgtk-2.44.0/Tools/Scripts/rewrite-compile-commands /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/build/compile_commands.json /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/build/DeveloperTools/compile_commands.json /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/webkitgtk-2.44.0 /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/build /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/recipe-sysroot-native/usr/bin/python3-native/python3: can't open file '/home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk/2.44.0/webkitgtk-2.44.0/Tools/Scripts/rewrite-compile-commands': [Errno 2] No such file or directory - Explicitly disable gtk4 to avoid: | CMake Error at /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/webkitgtk3/2.44.0/recipe-sysroot-native/usr/shar> | Could NOT find GTK (missing: GTK_VERSION) (Required is at least version | "4.6.0") - Add a patch to fix webassembly for riscv64 - Add a backport patch to fix the build for 32bit architectures ================ WebKitGTK 2.44.0 ================ What's new in WebKitGTK 2.44.0? - Fix connection of UI and web process accessibility tree in GTK4. - Add BubblewrapLauncher sandbox directory for the gstreamer user registry cache directory. - Fix bug causing preferred language to not be passed to NetworkProcess if set in WebContext before creating WebView. - Do not use real time priority for the display link thread. - Use a shorter web process cache lifetime. - Fix several crashes and rendering issues. - Translation updates: German, Polish, Swedish, Turkish. ================ WebKitGTK 2.43.4 ================ What's new in WebKitGTK 2.43.4? - Remove key event reinjection in GTK4 to make keyboard shortcuts work in web sites. - Use the new GTK API to create a GdkTexture from a DMA-BUF buffer when available. - Fix rendering when GTK is using the vulkan renderer. - Fix gamepads detection by correctly handling focused window in GTK4. - Fix rendering after history navigation. - Write bwrapinfo.json to disk for xdg-desktop-portal. - Fixed several memory leaks in media backend. - Fix several crashes and rendering issues. ================ WebKitGTK 2.43.3 ================ What's new in WebKitGTK 2.43.3? - Show vblank monitor information in webkit://gpu. - Fallback to timer based vblank monitor if drmWaitVBlank fails. - Fix several memory leaks in media backend. - Fix several crashes and rendering issues. ================ WebKitGTK 2.43.2 ================ What's new in WebKitGTK 2.43.2? - Remove the X11 and WPE renderers. - Release unused buffers when the view is hidden. - Fix flickering while playing videos with DMA-BUF sink. - Do not special case the "sans" font family name. - Fix webkit_web_context_allow_tls_certificate_for_host() for IPv6 URIs produced by SoupURI. - Fix several crashes and rendering issues. ================ WebKitGTK 2.43.1 ================ What's new in WebKitGTK 2.43.1? - Improve vblank synchronization when rendering. - Improve DMA-BUF buffers handling for video frames. - Use the buffer format preferred by the driver in DMA-BUF renderer. - Do not block the compositing thread waiting for rendering threads. - Improve performance when scaling images in a canvas. - Fix several crashes and rendering Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch3
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch7
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch312
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch36
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch65
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch13
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch3
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.0.bb (renamed from meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.5.bb)33
8 files changed, 135 insertions, 337 deletions
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
index d6d4a2b32..06030c047 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -1,4 +1,4 @@
1From 69d8e34f60e6a124f699365101e854076cfe0f1b Mon Sep 17 00:00:00 2001 1From e68e87c14243b1c8707c56883a53e841310974a1 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 27 Oct 2015 16:02:19 +0200 3Date: Tue, 27 Oct 2015 16:02:19 +0200
4Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained 4Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
@@ -9,7 +9,6 @@ reasons why this is not approproiate for upstream submission.
9 9
10Upstream-Status: Inappropriate [oe-core specific] 10Upstream-Status: Inappropriate [oe-core specific]
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12
13--- 12---
14 Source/cmake/FindGI.cmake | 3 +++ 13 Source/cmake/FindGI.cmake | 3 +++
15 1 file changed, 3 insertions(+) 14 1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
index 8909263fe..e6a43c2ff 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
@@ -1,4 +1,4 @@
1From 6c4ff2210c36d6410ec287737d6a49f20c412332 Mon Sep 17 00:00:00 2001 1From fb81a5de7798eb7f68e0de1c281671553e1aa19d Mon Sep 17 00:00:00 2001
2From: Michael Catanzaro <mcatanzaro@redhat.com> 2From: Michael Catanzaro <mcatanzaro@redhat.com>
3Date: Mon, 5 Feb 2024 11:00:49 -0600 3Date: Mon, 5 Feb 2024 11:00:49 -0600
4Subject: [PATCH] =?UTF-8?q?LowLevelInterpreter.cpp:339:21:=20error:=20?= 4Subject: [PATCH] =?UTF-8?q?LowLevelInterpreter.cpp:339:21:=20error:=20?=
@@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
21 1 file changed, 2 deletions(-) 21 1 file changed, 2 deletions(-)
22 22
23diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 23diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
24index 5064ead6..9a2e2653 100644 24index 75cecbbd..b1020ea4 100644
25--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 25--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
26+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 26+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
27@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, 27@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm,
@@ -33,6 +33,3 @@ index 5064ead6..9a2e2653 100644
33 33
34 struct StackPointerScope { 34 struct StackPointerScope {
35 StackPointerScope(CLoopStack& stack) 35 StackPointerScope(CLoopStack& stack)
36--
372.43.2
38
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch
deleted file mode 100644
index d19d1e117..000000000
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0d3344e17d258106617b0e6d783d073b188a2548.patch
+++ /dev/null
@@ -1,312 +0,0 @@
1From e3c12b38037b4bb3053c440e4bd22c36c1dc576b Mon Sep 17 00:00:00 2001
2From: Adrian Perez de Castro <aperez@igalia.com>
3Date: Thu, 2 Jun 2022 11:19:06 +0300
4Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems
5
6 unused https://bugs.webkit.org/show_bug.cgi?id=241182
7
8Reviewed by NOBODY (OOPS!).
9
10Move the NEON fast path for the SVG lighting filter effects into
11FELightingSoftwareApplier, and arrange to actually use them by
12forwarding calls to applyPlatformGeneric() into applyPlatformNeon().
13
14Some changes were needed to adapt platformApplyNeon() to the current
15state of filters after r286140. This was not detected because the code
16bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does
17not get used much these days: CPU(ARM_THUMB2) is more common. It should
18be possible to use the NEON fast paths also in Thumb mode, but that is
19left for a follow-up fix.
20
21* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
22(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker):
23(WebCore::FELightingSoftwareApplier::getPowerCoefficients):
24(WebCore::FELighting::platformApplyNeonWorker): Deleted.
25(WebCore::FELighting::getPowerCoefficients): Deleted.
26* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:
27(WebCore::FELightingSoftwareApplier::applyPlatformNeon):
28(WebCore::FELighting::platformApplyNeon): Deleted.
29* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
30* Source/WebCore/platform/graphics/filters/FELighting.h:
31* Source/WebCore/platform/graphics/filters/PointLightSource.h:
32* Source/WebCore/platform/graphics/filters/SpotLightSource.h:
33* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h:
34
35Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233]
36Signed-off-by: Khem Raj <raj.khem@gmail.com>
37
38---
39 .../cpu/arm/filters/FELightingNEON.cpp | 4 +-
40 .../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++----------
41 .../graphics/filters/DistantLightSource.h | 4 ++
42 .../platform/graphics/filters/FELighting.h | 7 ---
43 .../graphics/filters/PointLightSource.h | 4 ++
44 .../graphics/filters/SpotLightSource.h | 4 ++
45 .../software/FELightingSoftwareApplier.h | 16 ++++++
46 7 files changed, 56 insertions(+), 35 deletions(-)
47
48diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
49index f6ff8c20..42a97ffc 100644
50--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
51+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
52@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon()
53 return s_FELightingConstantsForNeon;
54 }
55
56-void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
57+void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
58 {
59 neonDrawLighting(parameters);
60 }
61@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL
62 "b .lightStrengthCalculated" NL
63 ); // NOLINT
64
65-int FELighting::getPowerCoefficients(float exponent)
66+int FELightingSoftwareApplier::getPowerCoefficients(float exponent)
67 {
68 // Calling a powf function from the assembly code would require to save
69 // and reload a lot of NEON registers. Since the base is in range [0..1]
70diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
71index b17c603d..e4629cda 100644
72--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
73+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
74@@ -24,14 +24,15 @@
75 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
76 */
77
78-#ifndef FELightingNEON_h
79-#define FELightingNEON_h
80+#pragma once
81
82 #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
83
84-#include "FELighting.h"
85+#include "FELightingSoftwareApplier.h"
86+#include "ImageBuffer.h"
87 #include "PointLightSource.h"
88 #include "SpotLightSource.h"
89+#include <wtf/ObjectIdentifier.h>
90 #include <wtf/ParallelJobs.h>
91
92 namespace WebCore {
93@@ -93,14 +94,14 @@ extern "C" {
94 void neonDrawLighting(FELightingPaintingDataForNeon*);
95 }
96
97-inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData)
98+inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData)
99 {
100- alignas(16) FELightingFloatArgumentsForNeon floatArguments;
101- FELightingPaintingDataForNeon neonData = {
102+ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments;
103+ WebCore::FELightingPaintingDataForNeon neonData = {
104 data.pixels->data(),
105 1,
106- data.widthDecreasedByOne - 1,
107- data.heightDecreasedByOne - 1,
108+ data.width - 2,
109+ data.height - 2,
110 0,
111 0,
112 0,
113@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
114 // Set light source arguments.
115 floatArguments.constOne = 1;
116
117- auto color = m_lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
118+ auto color = data.lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
119
120 floatArguments.colorRed = color.red;
121 floatArguments.colorGreen = color.green;
122 floatArguments.colorBlue = color.blue;
123 floatArguments.padding4 = 0;
124
125- if (m_lightSource->type() == LS_POINT) {
126+ if (data.lightSource->type() == LS_POINT) {
127 neonData.flags |= FLAG_POINT_LIGHT;
128- PointLightSource& pointLightSource = static_cast<PointLightSource&>(m_lightSource.get());
129+ const auto& pointLightSource = *static_cast<const PointLightSource*>(data.lightSource);
130 floatArguments.lightX = pointLightSource.position().x();
131 floatArguments.lightY = pointLightSource.position().y();
132 floatArguments.lightZ = pointLightSource.position().z();
133 floatArguments.padding2 = 0;
134- } else if (m_lightSource->type() == LS_SPOT) {
135+ } else if (data.lightSource->type() == LS_SPOT) {
136 neonData.flags |= FLAG_SPOT_LIGHT;
137- SpotLightSource& spotLightSource = static_cast<SpotLightSource&>(m_lightSource.get());
138+ const auto& spotLightSource = *static_cast<const SpotLightSource*>(data.lightSource);
139 floatArguments.lightX = spotLightSource.position().x();
140 floatArguments.lightY = spotLightSource.position().y();
141 floatArguments.lightZ = spotLightSource.position().z();
142@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
143 if (spotLightSource.specularExponent() == 1)
144 neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
145 } else {
146- ASSERT(m_lightSource->type() == LS_DISTANT);
147+ ASSERT(data.lightSource->type() == LS_DISTANT);
148 floatArguments.lightX = paintingData.initialLightingData.lightVector.x();
149 floatArguments.lightY = paintingData.initialLightingData.lightVector.y();
150 floatArguments.lightZ = paintingData.initialLightingData.lightVector.z();
151@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
152 // Set lighting arguments.
153 floatArguments.surfaceScale = data.surfaceScale;
154 floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4;
155- if (m_lightingType == FELighting::DiffuseLighting)
156- floatArguments.diffuseConstant = m_diffuseConstant;
157+ if (data.filterType == FilterEffect::Type::FEDiffuseLighting)
158+ floatArguments.diffuseConstant = data.diffuseConstant;
159 else {
160 neonData.flags |= FLAG_SPECULAR_LIGHT;
161- floatArguments.diffuseConstant = m_specularConstant;
162- neonData.specularExponent = getPowerCoefficients(m_specularExponent);
163- if (m_specularExponent == 1)
164+ floatArguments.diffuseConstant = data.specularConstant;
165+ neonData.specularExponent = getPowerCoefficients(data.specularExponent);
166+ if (data.specularExponent == 1)
167 neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1;
168 }
169 if (floatArguments.diffuseConstant == 1)
170 neonData.flags |= FLAG_DIFFUSE_CONST_IS_1;
171
172- int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension;
173+ static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs
174+ int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension;
175 if (optimalThreadNumber > 1) {
176 // Initialize parallel jobs
177- ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber);
178+ ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber);
179
180 // Fill the parameter array
181 int job = parallelJobs.numberOfJobs();
182 if (job > 1) {
183 int yStart = 1;
184- int yStep = (data.heightDecreasedByOne - 1) / job;
185+ int yStep = (data.height - 2) / job;
186 for (--job; job >= 0; --job) {
187 FELightingPaintingDataForNeon& params = parallelJobs.parameter(job);
188 params = neonData;
189 params.yStart = yStart;
190- params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4;
191+ params.pixels += (yStart - 1) * data.width * 4;
192 if (job > 0) {
193 params.absoluteHeight = yStep;
194 yStart += yStep;
195 } else
196- params.absoluteHeight = data.heightDecreasedByOne - yStart;
197+ params.absoluteHeight = (data.height - 1) - yStart;
198 }
199 parallelJobs.execute();
200 return;
201@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
202 } // namespace WebCore
203
204 #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE)
205-
206-#endif // FELightingNEON_h
207diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
208index 70f583b3..7d5d27e5 100644
209--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h
210+++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
211@@ -26,6 +26,10 @@
212 #include <wtf/ArgumentCoder.h>
213 #include <wtf/Ref.h>
214
215+namespace WTF {
216+class TextStream;
217+} // namespace WTF
218+
219 namespace WebCore {
220
221 class DistantLightSource : public LightSource {
222diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
223index 179edf6d..694d712d 100644
224--- a/Source/WebCore/platform/graphics/filters/FELighting.h
225+++ b/Source/WebCore/platform/graphics/filters/FELighting.h
226@@ -35,8 +35,6 @@
227
228 namespace WebCore {
229
230-struct FELightingPaintingDataForNeon;
231-
232 class FELighting : public FilterEffect {
233 public:
234 bool operator==(const FELighting&) const;
235@@ -68,11 +66,6 @@ protected:
236
237 std::unique_ptr<FilterEffectApplier> createSoftwareApplier() const override;
238
239-#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
240- static int getPowerCoefficients(float exponent);
241- inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&);
242-#endif
243-
244 Color m_lightingColor;
245 float m_surfaceScale;
246 float m_diffuseConstant;
247diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h
248index a8cfdab8..34f867bb 100644
249--- a/Source/WebCore/platform/graphics/filters/PointLightSource.h
250+++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h
251@@ -26,6 +26,10 @@
252 #include "LightSource.h"
253 #include <wtf/Ref.h>
254
255+namespace WTF {
256+class TextStream;
257+} // namespace WTF
258+
259 namespace WebCore {
260
261 class PointLightSource : public LightSource {
262diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
263index 6404467a..5cac38f2 100644
264--- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h
265+++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
266@@ -26,6 +26,10 @@
267 #include "LightSource.h"
268 #include <wtf/Ref.h>
269
270+namespace WTF {
271+class TextStream;
272+} // namespace WTF
273+
274 namespace WebCore {
275
276 class SpotLightSource : public LightSource {
277diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
278index c974d921..e2896660 100644
279--- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
280+++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
281@@ -36,6 +36,7 @@
282 namespace WebCore {
283
284 class FELighting;
285+struct FELightingPaintingDataForNeon;
286
287 class FELightingSoftwareApplier final : public FilterEffectConcreteApplier<FELighting> {
288 WTF_MAKE_FAST_ALLOCATED;
289@@ -132,8 +133,23 @@ private:
290
291 static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY);
292 static void applyPlatformGenericWorker(ApplyParameters*);
293+
294+#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
295+ static int getPowerCoefficients(float exponent);
296+ static void platformApplyNeonWorker(FELightingPaintingDataForNeon*);
297+ inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&);
298+
299+ inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData)
300+ {
301+ applyPlatformNeon(data, paintingData);
302+ }
303+#else
304 static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&);
305+#endif
306+
307 static void applyPlatform(const LightingData&);
308 };
309
310 } // namespace WebCore
311+
312+#include "FELightingNEON.h"
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch
new file mode 100644
index 000000000..0f6b9a633
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch
@@ -0,0 +1,36 @@
1From 2922af379dc70b4b1a63b01d67179eb431f03ac4 Mon Sep 17 00:00:00 2001
2From: Michael Catanzaro <mcatanzaro@redhat.com>
3Date: Mon, 18 Mar 2024 11:14:54 -0700
4Subject: [PATCH] REGRESSION(274077@main): failure to build on i586 (and likely
5 other 32bit arches): static assertion failed: Timer should stay small
6 https://bugs.webkit.org/show_bug.cgi?id=271108
7
8Unreviewed build fix. This changes SameSizeOfTimer to ensure it matches
9the size of Timer on 32-bit platforms.
10
11* Source/WebCore/platform/Timer.cpp:
12
13Canonical link: https://commits.webkit.org/276282@main
14
15Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2922af379dc70b4b1a63b01d67179eb431f03ac4]
16---
17 Source/WebCore/platform/Timer.cpp | 6 +++++-
18 1 file changed, 5 insertions(+), 1 deletion(-)
19
20diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp
21index 4f7c0f5c39ca9..0f3734cca2474 100644
22--- a/Source/WebCore/platform/Timer.cpp
23+++ b/Source/WebCore/platform/Timer.cpp
24@@ -263,7 +263,11 @@ struct SameSizeAsTimer {
25
26 WeakPtr<TimerAlignment> timerAlignment;
27 double times[2];
28- void* pointers[3];
29+ void* pointers[2];
30+#if CPU(ADDRESS32)
31+ uint8_t bitfields;
32+#endif
33+ void* pointer;
34 };
35
36 static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small");
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
new file mode 100644
index 000000000..b2e40a88c
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
@@ -0,0 +1,65 @@
1From 1523e00a2a76e285262c8aa3721b5d99f3f2d612 Mon Sep 17 00:00:00 2001
2From: Thomas Devoogdt <thomas.devoogdt@barco.com>
3Date: Mon, 16 Jan 2023 17:03:30 +0100
4Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
5
6 !ENABLE(WEBASSEMBLY_B3JIT)
7
8https://bugs.webkit.org/show_bug.cgi?id=250681
9
10Reviewed by NOBODY (OOPS!).
11
12WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
13Also, toB3Type and simdScalarType are not defined if it is included.
14
15Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
16
17Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798]
18---
19 Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
20 1 file changed, 9 insertions(+), 3 deletions(-)
21
22diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp
23index eaaa3749..1d089783 100644
24--- a/Source/JavaScriptCore/b3/B3Validate.cpp
25+++ b/Source/JavaScriptCore/b3/B3Validate.cpp
26@@ -47,6 +47,12 @@
27 #include <wtf/StringPrintStream.h>
28 #include <wtf/text/CString.h>
29
30+#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
31+#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
32+#else
33+#define simdScalarTypeToB3Type(type) B3::Type()
34+#endif
35+
36 namespace JSC { namespace B3 {
37
38 namespace {
39@@ -454,7 +460,7 @@ public:
40 case VectorExtractLane:
41 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
42 VALIDATE(value->numChildren() == 1, ("At ", *value));
43- VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
44+ VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
45 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
46 break;
47 case VectorReplaceLane:
48@@ -462,7 +468,7 @@ public:
49 VALIDATE(value->numChildren() == 2, ("At ", *value));
50 VALIDATE(value->type() == V128, ("At ", *value));
51 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
52- VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
53+ VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
54 break;
55 case VectorDupElement:
56 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
57@@ -484,7 +490,7 @@ public:
58 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
59 VALIDATE(value->numChildren() == 1, ("At ", *value));
60 VALIDATE(value->type() == V128, ("At ", *value));
61- VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
62+ VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
63 break;
64
65 case VectorPopcnt:
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
index c660baa1f..37bc6538c 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
@@ -1,4 +1,7 @@
1clang/arm: Do not use MUST_TAIL_CALL 1From c50f2277509f2e6f087cda2eaf323eaf569aad8d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 30 Sep 2023 12:42:06 -0700
4Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL
2 5
3This causes clang-17 to crash see [1] 6This causes clang-17 to crash see [1]
4this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit 7this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit
@@ -8,9 +11,15 @@ this code is new in webkit 2.42[2] thats why we do not see the crash in older we
8 11
9Upstream-Status: Pending 12Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 Source/WTF/wtf/Compiler.h | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
19index 449ca502..daac29d7 100644
11--- a/Source/WTF/wtf/Compiler.h 20--- a/Source/WTF/wtf/Compiler.h
12+++ b/Source/WTF/wtf/Compiler.h 21+++ b/Source/WTF/wtf/Compiler.h
13@@ -284,7 +284,7 @@ 22@@ -321,7 +321,7 @@
14 /* MUST_TAIL_CALL */ 23 /* MUST_TAIL_CALL */
15 24
16 #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) 25 #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
index 15e255e98..0a5720c99 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
@@ -1,4 +1,4 @@
1From 3b25aac4240d8af8bed3b0113110b36980370a98 Mon Sep 17 00:00:00 2001 1From 7336dfd02c20ec9b2a984e1e42d17201af55c8f5 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org> 2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Thu, 27 Jul 2023 22:09:06 +0200 3Date: Thu, 27 Jul 2023 22:09:06 +0200
4Subject: [PATCH] webkitgtk3: add recipe 4Subject: [PATCH] webkitgtk3: add recipe
@@ -11,7 +11,6 @@ then this could be submitted upstream, sadly my ruby isn't up to that.
11 11
12Upstream-Status: Pending [could be reworked] 12Upstream-Status: Pending [could be reworked]
13Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 13Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
14
15--- 14---
16 Source/JavaScriptCore/generator/GeneratedFile.rb | 2 +- 15 Source/JavaScriptCore/generator/GeneratedFile.rb | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.5.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.0.bb
index 234ecfae0..34afaed9d 100644
--- a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.5.bb
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.0.bb
@@ -12,11 +12,12 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842
12SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ 12SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
13 file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ 13 file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
14 file://reproducibility.patch \ 14 file://reproducibility.patch \
15 file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
16 file://no-musttail-arm.patch \ 15 file://no-musttail-arm.patch \
17 file://0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch \ 16 file://0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch \
17 file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \
18 file://2922af379dc70b4b1a63b01d67179eb431f03ac4.patch \
18 " 19 "
19SRC_URI[sha256sum] = "b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749" 20SRC_URI[sha256sum] = "c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87"
20 21
21inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen 22inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
22 23
@@ -47,14 +48,15 @@ DEPENDS += " \
47 " 48 "
48 49
49PACKAGECONFIG_SOUP ?= "soup3" 50PACKAGECONFIG_SOUP ?= "soup3"
50PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ 51PACKAGECONFIG ??= " \
51 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ 52 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
52 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ 53 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
53 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ 54 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
54 enchant \ 55 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
55 libsecret \ 56 enchant \
56 ${PACKAGECONFIG_SOUP} \ 57 libsecret \
57 " 58 ${PACKAGECONFIG_SOUP} \
59 "
58 60
59PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" 61PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native"
60PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF" 62PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF"
@@ -81,12 +83,15 @@ PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECOR
81PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette" 83PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
82PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF" 84PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
83PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy" 85PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
86PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace"
84 87
85EXTRA_OECMAKE = " \ 88EXTRA_OECMAKE = " \
86 -DPORT=GTK \ 89 -DPORT=GTK \
87 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ 90 -DUSE_GTK4=OFF \
88 ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \ 91 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
89 -DENABLE_MINIBROWSER=ON \ 92 ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
93 -DENABLE_MINIBROWSER=ON \
94 -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
90 " 95 "
91# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the 96# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the
92# debug symbols (4.3GB to 700M at time of writing) 97# debug symbols (4.3GB to 700M at time of writing)