diff options
author | Liang Qi <liang.qi@qt.io> | 2018-10-25 07:21:05 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-10-25 07:21:53 +0200 |
commit | e28e91ae99b8c3859899e04cc9370534c7c7b86d (patch) | |
tree | cca81b1e745be4f25aab78e8e917c2324594e539 /src/angle/patches/0002-ANGLE-Fix-build-for-ARM.patch | |
parent | 5ea233ca6782eb27adf596515cb66ef3dadc1d5e (diff) | |
parent | ebfad73b4e44fe6db8059200da105b4b87888718 (diff) |
Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
src/corelib/animation/qpropertyanimation.cpp
src/gui/image/qicon.cpp
tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
Change-Id: I3698172b7b44ebb487cb38f50fd2c4a9f8a35b21
Diffstat (limited to 'src/angle/patches/0002-ANGLE-Fix-build-for-ARM.patch')
-rw-r--r-- | src/angle/patches/0002-ANGLE-Fix-build-for-ARM.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/angle/patches/0002-ANGLE-Fix-build-for-ARM.patch b/src/angle/patches/0002-ANGLE-Fix-build-for-ARM.patch new file mode 100644 index 0000000000..04517a116e --- /dev/null +++ b/src/angle/patches/0002-ANGLE-Fix-build-for-ARM.patch @@ -0,0 +1,43 @@ +From 416fb93dae5009bb51da9f6720a95918a2c79e78 Mon Sep 17 00:00:00 2001 +From: Oliver Wolff <oliver.wolff@qt.io> +Date: Fri, 17 Aug 2018 09:54:15 +0200 +Subject: [PATCH] ANGLE: Fix build for ARM + +__popcnt is not available when building for ARM. This patch uses the +approach that is also used in Microsoft's ANGLE fork. + +Change-Id: I98bac36a3b36b0aa81f3b483d3d12cce9f6c5c87 +--- + src/3rdparty/angle/src/common/mathutil.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/3rdparty/angle/src/common/mathutil.h b/src/3rdparty/angle/src/common/mathutil.h +index ca6efc567f..372e432066 100644 +--- a/src/3rdparty/angle/src/common/mathutil.h ++++ b/src/3rdparty/angle/src/common/mathutil.h +@@ -884,6 +884,14 @@ inline uint32_t BitfieldReverse(uint32_t value) + + // Count the 1 bits. + #if defined(ANGLE_PLATFORM_WINDOWS) ++#if defined(_M_ARM) ++inline int BitCount(uint32_t bits) ++{ ++ bits = bits - ((bits >> 1) & 0x55555555); ++ bits = (bits & 0x33333333) + ((bits >> 2) & 0x33333333); ++ return (((bits + (bits >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; ++} ++#else // _M_ARM + inline int BitCount(uint32_t bits) + { + return static_cast<int>(__popcnt(bits)); +@@ -893,6 +901,7 @@ inline int BitCount(uint64_t bits) + { + return static_cast<int>(__popcnt64(bits)); + } ++#endif // !_M_ARM + #endif // defined(ANGLE_IS_64_BIT_CPU) + #endif // defined(ANGLE_PLATFORM_WINDOWS) + +-- +2.15.0.windows.1 + |