aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dep/g3dlite/G3D-v9.0 hotfix18.diff37
-rw-r--r--dep/g3dlite/source/System.cpp10
2 files changed, 46 insertions, 1 deletions
diff --git a/dep/g3dlite/G3D-v9.0 hotfix18.diff b/dep/g3dlite/G3D-v9.0 hotfix18.diff
new file mode 100644
index 00000000000..4151a4adeef
--- /dev/null
+++ b/dep/g3dlite/G3D-v9.0 hotfix18.diff
@@ -0,0 +1,37 @@
+diff --git a/dep/g3dlite/source/System.cpp b/dep/g3dlite/source/System.cpp
+index 4a75d320b8..1c7d913929 100644
+--- a/dep/g3dlite/source/System.cpp
++++ b/dep/g3dlite/source/System.cpp
+@@ -79,7 +79,7 @@
+ #endif
+
+ // SIMM include
+-#if !defined(__aarch64__)
++#if !defined(_M_ARM) && !defined(_M_ARM64) && !defined(_M_HYBRID_X86_ARM64) && !defined(_M_ARM64EC) && !defined(__aarch64__)
+ #include <xmmintrin.h>
+ #endif
+
+@@ -211,6 +211,10 @@ void System::init() {
+ arch = "ARM";
+ break;
+
++ case PROCESSOR_ARCHITECTURE_ARM64:
++ arch = "ARM64";
++ break;
++
+ default:
+ arch = "Unknown";
+ break;
+@@ -1690,8 +1694,12 @@ std::string System::currentTimeString() {
+
+ // Windows 64-bit
+ void System::cpuid(CPUIDFunction func, uint32& eax, uint32& ebx, uint32& ecx, uint32& edx) {
++#if !defined(_M_ARM) && !defined(_M_ARM64) && !defined(_M_HYBRID_X86_ARM64) && !defined(_M_ARM64EC)
+ int regs[4] = {eax, ebx, ecx, edx};
+ __cpuid(regs, func);
++#else
++ int regs[4] = { 0, 0, 0, 0 };
++#endif
+ eax = regs[0];
+ ebx = regs[1];
+ ecx = regs[2];
diff --git a/dep/g3dlite/source/System.cpp b/dep/g3dlite/source/System.cpp
index 4a75d320b8d..1c7d913929c 100644
--- a/dep/g3dlite/source/System.cpp
+++ b/dep/g3dlite/source/System.cpp
@@ -79,7 +79,7 @@
#endif
// SIMM include
-#if !defined(__aarch64__)
+#if !defined(_M_ARM) && !defined(_M_ARM64) && !defined(_M_HYBRID_X86_ARM64) && !defined(_M_ARM64EC) && !defined(__aarch64__)
#include <xmmintrin.h>
#endif
@@ -211,6 +211,10 @@ void System::init() {
arch = "ARM";
break;
+ case PROCESSOR_ARCHITECTURE_ARM64:
+ arch = "ARM64";
+ break;
+
default:
arch = "Unknown";
break;
@@ -1690,8 +1694,12 @@ std::string System::currentTimeString() {
// Windows 64-bit
void System::cpuid(CPUIDFunction func, uint32& eax, uint32& ebx, uint32& ecx, uint32& edx) {
+#if !defined(_M_ARM) && !defined(_M_ARM64) && !defined(_M_HYBRID_X86_ARM64) && !defined(_M_ARM64EC)
int regs[4] = {eax, ebx, ecx, edx};
__cpuid(regs, func);
+#else
+ int regs[4] = { 0, 0, 0, 0 };
+#endif
eax = regs[0];
ebx = regs[1];
ecx = regs[2];