From bc875fb8853fae195d7c765c737c04d7753d5a37 Mon Sep 17 00:00:00 2001 From: Pablo Saavedra Date: Wed, 18 Sep 2024 09:43:21 +0200 Subject: [PATCH] wpewebkit,ci: Bump to version 2.46.1 * Create new recipe for version 2.46.1 * Delete recipes for version 2.42.5 Changes: * Skia is used instead of Cairo for 2D rendering, and GPU rendering is enabled by default. * Offscreen Canvas is now enabled by default. * Add support for system tracing using Sysprof. * Add new API to load settings from a config file. * Add a new setting to toggle 2D Canvas acceleration (enabled by default). * Undeprecate console messages API and make it available in the 2.0 API. * Use the Skia CPU renderer by default, which at the moment performs better in a number of embedded devices. The GPU renderer is still available and may be enabled by setting WEBKIT_SKIA_ENABLE_CPU_RENDERING=0 in the environment. * Add an ENABLE_WPE_PLATFORM build option to CMake. This is disabled by default because the WPEPlatform API is in development and provided as part of the 2.46.x releases as a preview feature. * Fix login QR code not shown in WhatsApp web. * Fix processes not spawning when process startup is customized using the wpe_process_provider API from libwpe. * Fix mouse simulation with WebDriver when using a classic WPE backend through libwpe. * Disable DMABuf video sink by default to prevent file descriptor leaks. * Fix building the MiniBrowser. * Fix the build with libsysprof-capture version 44 and older. * Fix the build with GCC 13. * Fix several crashes and rendering issues. Release Notes: * https://wpewebkit.org/release/wpewebkit-2.46.0.html * https://wpewebkit.org/release/wpewebkit-2.46.1.html Also CI updates in the build tests jobs definitions: * Update test jobs definitions to primary build 2.46.X * Remove preset for 2.42 and add a new one for 2.42 --- .github/workflows/test-build.yml | 14 +- .../presets/{wpe-2_42.conf => wpe-2_46.conf} | 4 +- recipes-browser/wpewebkit/wpewebkit.inc | 9 +- ...ails-to-build-NEON-fast-path-se_2.42.patch | 297 ------------------ ...ter.cpp-339-21-error-t6-was-not-decl.patch | 37 --- recipes-browser/wpewebkit/wpewebkit_2.42.5.bb | 12 - recipes-browser/wpewebkit/wpewebkit_2.44.4.bb | 15 +- recipes-browser/wpewebkit/wpewebkit_2.46.1.bb | 17 + 8 files changed, 32 insertions(+), 373 deletions(-) rename conf/templates/template/presets/{wpe-2_42.conf => wpe-2_46.conf} (75%) delete mode 100644 recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch delete mode 100644 recipes-browser/wpewebkit/wpewebkit/0003-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch delete mode 100644 recipes-browser/wpewebkit/wpewebkit_2.42.5.bb create mode 100644 recipes-browser/wpewebkit/wpewebkit_2.46.1.bb diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 722a25d3..2802e0e4 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -11,14 +11,14 @@ jobs: with: repo_release: 'kirkstone' - kirkstone-raspberrypi3-mesa-weston-wpe-2-44: + kirkstone-raspberrypi3-mesa-weston-wpe-2-46: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-2-44 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v3.wpe-2_44' + bitbake_source: 'raspberrypi3-mesa-wpe-2-46 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v3.wpe-2_46' repo_release: 'kirkstone' needs: kirkstone-repo @@ -31,12 +31,12 @@ jobs: with: repo_release: 'scarthgap' - scarthgap-matrix-wpe-2-44: + scarthgap-matrix-wpe-2-46: strategy: fail-fast: false matrix: machine: ['raspberrypi3-mesa', 'raspberrypi4-64'] - wpe_vers: ['2_44'] + wpe_vers: ['2_46'] yocto_rel: ['scarthgap'] continue-on-error: true runs-on: self-hosted @@ -56,19 +56,19 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-musl raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_44' + bitbake_source: 'raspberrypi3-mesa-wpe-musl raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_46' bitbake_prefix: 'TCLIBC=musl' repo_release: 'scarthgap' needs: scarthgap-repo - scarthgap-raspberrypi3-mesa-weston-wpe-2-42: + scarthgap-raspberrypi3-mesa-weston-wpe-2-44: runs-on: self-hosted if: "!contains(github.event.head_commit.message, 'ci skip')" steps: - uses: actions/checkout@v3 - uses: ./.github/actions/bitbake-build with: - bitbake_source: 'raspberrypi3-mesa-wpe-2-42 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_42' + bitbake_source: 'raspberrypi3-mesa-wpe-2-44 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_44' repo_release: 'scarthgap' needs: scarthgap-repo diff --git a/conf/templates/template/presets/wpe-2_42.conf b/conf/templates/template/presets/wpe-2_46.conf similarity index 75% rename from conf/templates/template/presets/wpe-2_42.conf rename to conf/templates/template/presets/wpe-2_46.conf index 132a5ed6..4fefd6e4 100644 --- a/conf/templates/template/presets/wpe-2_42.conf +++ b/conf/templates/template/presets/wpe-2_46.conf @@ -1,7 +1,7 @@ PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo" PREFERRED_PROVIDER_virtual/libwpe = "libwpe" PREFERRED_VERSION_cog = "0.18.%" -PREFERRED_VERSION_libwpe = "1.14.%" +PREFERRED_VERSION_libwpe = "1.16.%" PREFERRED_VERSION_wpebackend-fdo = "1.14.%" PREFERRED_VERSION_wpebackend-rdk = "1.20200213" -PREFERRED_VERSION_wpewebkit = "2.42.%" +PREFERRED_VERSION_wpewebkit = "2.46.%" diff --git a/recipes-browser/wpewebkit/wpewebkit.inc b/recipes-browser/wpewebkit/wpewebkit.inc index d94e6e50..c8d764b8 100644 --- a/recipes-browser/wpewebkit/wpewebkit.inc +++ b/recipes-browser/wpewebkit/wpewebkit.inc @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf DEPENDS:append = " \ libsoup \ - bison-native gperf-native harfbuzz-native libxml2-native ccache-native ninja-native ruby-native cairo \ - fontconfig freetype glib-2.0 harfbuzz icu jpeg pcre sqlite3 zlib libpng \ + bison-native gperf-native harfbuzz-native libxml2-native ccache-native ninja-native ruby-native \ + fontconfig freetype glib-2.0 harfbuzz icu jpeg pcre sqlite3 zlib libpng libtasn1 \ libwebp libxml2 libxslt virtual/egl virtual/libgles2 libepoxy libgcrypt \ unifdef-native \ libwpe virtual/wpebackend \ @@ -61,13 +61,13 @@ export WK_USE_CCACHE="NO" PACKAGECONFIG ??= "jit dfg-jit mediasource mediastream video webaudio webcrypto woff2 gst_gl \ remote-inspector openjpeg unified-builds service-worker \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'journald', '' ,d)} \ - avif gbm speech-synthesis jpegxl accessibility lbse \ + avif gbm speech-synthesis jpegxl accessibility lbse libbacktrace \ " PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," PACKAGECONFIG[release-with-debug-info] = "-DCMAKE_BUILD_TYPE=RelWithDebInfo,-DCMAKE_BUILD_TYPE=Release,," # WPE features -PACKAGECONFIG[accessibility] = "-DENABLE_ACCESSIBILITY=ON,-DENABLE_ACCESSIBILITY=OFF,atk at-spi2-atk" +PACKAGECONFIG[accessibility] = "-DUSE_ATK=ON,-DUSE_ATK=OFF,atk at-spi2-atk" PACKAGECONFIG[avif] = "-DUSE_AVIF=ON,-DUSE_AVIF=OFF,libavif" 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 libseccomp" PACKAGECONFIG[developer-mode] = "-DDEVELOPER_MODE=ON,-DDEVELOPER_MODE=OFF,wayland-native wayland-protocols wpebackend-fdo" @@ -87,6 +87,7 @@ PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl" PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF," PACKAGECONFIG[lbse] = "-DENABLE_LAYER_BASED_SVG_ENGINE=ON,-DENABLE_LAYER_BASED_SVG_ENGINE=OFF, " PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF," +PACKAGECONFIG[libbacktrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace" PACKAGECONFIG[minibrowser] = "-DENABLE_MINIBROWSER=ON,-DENABLE_MINIBROWSER=OFF,wayland-native wayland-protocols wpebackend-fdo" PACKAGECONFIG[mediasource] = "-DENABLE_MEDIA_SOURCE=ON,-DENABLE_MEDIA_SOURCE=OFF,gstreamer1.0 gstreamer1.0-plugins-good" PACKAGECONFIG[mediastream] = "-DENABLE_MEDIA_STREAM=ON -DUSE_GSTREAMER_TRANSCODER=OFF,-DENABLE_MEDIA_STREAM=OFF,gstreamer1.0 gstreamer1.0-plugins-bad" diff --git a/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch b/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch deleted file mode 100644 index 00528cb3..00000000 --- a/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch +++ /dev/null @@ -1,297 +0,0 @@ -From 5993201254571dfe9d660c26e85ac744bbce67d8 Mon Sep 17 00:00:00 2001 -From: Pablo Saavedra -Date: Mon, 26 Sep 2022 06:34:53 +0000 -Subject: [PATCH] [ARM][NEON] FELightningNEON.cpp fails to build, NEON fast - path seems unused - -Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=241182] - ---- - Source/WebCore/Sources.txt | 1 + - .../cpu/arm/filters/FELightingNEON.cpp | 4 +- - .../graphics/cpu/arm/filters/FELightingNEON.h | 54 +++++++++---------- - .../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 ++++++ - 8 files changed, 58 insertions(+), 36 deletions(-) - -diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt -index 9ca28a7b..ed2c7f9f 100644 ---- a/Source/WebCore/Sources.txt -+++ b/Source/WebCore/Sources.txt -@@ -2303,6 +2303,7 @@ platform/graphics/controls/MeterPart.cpp - platform/graphics/controls/ProgressBarPart.cpp - platform/graphics/controls/SliderTrackPart.cpp - platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp -+platform/graphics/cpu/arm/filters/FELightingNEON.cpp - platform/graphics/displaylists/DisplayList.cpp - platform/graphics/displaylists/DisplayListDrawingContext.cpp - platform/graphics/displaylists/DisplayListItems.cpp -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..c6d17f57 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 - #include - - 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 = { -- data.pixels->data(), -+ WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments; -+ WebCore::FELightingPaintingDataForNeon neonData = { -+ data.pixels->bytes(), - 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>().resolved(); -+ auto color = data.lightingColor.toColorTypeLossy>().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(m_lightSource.get()); -+ const auto& pointLightSource = *static_cast(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(m_lightSource.get()); -+ const auto& spotLightSource = *static_cast(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 parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber); -+ ParallelJobs 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 - #include - -+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 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 - -+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 - -+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 { - 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" diff --git a/recipes-browser/wpewebkit/wpewebkit/0003-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch b/recipes-browser/wpewebkit/wpewebkit/0003-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch deleted file mode 100644 index 0b27ae61..00000000 --- a/recipes-browser/wpewebkit/wpewebkit/0003-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 17e371d5b6fc86a04504762558cb6b0dec50bcba Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Mon, 5 Feb 2024 11:00:49 -0600 -Subject: [PATCH] =?UTF-8?q?LowLevelInterpreter.cpp:339:21:=20error:=20?= - =?UTF-8?q?=E2=80=98t6=E2=80=99=20was=20not=20declared=20in=20this=20scope?= - =?UTF-8?q?=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid=3D268739?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Unreviewed build fix. Seems a backport went badly, and we didn't notice -because the code is architecture-specific. - -* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: -(JSC::CLoop::execute): ---- - Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 -- - 1 file changed, 2 deletions(-) - -Upstream-Status: Backport [https://bugs.webkit.org/show_bug.cgi?id=2268739] - -diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp -index 5064ead6..9a2e2653 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, - UNUSED_VARIABLE(t2); - UNUSED_VARIABLE(t3); - UNUSED_VARIABLE(t5); -- UNUSED_VARIABLE(t6); -- UNUSED_VARIABLE(t7); - - struct StackPointerScope { - StackPointerScope(CLoopStack& stack) --- -2.30.2 - diff --git a/recipes-browser/wpewebkit/wpewebkit_2.42.5.bb b/recipes-browser/wpewebkit/wpewebkit_2.42.5.bb deleted file mode 100644 index 62a7ffcf..00000000 --- a/recipes-browser/wpewebkit/wpewebkit_2.42.5.bb +++ /dev/null @@ -1,12 +0,0 @@ -require wpewebkit.inc - -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball \ - file://0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se_2.42.patch \ - file://0002-Activate-HAVE_MISSING_STD_FILESYSTEM_PATH_CONSTRUCTO.patch \ - file://0003-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch \ - " - -SRC_URI[tarball.sha256sum] = "4dbab6c5e6dc0c65a3d7dffc1c2390be5f9abd423faf983fe3a55fe081df0532" - diff --git a/recipes-browser/wpewebkit/wpewebkit_2.44.4.bb b/recipes-browser/wpewebkit/wpewebkit_2.44.4.bb index 27447273..d7a720b3 100644 --- a/recipes-browser/wpewebkit/wpewebkit_2.44.4.bb +++ b/recipes-browser/wpewebkit/wpewebkit_2.44.4.bb @@ -1,5 +1,4 @@ require wpewebkit.inc -require conf/include/devupstream.inc FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" @@ -9,17 +8,5 @@ SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball \ SRC_URI[tarball.sha256sum] = "cd6042c63a6f883cc1586e5cea94e846aaaee6a864c14988e8af4ef4f362ba3b" -SRC_URI:class-devupstream = "git://github.com/WebKit/WebKit.git;protocol=https;branch=main" +DEPENDS += " cairo" -# Since 2.44+. The ENABLE_ACCESSIBILITY build option has been removed. -# A new USE_ATK option may be used to disable accessibility. -PACKAGECONFIG[accessibility] = "-DUSE_ATK=ON,-DUSE_ATK=OFF,atk at-spi2-atk" - -# libbacktrace. Since 2.44+ -PACKAGECONFIG[libbacktrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace" - -SRCREV:class-devupstream = "fd73f137dcc66fd5c7146c3d9578346e77ae6d0a" - -PACKAGECONFIG:append = " libbacktrace" - -DEPENDS += " libinput libtasn1" diff --git a/recipes-browser/wpewebkit/wpewebkit_2.46.1.bb b/recipes-browser/wpewebkit/wpewebkit_2.46.1.bb new file mode 100644 index 00000000..180e1949 --- /dev/null +++ b/recipes-browser/wpewebkit/wpewebkit_2.46.1.bb @@ -0,0 +1,17 @@ +require wpewebkit.inc +require conf/include/devupstream.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz;name=tarball" + +SRC_URI[tarball.sha256sum] = "1e0aaf870f36001c42b1ce5a2027b4101bed878746e437cc6d6fed0693afe9ad" + +SRC_URI:class-devupstream = "git://github.com/WebKit/WebKit.git;protocol=https;branch=main" + +SRCREV:class-devupstream = "8db1e051cf4a6d7877dd51b81b478e8367d3f052" + +# Experimental new WPE platform API +PACKAGECONFIG[experimental-wpe-platform] = "-DENABLE_WPE_PLATFORM=ON,-DENABLE_WPE_PLATFORM=OFF,libinput" + +EXTRA_OECMAKE += "-DUSE_SYSTEM_SYSPROF_CAPTURE=OFF"