diff options
author | Michael BrĂ¼ning <michael.bruning@qt.io> | 2021-06-01 23:28:14 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-10-04 10:20:29 +0200 |
commit | 447c56bfa8bdbb75a89551bfb537d8a80ae10094 (patch) | |
tree | 33f4afe48f20158cdf0a81c79436e441c612cebb /chromium/third_party | |
parent | f13bcdb98afe23bffe358e436672acb70b2652c5 (diff) | |
download | qtwebengine-chromium-447c56bfa8bdbb75a89551bfb537d8a80ae10094.tar.gz |
Fix arm64 Skia build for macOS
The cast that we use to compile on aarch64 without fp16 caused a compilation
error for macOS arm64. Re-establish the upstream version for this case.
Change-Id: Ic4c4c20f9502bf5ae716956efaa87a15026f8a29
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party')
-rw-r--r-- | chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h index 639a288cd8d..112a4442216 100644 --- a/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h +++ b/chromium/third_party/skia/src/opts/SkRasterPipeline_opts.h @@ -978,10 +978,13 @@ SI F approx_powf(F x, F y) { 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); @@ -1001,11 +1004,14 @@ SI F from_half(U16 h) { 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); |