From 6ece1690195cafd16b18ca1e37881daad1c19ee6 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Wed, 26 Jun 2024 00:38:05 +0200 Subject: [PATCH] Assume mmx is supported on x64, require a test for x86 and disabled on other archs --- LEGO1/mxdirectx/mxdirect3d.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LEGO1/mxdirectx/mxdirect3d.cpp b/LEGO1/mxdirectx/mxdirect3d.cpp index 8e4a94e8..d1f23abd 100644 --- a/LEGO1/mxdirectx/mxdirect3d.cpp +++ b/LEGO1/mxdirectx/mxdirect3d.cpp @@ -1014,6 +1014,7 @@ int MxDeviceEnumerate::SupportsMMX() } int supports_mmx; #ifdef _MSC_VER +#if defined(_M_IX86) __asm { mov eax, 0x0 ; EAX=0: Highest Function Parameter and Manufacturer ID #if _MSC_VER > 1100 @@ -1034,6 +1035,11 @@ int MxDeviceEnumerate::SupportsMMX() adc eax, eax ; Add with carry: EAX = EAX + EAX + CF = CF mov supports_mmx, eax ; Save eax into C variable } +#elif defined(_M_IX64) + supports_mmx = 1; +#else + supports_mmx = 0; +#endif #else __asm__("movl $0x0, %%eax\n\t" // EAX=0: Highest Function Parameter and Manufacturer ID "cpuid\n\t" // Run CPUID\n"