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>
This commit is contained in:
Markus Volk
2024-04-03 02:05:03 +02:00
committed by Khem Raj
parent 06155c3e67
commit 14323d35ff
8 changed files with 135 additions and 337 deletions
@@ -1,4 +1,4 @@
From 69d8e34f60e6a124f699365101e854076cfe0f1b Mon Sep 17 00:00:00 2001
From e68e87c14243b1c8707c56883a53e841310974a1 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 27 Oct 2015 16:02:19 +0200
Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
@@ -9,7 +9,6 @@ reasons why this is not approproiate for upstream submission.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
Source/cmake/FindGI.cmake | 3 +++
1 file changed, 3 insertions(+)
@@ -1,4 +1,4 @@
From 6c4ff2210c36d6410ec287737d6a49f20c412332 Mon Sep 17 00:00:00 2001
From fb81a5de7798eb7f68e0de1c281671553e1aa19d Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Mon, 5 Feb 2024 11:00:49 -0600
Subject: [PATCH] =?UTF-8?q?LowLevelInterpreter.cpp:339:21:=20error:=20?=
@@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 2 deletions(-)
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
index 5064ead6..9a2e2653 100644
index 75cecbbd..b1020ea4 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm,
@@ -33,6 +33,3 @@ index 5064ead6..9a2e2653 100644
struct StackPointerScope {
StackPointerScope(CLoopStack& stack)
--
2.43.2
@@ -1,312 +0,0 @@
From e3c12b38037b4bb3053c440e4bd22c36c1dc576b Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <aperez@igalia.com>
Date: Thu, 2 Jun 2022 11:19:06 +0300
Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems
unused https://bugs.webkit.org/show_bug.cgi?id=241182
Reviewed by NOBODY (OOPS!).
Move the NEON fast path for the SVG lighting filter effects into
FELightingSoftwareApplier, and arrange to actually use them by
forwarding calls to applyPlatformGeneric() into applyPlatformNeon().
Some changes were needed to adapt platformApplyNeon() to the current
state of filters after r286140. This was not detected because the code
bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does
not get used much these days: CPU(ARM_THUMB2) is more common. It should
be possible to use the NEON fast paths also in Thumb mode, but that is
left for a follow-up fix.
* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker):
(WebCore::FELightingSoftwareApplier::getPowerCoefficients):
(WebCore::FELighting::platformApplyNeonWorker): Deleted.
(WebCore::FELighting::getPowerCoefficients): Deleted.
* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:
(WebCore::FELightingSoftwareApplier::applyPlatformNeon):
(WebCore::FELighting::platformApplyNeon): Deleted.
* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
* Source/WebCore/platform/graphics/filters/FELighting.h:
* Source/WebCore/platform/graphics/filters/PointLightSource.h:
* Source/WebCore/platform/graphics/filters/SpotLightSource.h:
* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h:
Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../cpu/arm/filters/FELightingNEON.cpp | 4 +-
.../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++----------
.../graphics/filters/DistantLightSource.h | 4 ++
.../platform/graphics/filters/FELighting.h | 7 ---
.../graphics/filters/PointLightSource.h | 4 ++
.../graphics/filters/SpotLightSource.h | 4 ++
.../software/FELightingSoftwareApplier.h | 16 ++++++
7 files changed, 56 insertions(+), 35 deletions(-)
diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
index f6ff8c20..42a97ffc 100644
--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon()
return s_FELightingConstantsForNeon;
}
-void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
+void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
{
neonDrawLighting(parameters);
}
@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL
"b .lightStrengthCalculated" NL
); // NOLINT
-int FELighting::getPowerCoefficients(float exponent)
+int FELightingSoftwareApplier::getPowerCoefficients(float exponent)
{
// Calling a powf function from the assembly code would require to save
// and reload a lot of NEON registers. Since the base is in range [0..1]
diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
index b17c603d..e4629cda 100644
--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
@@ -24,14 +24,15 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef FELightingNEON_h
-#define FELightingNEON_h
+#pragma once
#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
-#include "FELighting.h"
+#include "FELightingSoftwareApplier.h"
+#include "ImageBuffer.h"
#include "PointLightSource.h"
#include "SpotLightSource.h"
+#include <wtf/ObjectIdentifier.h>
#include <wtf/ParallelJobs.h>
namespace WebCore {
@@ -93,14 +94,14 @@ extern "C" {
void neonDrawLighting(FELightingPaintingDataForNeon*);
}
-inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData)
+inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData)
{
- alignas(16) FELightingFloatArgumentsForNeon floatArguments;
- FELightingPaintingDataForNeon neonData = {
+ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments;
+ WebCore::FELightingPaintingDataForNeon neonData = {
data.pixels->data(),
1,
- data.widthDecreasedByOne - 1,
- data.heightDecreasedByOne - 1,
+ data.width - 2,
+ data.height - 2,
0,
0,
0,
@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
// Set light source arguments.
floatArguments.constOne = 1;
- auto color = m_lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
+ auto color = data.lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
floatArguments.colorRed = color.red;
floatArguments.colorGreen = color.green;
floatArguments.colorBlue = color.blue;
floatArguments.padding4 = 0;
- if (m_lightSource->type() == LS_POINT) {
+ if (data.lightSource->type() == LS_POINT) {
neonData.flags |= FLAG_POINT_LIGHT;
- PointLightSource& pointLightSource = static_cast<PointLightSource&>(m_lightSource.get());
+ const auto& pointLightSource = *static_cast<const PointLightSource*>(data.lightSource);
floatArguments.lightX = pointLightSource.position().x();
floatArguments.lightY = pointLightSource.position().y();
floatArguments.lightZ = pointLightSource.position().z();
floatArguments.padding2 = 0;
- } else if (m_lightSource->type() == LS_SPOT) {
+ } else if (data.lightSource->type() == LS_SPOT) {
neonData.flags |= FLAG_SPOT_LIGHT;
- SpotLightSource& spotLightSource = static_cast<SpotLightSource&>(m_lightSource.get());
+ const auto& spotLightSource = *static_cast<const SpotLightSource*>(data.lightSource);
floatArguments.lightX = spotLightSource.position().x();
floatArguments.lightY = spotLightSource.position().y();
floatArguments.lightZ = spotLightSource.position().z();
@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
if (spotLightSource.specularExponent() == 1)
neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
} else {
- ASSERT(m_lightSource->type() == LS_DISTANT);
+ ASSERT(data.lightSource->type() == LS_DISTANT);
floatArguments.lightX = paintingData.initialLightingData.lightVector.x();
floatArguments.lightY = paintingData.initialLightingData.lightVector.y();
floatArguments.lightZ = paintingData.initialLightingData.lightVector.z();
@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
// Set lighting arguments.
floatArguments.surfaceScale = data.surfaceScale;
floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4;
- if (m_lightingType == FELighting::DiffuseLighting)
- floatArguments.diffuseConstant = m_diffuseConstant;
+ if (data.filterType == FilterEffect::Type::FEDiffuseLighting)
+ floatArguments.diffuseConstant = data.diffuseConstant;
else {
neonData.flags |= FLAG_SPECULAR_LIGHT;
- floatArguments.diffuseConstant = m_specularConstant;
- neonData.specularExponent = getPowerCoefficients(m_specularExponent);
- if (m_specularExponent == 1)
+ floatArguments.diffuseConstant = data.specularConstant;
+ neonData.specularExponent = getPowerCoefficients(data.specularExponent);
+ if (data.specularExponent == 1)
neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1;
}
if (floatArguments.diffuseConstant == 1)
neonData.flags |= FLAG_DIFFUSE_CONST_IS_1;
- int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension;
+ static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs
+ int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension;
if (optimalThreadNumber > 1) {
// Initialize parallel jobs
- ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber);
+ ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber);
// Fill the parameter array
int job = parallelJobs.numberOfJobs();
if (job > 1) {
int yStart = 1;
- int yStep = (data.heightDecreasedByOne - 1) / job;
+ int yStep = (data.height - 2) / job;
for (--job; job >= 0; --job) {
FELightingPaintingDataForNeon& params = parallelJobs.parameter(job);
params = neonData;
params.yStart = yStart;
- params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4;
+ params.pixels += (yStart - 1) * data.width * 4;
if (job > 0) {
params.absoluteHeight = yStep;
yStart += yStep;
} else
- params.absoluteHeight = data.heightDecreasedByOne - yStart;
+ params.absoluteHeight = (data.height - 1) - yStart;
}
parallelJobs.execute();
return;
@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
} // namespace WebCore
#endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE)
-
-#endif // FELightingNEON_h
diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
index 70f583b3..7d5d27e5 100644
--- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h
+++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
@@ -26,6 +26,10 @@
#include <wtf/ArgumentCoder.h>
#include <wtf/Ref.h>
+namespace WTF {
+class TextStream;
+} // namespace WTF
+
namespace WebCore {
class DistantLightSource : public LightSource {
diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
index 179edf6d..694d712d 100644
--- a/Source/WebCore/platform/graphics/filters/FELighting.h
+++ b/Source/WebCore/platform/graphics/filters/FELighting.h
@@ -35,8 +35,6 @@
namespace WebCore {
-struct FELightingPaintingDataForNeon;
-
class FELighting : public FilterEffect {
public:
bool operator==(const FELighting&) const;
@@ -68,11 +66,6 @@ protected:
std::unique_ptr<FilterEffectApplier> createSoftwareApplier() const override;
-#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
- static int getPowerCoefficients(float exponent);
- inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&);
-#endif
-
Color m_lightingColor;
float m_surfaceScale;
float m_diffuseConstant;
diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h
index a8cfdab8..34f867bb 100644
--- a/Source/WebCore/platform/graphics/filters/PointLightSource.h
+++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h
@@ -26,6 +26,10 @@
#include "LightSource.h"
#include <wtf/Ref.h>
+namespace WTF {
+class TextStream;
+} // namespace WTF
+
namespace WebCore {
class PointLightSource : public LightSource {
diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
index 6404467a..5cac38f2 100644
--- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h
+++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
@@ -26,6 +26,10 @@
#include "LightSource.h"
#include <wtf/Ref.h>
+namespace WTF {
+class TextStream;
+} // namespace WTF
+
namespace WebCore {
class SpotLightSource : public LightSource {
diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
index c974d921..e2896660 100644
--- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
+++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
@@ -36,6 +36,7 @@
namespace WebCore {
class FELighting;
+struct FELightingPaintingDataForNeon;
class FELightingSoftwareApplier final : public FilterEffectConcreteApplier<FELighting> {
WTF_MAKE_FAST_ALLOCATED;
@@ -132,8 +133,23 @@ private:
static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY);
static void applyPlatformGenericWorker(ApplyParameters*);
+
+#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
+ static int getPowerCoefficients(float exponent);
+ static void platformApplyNeonWorker(FELightingPaintingDataForNeon*);
+ inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&);
+
+ inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData)
+ {
+ applyPlatformNeon(data, paintingData);
+ }
+#else
static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&);
+#endif
+
static void applyPlatform(const LightingData&);
};
} // namespace WebCore
+
+#include "FELightingNEON.h"
@@ -0,0 +1,36 @@
From 2922af379dc70b4b1a63b01d67179eb431f03ac4 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Mon, 18 Mar 2024 11:14:54 -0700
Subject: [PATCH] REGRESSION(274077@main): failure to build on i586 (and likely
other 32bit arches): static assertion failed: Timer should stay small
https://bugs.webkit.org/show_bug.cgi?id=271108
Unreviewed build fix. This changes SameSizeOfTimer to ensure it matches
the size of Timer on 32-bit platforms.
* Source/WebCore/platform/Timer.cpp:
Canonical link: https://commits.webkit.org/276282@main
Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2922af379dc70b4b1a63b01d67179eb431f03ac4]
---
Source/WebCore/platform/Timer.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp
index 4f7c0f5c39ca9..0f3734cca2474 100644
--- a/Source/WebCore/platform/Timer.cpp
+++ b/Source/WebCore/platform/Timer.cpp
@@ -263,7 +263,11 @@ struct SameSizeAsTimer {
WeakPtr<TimerAlignment> timerAlignment;
double times[2];
- void* pointers[3];
+ void* pointers[2];
+#if CPU(ADDRESS32)
+ uint8_t bitfields;
+#endif
+ void* pointer;
};
static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small");
@@ -0,0 +1,65 @@
From 1523e00a2a76e285262c8aa3721b5d99f3f2d612 Mon Sep 17 00:00:00 2001
From: Thomas Devoogdt <thomas.devoogdt@barco.com>
Date: Mon, 16 Jan 2023 17:03:30 +0100
Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
!ENABLE(WEBASSEMBLY_B3JIT)
https://bugs.webkit.org/show_bug.cgi?id=250681
Reviewed by NOBODY (OOPS!).
WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
Also, toB3Type and simdScalarType are not defined if it is included.
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798]
---
Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp
index eaaa3749..1d089783 100644
--- a/Source/JavaScriptCore/b3/B3Validate.cpp
+++ b/Source/JavaScriptCore/b3/B3Validate.cpp
@@ -47,6 +47,12 @@
#include <wtf/StringPrintStream.h>
#include <wtf/text/CString.h>
+#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
+#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
+#else
+#define simdScalarTypeToB3Type(type) B3::Type()
+#endif
+
namespace JSC { namespace B3 {
namespace {
@@ -454,7 +460,7 @@ public:
case VectorExtractLane:
VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
VALIDATE(value->numChildren() == 1, ("At ", *value));
- VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
+ VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
VALIDATE(value->child(0)->type() == V128, ("At ", *value));
break;
case VectorReplaceLane:
@@ -462,7 +468,7 @@ public:
VALIDATE(value->numChildren() == 2, ("At ", *value));
VALIDATE(value->type() == V128, ("At ", *value));
VALIDATE(value->child(0)->type() == V128, ("At ", *value));
- VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
+ VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
break;
case VectorDupElement:
VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
@@ -484,7 +490,7 @@ public:
VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
VALIDATE(value->numChildren() == 1, ("At ", *value));
VALIDATE(value->type() == V128, ("At ", *value));
- VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
+ VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
break;
case VectorPopcnt:
@@ -1,4 +1,7 @@
clang/arm: Do not use MUST_TAIL_CALL
From c50f2277509f2e6f087cda2eaf323eaf569aad8d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Sep 2023 12:42:06 -0700
Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL
This causes clang-17 to crash see [1]
this 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
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Source/WTF/wtf/Compiler.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
index 449ca502..daac29d7 100644
--- a/Source/WTF/wtf/Compiler.h
+++ b/Source/WTF/wtf/Compiler.h
@@ -284,7 +284,7 @@
@@ -321,7 +321,7 @@
/* MUST_TAIL_CALL */
#if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
@@ -1,4 +1,4 @@
From 3b25aac4240d8af8bed3b0113110b36980370a98 Mon Sep 17 00:00:00 2001
From 7336dfd02c20ec9b2a984e1e42d17201af55c8f5 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 27 Jul 2023 22:09:06 +0200
Subject: [PATCH] webkitgtk3: add recipe
@@ -11,7 +11,6 @@ then this could be submitted upstream, sadly my ruby isn't up to that.
Upstream-Status: Pending [could be reworked]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Source/JavaScriptCore/generator/GeneratedFile.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -12,11 +12,12 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842
SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
file://reproducibility.patch \
file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
file://no-musttail-arm.patch \
file://0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch \
file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \
file://2922af379dc70b4b1a63b01d67179eb431f03ac4.patch \
"
SRC_URI[sha256sum] = "b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749"
SRC_URI[sha256sum] = "c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87"
inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
@@ -47,14 +48,15 @@ DEPENDS += " \
"
PACKAGECONFIG_SOUP ?= "soup3"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
enchant \
libsecret \
${PACKAGECONFIG_SOUP} \
"
PACKAGECONFIG ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
enchant \
libsecret \
${PACKAGECONFIG_SOUP} \
"
PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native"
PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF"
@@ -81,12 +83,15 @@ PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECOR
PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace"
EXTRA_OECMAKE = " \
-DPORT=GTK \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
-DENABLE_MINIBROWSER=ON \
-DPORT=GTK \
-DUSE_GTK4=OFF \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
-DENABLE_MINIBROWSER=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
"
# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the
# debug symbols (4.3GB to 700M at time of writing)