From: Peter Michael Green Date: Tue, 27 Oct 2020 20:24:05 +0000 (+0000) Subject: Disable neon in qcms (patch brought over from firefox-esr) X-Git-Tag: archive/raspbian/1%78.4.0-1_deb10u1+rpi1~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=173195d86c96d878c8e49ea60a0d269eb580220e;p=thunderbird.git Disable neon in qcms (patch brought over from firefox-esr) --- diff --git a/debian/changelog b/debian/changelog index 0f18d77ad6..21527d0902 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,7 @@ thunderbird (1:78.4.0-1~deb10u1+rpi1) buster-staging; urgency=medium [changes brought over from firefox-esr 78.3.0esr-2+rpi1 by Peter Michael Green] * Clean up pycache directories. + * Disable neon in qcms. -- Raspbian forward porter Mon, 26 Oct 2020 12:12:48 +0000 diff --git a/debian/patches/disable-neon-in-qcms.patch b/debian/patches/disable-neon-in-qcms.patch new file mode 100644 index 0000000000..1f9888dd33 --- /dev/null +++ b/debian/patches/disable-neon-in-qcms.patch @@ -0,0 +1,105 @@ +From: Peter Michael Green +Date: Wed, 7 Oct 2020 19:41:49 +0000 +X-Dgit-Generated: 78.3.0esr-2+rpi1 b1f30fd7ea0b729a7bbc7dc1e804e2a0cc0c573a +Subject: Disable neon in qcms. + + +--- + +--- firefox-esr-78.3.0esr.orig/gfx/qcms/qcmsint.h ++++ firefox-esr-78.3.0esr/gfx/qcms/qcmsint.h +@@ -344,18 +344,18 @@ void qcms_transform_data_bgra_out_lut_al + unsigned char *dest, + size_t length); + +-void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform, +- const unsigned char *src, +- unsigned char *dest, +- size_t length); +-void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform, +- const unsigned char *src, +- unsigned char *dest, +- size_t length); +-void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform, +- const unsigned char *src, +- unsigned char *dest, +- size_t length); ++//void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform, ++// const unsigned char *src, ++// unsigned char *dest, ++// size_t length); ++//void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform, ++// const unsigned char *src, ++// unsigned char *dest, ++// size_t length); ++//void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform, ++// const unsigned char *src, ++// unsigned char *dest, ++// size_t length); + + extern bool qcms_supports_iccv4; + extern bool qcms_supports_neon; +--- firefox-esr-78.3.0esr.orig/gfx/qcms/transform.cpp ++++ firefox-esr-78.3.0esr/gfx/qcms/transform.cpp +@@ -1240,7 +1240,7 @@ qcms_transform* qcms_transform_create( + #endif + } else + #endif +-#if defined(__arm__) || defined(__aarch64__) ++#if 0 // defined(__arm__) || defined(__aarch64__) + if (qcms_supports_neon) { + if (in_type == QCMS_DATA_RGB_8) { + transform->transform_fn = qcms_transform_data_rgb_out_lut_neon; +--- firefox-esr-78.3.0esr.orig/gfx/tests/gtest/TestQcms.cpp ++++ firefox-esr-78.3.0esr/gfx/tests/gtest/TestQcms.cpp +@@ -493,11 +493,11 @@ void GfxQcms_ProfilePairBase::TransformP + EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgb_out_lut_avx)); + } + #endif +-#ifdef MOZILLA_MAY_SUPPORT_NEON +- if (mozilla::supports_neon()) { +- EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgb_out_lut_neon)); +- } +-#endif ++//#ifdef MOZILLA_MAY_SUPPORT_NEON ++// if (mozilla::supports_neon()) { ++// EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgb_out_lut_neon)); ++// } ++//#endif + + // Verify RGBA transforms. + ASSERT_TRUE(SetBuffers(QCMS_DATA_RGBA_8)); +@@ -518,11 +518,11 @@ void GfxQcms_ProfilePairBase::TransformP + EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgba_out_lut_avx)); + } + #endif +-#ifdef MOZILLA_MAY_SUPPORT_NEON +- if (mozilla::supports_neon()) { +- EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgba_out_lut_neon)); +- } +-#endif ++//#ifdef MOZILLA_MAY_SUPPORT_NEON ++// if (mozilla::supports_neon()) { ++// EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgba_out_lut_neon)); ++// } ++//#endif + + // Verify BGRA transforms. + ASSERT_TRUE(SetBuffers(QCMS_DATA_BGRA_8)); +@@ -543,11 +543,11 @@ void GfxQcms_ProfilePairBase::TransformP + EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_bgra_out_lut_avx)); + } + #endif +-#ifdef MOZILLA_MAY_SUPPORT_NEON +- if (mozilla::supports_neon()) { +- EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_bgra_out_lut_neon)); +- } +-#endif ++//#ifdef MOZILLA_MAY_SUPPORT_NEON ++// if (mozilla::supports_neon()) { ++// EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_bgra_out_lut_neon)); ++// } ++//#endif + } + + class GfxQcms_sRGB_To_sRGB : public GfxQcms_ProfilePairBase { diff --git a/debian/patches/series b/debian/patches/series index ad08ef41a1..2197fb1b66 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -41,3 +41,4 @@ porting-s390x/Explicitly-instantiate-TIntermTraverser-traverse-TIntermN.patch raspbian-rust-triplet-hack.patch try-to-disable-neon.patch try-harder-to-disable-neon.patch +disable-neon-in-qcms.patch diff --git a/gfx/qcms/qcmsint.h b/gfx/qcms/qcmsint.h index 0daeda9614..71fc31bc03 100644 --- a/gfx/qcms/qcmsint.h +++ b/gfx/qcms/qcmsint.h @@ -344,18 +344,18 @@ void qcms_transform_data_bgra_out_lut_altivec(const qcms_transform *transform, unsigned char *dest, size_t length); -void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform, - const unsigned char *src, - unsigned char *dest, - size_t length); -void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform, - const unsigned char *src, - unsigned char *dest, - size_t length); -void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform, - const unsigned char *src, - unsigned char *dest, - size_t length); +//void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform, +// const unsigned char *src, +// unsigned char *dest, +// size_t length); +//void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform, +// const unsigned char *src, +// unsigned char *dest, +// size_t length); +//void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform, +// const unsigned char *src, +// unsigned char *dest, +// size_t length); extern bool qcms_supports_iccv4; extern bool qcms_supports_neon; diff --git a/gfx/qcms/transform.cpp b/gfx/qcms/transform.cpp index 21bc5a55ea..5c8ab62264 100644 --- a/gfx/qcms/transform.cpp +++ b/gfx/qcms/transform.cpp @@ -1240,7 +1240,7 @@ qcms_transform* qcms_transform_create( #endif } else #endif -#if defined(__arm__) || defined(__aarch64__) +#if 0 // defined(__arm__) || defined(__aarch64__) if (qcms_supports_neon) { if (in_type == QCMS_DATA_RGB_8) { transform->transform_fn = qcms_transform_data_rgb_out_lut_neon; diff --git a/gfx/tests/gtest/TestQcms.cpp b/gfx/tests/gtest/TestQcms.cpp index 83d361e17d..a5f2c6414d 100644 --- a/gfx/tests/gtest/TestQcms.cpp +++ b/gfx/tests/gtest/TestQcms.cpp @@ -493,11 +493,11 @@ void GfxQcms_ProfilePairBase::TransformPrecachePlatformExt() { EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgb_out_lut_avx)); } #endif -#ifdef MOZILLA_MAY_SUPPORT_NEON - if (mozilla::supports_neon()) { - EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgb_out_lut_neon)); - } -#endif +//#ifdef MOZILLA_MAY_SUPPORT_NEON +// if (mozilla::supports_neon()) { +// EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgb_out_lut_neon)); +// } +//#endif // Verify RGBA transforms. ASSERT_TRUE(SetBuffers(QCMS_DATA_RGBA_8)); @@ -518,11 +518,11 @@ void GfxQcms_ProfilePairBase::TransformPrecachePlatformExt() { EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgba_out_lut_avx)); } #endif -#ifdef MOZILLA_MAY_SUPPORT_NEON - if (mozilla::supports_neon()) { - EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgba_out_lut_neon)); - } -#endif +//#ifdef MOZILLA_MAY_SUPPORT_NEON +// if (mozilla::supports_neon()) { +// EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_rgba_out_lut_neon)); +// } +//#endif // Verify BGRA transforms. ASSERT_TRUE(SetBuffers(QCMS_DATA_BGRA_8)); @@ -543,11 +543,11 @@ void GfxQcms_ProfilePairBase::TransformPrecachePlatformExt() { EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_bgra_out_lut_avx)); } #endif -#ifdef MOZILLA_MAY_SUPPORT_NEON - if (mozilla::supports_neon()) { - EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_bgra_out_lut_neon)); - } -#endif +//#ifdef MOZILLA_MAY_SUPPORT_NEON +// if (mozilla::supports_neon()) { +// EXPECT_TRUE(ProduceVerifyOutput(qcms_transform_data_bgra_out_lut_neon)); +// } +//#endif } class GfxQcms_sRGB_To_sRGB : public GfxQcms_ProfilePairBase {