|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
From 416fb93dae5009bb51da9f6720a95918a2c79e78 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
From: Oliver Wolff <oliver.wolff@qt.io>
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
Date: Fri, 17 Aug 2018 09:54:15 +0200
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
Subject: [PATCH] ANGLE: Fix build for ARM
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
__popcnt is not available when building for ARM. This patch uses the
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
approach that is also used in Microsoft's ANGLE fork.
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
Change-Id: I98bac36a3b36b0aa81f3b483d3d12cce9f6c5c87
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
---
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
src/3rdparty/angle/src/common/mathutil.h | 9 +++++++++
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
1 file changed, 9 insertions(+)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
diff --git a/src/3rdparty/angle/src/common/mathutil.h b/src/3rdparty/angle/src/common/mathutil.h
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
index ca6efc567f..372e432066 100644
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
--- a/src/3rdparty/angle/src/common/mathutil.h
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+++ b/src/3rdparty/angle/src/common/mathutil.h
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
@@ -884,6 +884,14 @@ inline uint32_t BitfieldReverse(uint32_t value)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
// Count the 1 bits.
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
#if defined(ANGLE_PLATFORM_WINDOWS)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+#if defined(_M_ARM)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+inline int BitCount(uint32_t bits)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+ bits = bits - ((bits >> 1) & 0x55555555);
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+ bits = (bits & 0x33333333) + ((bits >> 2) & 0x33333333);
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+ return (((bits + (bits >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+#else // _M_ARM
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
inline int BitCount(uint32_t bits)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
{
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
return static_cast<int>(__popcnt(bits));
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
@@ -893,6 +901,7 @@ inline int BitCount(uint64_t bits)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
{
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
return static_cast<int>(__popcnt64(bits));
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
}
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
+#endif // !_M_ARM
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
#endif // defined(ANGLE_IS_64_BIT_CPU)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
#endif // defined(ANGLE_PLATFORM_WINDOWS)
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
--
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
2.15.0.windows.1
|
|
![](https://seccdn.libravatar.org/avatar/106d912d86de4b8f17d27cbedb495adf484b5bcb5ce5dcf53d3578bf1e48161f?s=16&d=retro) |
026eb22 |
|