]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
lagless vsync windows 7 default change
authorToni Wilen <twilen@winuae.net>
Sat, 22 Jan 2022 14:16:41 +0000 (16:16 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 22 Jan 2022 14:16:41 +0000 (16:16 +0200)
od-win32/win32.cpp
od-win32/win32gfx.cpp

index 12b7ff7aea3ce9bf112817667f1508dbde166065..e779ef8db2b5ccd1834858cb52af411a0f92310e 100644 (file)
@@ -359,10 +359,10 @@ void target_calibrate_spin(void)
        if (!ap->gfx_vsyncmode)
                return;
        if (busywait || calculated_scanline) {
-               write_log(_T("target_calibrate_spin() skipped\n"));
+               write_log(_T("target_calibrate_spin() skipped (%d)\n"), calculated_scanline);
                return;
        }
-       write_log(_T("target_calibrate_spin() start\n"));
+       write_log(_T("target_calibrate_spin() start (%d)\n"), calculated_scanline);
        sc = 0x800000000000;
        for (int i = 0; i < 50; i++) {
                for (;;) {
@@ -5901,18 +5901,27 @@ static int osdetect (void)
                pGetNativeSystemInfo (&SystemInfo);
        osVersion.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
        if (GetVersionEx (&osVersion)) {
-               if (osVersion.dwMajorVersion >= 6)
+               if (osVersion.dwMajorVersion >= 6) {
                        os_vista = 1;
-               if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 1))
+               }
+               if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 1)) {
                        os_win7 = 1;
-               if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 2))
+               }
+               if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 2)) {
                        os_win8 = 1;
-               if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 3))
+               }
+               if (osVersion.dwMajorVersion >= 7 || (osVersion.dwMajorVersion == 6 && osVersion.dwMinorVersion >= 3)) {
                        os_win8 = 2;
-               if (osVersion.dwMajorVersion >= 10)
+               }
+               if (osVersion.dwMajorVersion >= 10) {
                        os_win10 = 1;
-               if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+               }
+               if (SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
                        os_64bit = 1;
+               }
+               if (os_win7 && !os_win8) {
+                       calculated_scanline = false;
+               }
        }
        cpu_number = SystemInfo.dwNumberOfProcessors;
        os_admin = isadminpriv ();
@@ -5947,7 +5956,6 @@ static int osdetect (void)
                }
        }
 
-
        return 1;
 }
 
@@ -6834,6 +6842,15 @@ static int parseargs(const TCHAR *argx, const TCHAR *np, const TCHAR *np2)
                hrtmon_lang = getval(np);
                return 2;
        }
+       if (!_tcscmp(arg, _T("beamrace"))) {
+               if (getval(np) == 0) {
+                       calculated_scanline = true;
+               } else if (getval(np) == 1) {
+                       calculated_scanline = false;
+               }
+               return 2;
+       }
+
 #endif
        return 0;
 }
index 103c44a6f524761561b357c6e2491e4d86953ba0..a68ce0ec3f21a6c1336bc99597ce15634c88fa61 100644 (file)
@@ -380,7 +380,7 @@ static int target_get_display_scanline2(int displayindex)
 }
 
 extern uae_u64 spincount;
-bool calculated_scanline = 1;
+bool calculated_scanline = true;
 
 int target_get_display_scanline(int displayindex)
 {
@@ -525,7 +525,7 @@ static void display_vblank_thread(struct AmigaMonitor *mon)
                unsigned int th;
                _beginthreadex(NULL, 0, waitvblankthread, 0, 0, &th);
        } else {
-               calculated_scanline = 0;
+               calculated_scanline = false;
        }
 }