mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 15:41:38 +08:00
5bbba1c92b
* [nvtt]Upgrade version to 2.1.1 and fix build error on windows. * [nvtt]Fix build error on OSX. * [nvtt]Merge two patches. * [nvtt]Re-trigger CI system. * [nvtt]Fix build error on OSX.
40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
diff --git a/extern/butteraugli/butteraugli.h b/extern/butteraugli/butteraugli.h
|
|
index 31824b8..c116a73 100644
|
|
--- a/extern/butteraugli/butteraugli.h
|
|
+++ b/extern/butteraugli/butteraugli.h
|
|
@@ -134,7 +134,14 @@ bool ButteraugliAdaptiveQuantization(size_t xsize, size_t ysize,
|
|
// The conventional syntax uint8_t* const RESTRICT is more confusing - it is
|
|
// not immediately obvious that the pointee is non-const.
|
|
template <typename T>
|
|
+#ifdef _MSC_VER
|
|
+// Due to MSVC bug:
|
|
+// https://developercommunity.visualstudio.com/content/problem/32196/msvc-cant-compile-a-templated-using-without-instan.html
|
|
+// , we cannot use __restrict now. Loss some performance instead of can't use this code.
|
|
+using ConstRestrict = T const;
|
|
+#else
|
|
using ConstRestrict = T const BUTTERAUGLI_RESTRICT;
|
|
+#endif
|
|
|
|
// Functions that depend on the cache line size.
|
|
class CacheAligned {
|
|
diff --git a/src/nvthread/Atomic.h b/src/nvthread/Atomic.h
|
|
index 212b9cb..b8eaedb 100644
|
|
--- a/src/nvthread/Atomic.h
|
|
+++ b/src/nvthread/Atomic.h
|
|
@@ -183,7 +183,6 @@ namespace nv {
|
|
|
|
|
|
#elif NV_CC_CLANG && (NV_OS_IOS || NV_OS_DARWIN)
|
|
- NV_COMPILER_CHECK(sizeof(uint32) == sizeof(long));
|
|
|
|
//ACS: Use Apple's atomics instead? I don't know if these are better in any way; there are non-barrier versions too. There's no OSAtomicSwap32 tho'
|
|
/*
|
|
@@ -254,7 +253,6 @@ namespace nv {
|
|
|
|
|
|
#elif NV_CC_CLANG && POSH_CPU_STRONGARM
|
|
- NV_COMPILER_CHECK(sizeof(uint32) == sizeof(long));
|
|
|
|
inline uint32 atomicIncrement(uint32 * value)
|
|
{
|