From 470aac3acf91ff22eb9374aa9998f33b5f4213d8 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Mon, 11 Apr 2016 11:52:33 -0700 Subject: [PATCH 1/2] Rename CPUID to CPUIdent to fix XCode 7.2 builds --- libraries/shared/src/{CPUID.cpp => CPUIdent.cpp} | 6 +++--- libraries/shared/src/{CPUID.h => CPUIdent.h} | 8 ++++---- libraries/shared/src/SharedUtil.cpp | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) rename libraries/shared/src/{CPUID.cpp => CPUIdent.cpp} (98%) rename libraries/shared/src/{CPUID.h => CPUIdent.h} (98%) diff --git a/libraries/shared/src/CPUID.cpp b/libraries/shared/src/CPUIdent.cpp similarity index 98% rename from libraries/shared/src/CPUID.cpp rename to libraries/shared/src/CPUIdent.cpp index e0eae248f3..2a367513b5 100644 --- a/libraries/shared/src/CPUID.cpp +++ b/libraries/shared/src/CPUIdent.cpp @@ -1,5 +1,5 @@ // -// CPUID.cpp +// CPUIdent.cpp // // Created by Ryan Huffman on 3/25/16. // Copyright 2016 High Fidelity, Inc. @@ -8,7 +8,7 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -#include "CPUID.h" +#include "CPUIdent.h" #ifdef Q_OS_WIN @@ -72,4 +72,4 @@ std::vector CPUID::getAllFeatures() { return features; }; -#endif \ No newline at end of file +#endif diff --git a/libraries/shared/src/CPUID.h b/libraries/shared/src/CPUIdent.h similarity index 98% rename from libraries/shared/src/CPUID.h rename to libraries/shared/src/CPUIdent.h index a8b8921d19..b8d39ac7b9 100644 --- a/libraries/shared/src/CPUID.h +++ b/libraries/shared/src/CPUIdent.h @@ -1,5 +1,5 @@ // -// CPUID.h +// CPUIdent.h // // Adapted from Microsoft's example for using the cpuid intrinsic, // found at https://msdn.microsoft.com/en-us/library/hskdteyh.aspx @@ -15,8 +15,8 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -#ifndef hifi_CPUID_h -#define hifi_CPUID_h +#ifndef hifi_CPUIdent_h +#define hifi_CPUIdent_h #include @@ -209,4 +209,4 @@ private: #endif -#endif // hifi_CPUID_h +#endif // hifi_CPUIdent_h diff --git a/libraries/shared/src/SharedUtil.cpp b/libraries/shared/src/SharedUtil.cpp index 30d4726bcc..bdc5d4c60d 100644 --- a/libraries/shared/src/SharedUtil.cpp +++ b/libraries/shared/src/SharedUtil.cpp @@ -24,7 +24,7 @@ #endif #ifdef Q_OS_WIN -#include "CPUID.h" +#include "CPUIdent.h" #endif @@ -758,10 +758,10 @@ void printSystemInformation() { qDebug() << "CPUID"; - qDebug() << "\tCPU Vendor: " << CPUID::Vendor().c_str(); - qDebug() << "\tCPU Brand: " << CPUID::Brand().c_str(); + qDebug() << "\tCPU Vendor: " << CPUIdent::Vendor().c_str(); + qDebug() << "\tCPU Brand: " << CPUIdent::Brand().c_str(); - for (auto& feature : CPUID::getAllFeatures()) { + for (auto& feature : CPUIdent::getAllFeatures()) { qDebug().nospace().noquote() << "\t[" << (feature.supported ? "x" : " ") << "] " << feature.name.c_str(); } #endif @@ -777,4 +777,4 @@ void printSystemInformation() { qDebug().noquote().nospace() << "\t" << (envVariables.contains(env) ? " = " + envVariables.value(env) : " NOT FOUND"); } -} \ No newline at end of file +} From 32ccc1d68e6c1e1d45bb4e21cf2330aedff84884 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Tue, 12 Apr 2016 10:53:04 -0700 Subject: [PATCH 2/2] Windows build fixes --- libraries/shared/src/CPUIdent.cpp | 108 +++++++++++++++--------------- libraries/shared/src/CPUIdent.h | 10 +-- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/libraries/shared/src/CPUIdent.cpp b/libraries/shared/src/CPUIdent.cpp index 2a367513b5..718b01b196 100644 --- a/libraries/shared/src/CPUIdent.cpp +++ b/libraries/shared/src/CPUIdent.cpp @@ -12,62 +12,62 @@ #ifdef Q_OS_WIN -const CPUID::CPUID_Internal CPUID::CPU_Rep; +const CPUIdent::CPUIdent_Internal CPUIdent::CPU_Rep; -std::vector CPUID::getAllFeatures() { - std::vector features; +std::vector CPUIdent::getAllFeatures() { + std::vector features; - features.push_back({ "3DNOW", CPUID::_3DNOW() }); - features.push_back({ "3DNOWEXT", CPUID::_3DNOWEXT() }); - features.push_back({ "ABM", CPUID::ABM() }); - features.push_back({ "ADX", CPUID::ADX() }); - features.push_back({ "AES", CPUID::AES() }); - features.push_back({ "AVX", CPUID::AVX() }); - features.push_back({ "AVX2", CPUID::AVX2() }); - features.push_back({ "AVX512CD", CPUID::AVX512CD() }); - features.push_back({ "AVX512ER", CPUID::AVX512ER() }); - features.push_back({ "AVX512F", CPUID::AVX512F() }); - features.push_back({ "AVX512PF", CPUID::AVX512PF() }); - features.push_back({ "BMI1", CPUID::BMI1() }); - features.push_back({ "BMI2", CPUID::BMI2() }); - features.push_back({ "CLFSH", CPUID::CLFSH() }); - features.push_back({ "CMPXCHG16B", CPUID::CMPXCHG16B() }); - features.push_back({ "CX8", CPUID::CX8() }); - features.push_back({ "ERMS", CPUID::ERMS() }); - features.push_back({ "F16C", CPUID::F16C() }); - features.push_back({ "FMA", CPUID::FMA() }); - features.push_back({ "FSGSBASE", CPUID::FSGSBASE() }); - features.push_back({ "FXSR", CPUID::FXSR() }); - features.push_back({ "HLE", CPUID::HLE() }); - features.push_back({ "INVPCID", CPUID::INVPCID() }); - features.push_back({ "LAHF", CPUID::LAHF() }); - features.push_back({ "LZCNT", CPUID::LZCNT() }); - features.push_back({ "MMX", CPUID::MMX() }); - features.push_back({ "MMXEXT", CPUID::MMXEXT() }); - features.push_back({ "MONITOR", CPUID::MONITOR() }); - features.push_back({ "MOVBE", CPUID::MOVBE() }); - features.push_back({ "MSR", CPUID::MSR() }); - features.push_back({ "OSXSAVE", CPUID::OSXSAVE() }); - features.push_back({ "PCLMULQDQ", CPUID::PCLMULQDQ() }); - features.push_back({ "POPCNT", CPUID::POPCNT() }); - features.push_back({ "PREFETCHWT1", CPUID::PREFETCHWT1() }); - features.push_back({ "RDRAND", CPUID::RDRAND() }); - features.push_back({ "RDSEED", CPUID::RDSEED() }); - features.push_back({ "RDTSCP", CPUID::RDTSCP() }); - features.push_back({ "RTM", CPUID::RTM() }); - features.push_back({ "SEP", CPUID::SEP() }); - features.push_back({ "SHA", CPUID::SHA() }); - features.push_back({ "SSE", CPUID::SSE() }); - features.push_back({ "SSE2", CPUID::SSE2() }); - features.push_back({ "SSE3", CPUID::SSE3() }); - features.push_back({ "SSE4.1", CPUID::SSE41() }); - features.push_back({ "SSE4.2", CPUID::SSE42() }); - features.push_back({ "SSE4a", CPUID::SSE4a() }); - features.push_back({ "SSSE3", CPUID::SSSE3() }); - features.push_back({ "SYSCALL", CPUID::SYSCALL() }); - features.push_back({ "TBM", CPUID::TBM() }); - features.push_back({ "XOP", CPUID::XOP() }); - features.push_back({ "XSAVE", CPUID::XSAVE() }); + features.push_back({ "3DNOW", CPUIdent::_3DNOW() }); + features.push_back({ "3DNOWEXT", CPUIdent::_3DNOWEXT() }); + features.push_back({ "ABM", CPUIdent::ABM() }); + features.push_back({ "ADX", CPUIdent::ADX() }); + features.push_back({ "AES", CPUIdent::AES() }); + features.push_back({ "AVX", CPUIdent::AVX() }); + features.push_back({ "AVX2", CPUIdent::AVX2() }); + features.push_back({ "AVX512CD", CPUIdent::AVX512CD() }); + features.push_back({ "AVX512ER", CPUIdent::AVX512ER() }); + features.push_back({ "AVX512F", CPUIdent::AVX512F() }); + features.push_back({ "AVX512PF", CPUIdent::AVX512PF() }); + features.push_back({ "BMI1", CPUIdent::BMI1() }); + features.push_back({ "BMI2", CPUIdent::BMI2() }); + features.push_back({ "CLFSH", CPUIdent::CLFSH() }); + features.push_back({ "CMPXCHG16B", CPUIdent::CMPXCHG16B() }); + features.push_back({ "CX8", CPUIdent::CX8() }); + features.push_back({ "ERMS", CPUIdent::ERMS() }); + features.push_back({ "F16C", CPUIdent::F16C() }); + features.push_back({ "FMA", CPUIdent::FMA() }); + features.push_back({ "FSGSBASE", CPUIdent::FSGSBASE() }); + features.push_back({ "FXSR", CPUIdent::FXSR() }); + features.push_back({ "HLE", CPUIdent::HLE() }); + features.push_back({ "INVPCID", CPUIdent::INVPCID() }); + features.push_back({ "LAHF", CPUIdent::LAHF() }); + features.push_back({ "LZCNT", CPUIdent::LZCNT() }); + features.push_back({ "MMX", CPUIdent::MMX() }); + features.push_back({ "MMXEXT", CPUIdent::MMXEXT() }); + features.push_back({ "MONITOR", CPUIdent::MONITOR() }); + features.push_back({ "MOVBE", CPUIdent::MOVBE() }); + features.push_back({ "MSR", CPUIdent::MSR() }); + features.push_back({ "OSXSAVE", CPUIdent::OSXSAVE() }); + features.push_back({ "PCLMULQDQ", CPUIdent::PCLMULQDQ() }); + features.push_back({ "POPCNT", CPUIdent::POPCNT() }); + features.push_back({ "PREFETCHWT1", CPUIdent::PREFETCHWT1() }); + features.push_back({ "RDRAND", CPUIdent::RDRAND() }); + features.push_back({ "RDSEED", CPUIdent::RDSEED() }); + features.push_back({ "RDTSCP", CPUIdent::RDTSCP() }); + features.push_back({ "RTM", CPUIdent::RTM() }); + features.push_back({ "SEP", CPUIdent::SEP() }); + features.push_back({ "SHA", CPUIdent::SHA() }); + features.push_back({ "SSE", CPUIdent::SSE() }); + features.push_back({ "SSE2", CPUIdent::SSE2() }); + features.push_back({ "SSE3", CPUIdent::SSE3() }); + features.push_back({ "SSE4.1", CPUIdent::SSE41() }); + features.push_back({ "SSE4.2", CPUIdent::SSE42() }); + features.push_back({ "SSE4a", CPUIdent::SSE4a() }); + features.push_back({ "SSSE3", CPUIdent::SSSE3() }); + features.push_back({ "SYSCALL", CPUIdent::SYSCALL() }); + features.push_back({ "TBM", CPUIdent::TBM() }); + features.push_back({ "XOP", CPUIdent::XOP() }); + features.push_back({ "XSAVE", CPUIdent::XSAVE() }); return features; }; diff --git a/libraries/shared/src/CPUIdent.h b/libraries/shared/src/CPUIdent.h index b8d39ac7b9..32668149f4 100644 --- a/libraries/shared/src/CPUIdent.h +++ b/libraries/shared/src/CPUIdent.h @@ -29,10 +29,10 @@ #include -class CPUID +class CPUIdent { // forward declarations - class CPUID_Internal; + class CPUIdent_Internal; public: struct Feature { @@ -104,12 +104,12 @@ public: static bool _3DNOW(void) { return CPU_Rep.isAMD_ && CPU_Rep.f_81_EDX_[31]; } private: - static const CPUID_Internal CPU_Rep; + static const CPUIdent_Internal CPU_Rep; - class CPUID_Internal + class CPUIdent_Internal { public: - CPUID_Internal() + CPUIdent_Internal() : nIds_ { 0 }, nExIds_ { 0 }, isIntel_ { false },