git: 7ad0eea3f54d - main - www/qt6-webengine: unbreak build on aarch64 (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Thu, 09 Feb 2023 04:35:30 UTC
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7ad0eea3f54d491dde005f71edad4b117d457a4c

commit 7ad0eea3f54d491dde005f71edad4b117d457a4c
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2023-02-09 04:30:20 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2023-02-09 04:35:12 +0000

    www/qt6-webengine: unbreak build on aarch64 (+)
    
    Backport Skia m103 changes to eliminate build error on arm64/aarch64:
    
    In file included from ../../../../../qtwebengine-everywhere-src-6.4.2/src/3rdparty/chromium/third_party/skia/src/core/SkOpts.cpp:46:
    ../../../../../qtwebengine-everywhere-src-6.4.2/src/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h:1007:5: warning: 'memcpy' will always overflow; destination buffer has size 2, but
     size argument is 8 [-Wfortify-source]
        memcpy(&fp16, &h, sizeof(U16));
        ^
    ../../../../../qtwebengine-everywhere-src-6.4.2/src/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h:1032:19: error: functional-style cast from 'neon::F' (aka 'V<float>') to '__fp16'
    is not allowed
        __fp16 fp16 = __fp16(f);
                      ^~~~~~~~
    1 warning and 1 error generated.
    
    Sponsored by:   Serenity Cybersecurity, LLC
---
 ...d__party_skia_src_opts_SkRasterPipeline__opts.h | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_opts_SkRasterPipeline__opts.h b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_opts_SkRasterPipeline__opts.h
new file mode 100644
index 000000000000..5ab894d0e355
--- /dev/null
+++ b/www/qt6-webengine/files/patch-src_3rdparty_chromium_third__party_skia_src_opts_SkRasterPipeline__opts.h
@@ -0,0 +1,33 @@
+--- src/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h.orig	2022-12-12 18:53:13 UTC
++++ src/3rdparty/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h
+@@ -1000,13 +1000,8 @@ SI F from_half(U16 h) {
+ SI F from_half(U16 h) {
+ #if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
+     && !defined(SK_BUILD_FOR_GOOGLE3)  // Temporary workaround for some Google3 builds.
+-#if defined(SK_BUILD_FOR_MAC)
+     return vcvt_f32_f16(h);
+-#else
+-    __fp16 fp16;
+-    memcpy(&fp16, &h, sizeof(U16));
+-    return float(fp16);
+-#endif
++
+ #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_SKX)
+     return _mm256_cvtph_ps(h);
+ 
+@@ -1026,14 +1021,8 @@ SI U16 to_half(F f) {
+ SI U16 to_half(F f) {
+ #if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
+     && !defined(SK_BUILD_FOR_GOOGLE3)  // Temporary workaround for some Google3 builds.
+-#if defined(SK_BUILD_FOR_MAC)
+     return vcvt_f16_f32(f);
+-#else
+-    __fp16 fp16 = __fp16(f);
+-    U16 u16;
+-    memcpy(&u16, &fp16, sizeof(U16));
+-    return u16;
+-#endif
++
+ #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_SKX)
+     return _mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION);
+