summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2020-08-01 15:45:13 +0000
committerassiduous <assiduous@diligentgraphics.com>2020-08-01 15:45:13 +0000
commit5f40fc042be6499caf29f4da629fe7cb5ea1cac3 (patch)
tree45e422251b4d371bef93c3d228d04e229d210f4e
parentAdded DILIGENT_NO_HLSL CMake option to disable HLSL support in Vulkan and Ope... (diff)
downloadDiligentCore-5f40fc042be6499caf29f4da629fe7cb5ea1cac3.tar.gz
DiligentCore-5f40fc042be6499caf29f4da629fe7cb5ea1cac3.zip
Windows platform: fixed ARM compilation issue
-rw-r--r--Platforms/Win32/interface/Win32PlatformMisc.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Platforms/Win32/interface/Win32PlatformMisc.hpp b/Platforms/Win32/interface/Win32PlatformMisc.hpp
index c3e27865..f972e360 100644
--- a/Platforms/Win32/interface/Win32PlatformMisc.hpp
+++ b/Platforms/Win32/interface/Win32PlatformMisc.hpp
@@ -108,14 +108,20 @@ struct WindowsMisc : public BasicPlatformMisc
inline static Diligent::Uint32 CountOneBits(Diligent::Uint32 Val)
{
+#if _M_ARM
+ auto Bits = _CountOneBits(Val);
+#else
auto Bits = __popcnt(Val);
+#endif
VERIFY_EXPR(Bits == BasicPlatformMisc::CountOneBits(Val));
return Bits;
}
inline static Diligent::Uint32 CountOneBits(Diligent::Uint64 Val)
{
-#if _WIN64
+#if _M_ARM
+ auto Bits = _CountOneBits64(Val);
+#elif _WIN64
auto Bits = __popcnt64(Val);
#else
auto Bits =