]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
3220b3
authorToni Wilen <twilen@winuae.net>
Wed, 16 Dec 2015 17:50:05 +0000 (19:50 +0200)
committerToni Wilen <twilen@winuae.net>
Wed, 16 Dec 2015 17:50:05 +0000 (19:50 +0200)
od-win32/direct3d.cpp
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32gfx.cpp
od-win32/winuae_msvc14/winuae_msvc.vcxproj
od-win32/winuaechangelog.txt

index ad8ac41862ae17704d5e333b0c872a9eeca86994..1571df9a18899d8f191c580351480f5aabbf3563 100644 (file)
@@ -46,9 +46,6 @@ static int psEnabled, psActive, shaderon;
 static struct gfx_filterdata *filterd3d;
 static int filterd3didx;
 
-typedef HRESULT(CALLBACK* DWMISCOMPOSITIONENABLED)(BOOL*);
-static HMODULE dwmapihandle;
-
 static bool showoverlay = true;
 
 #define MAX_PASSES 2
@@ -2340,23 +2337,10 @@ static const TCHAR *D3D_init2 (HWND ahwnd, int w_w, int w_h, int depth, int *fre
 
        memcpy(&ap, apm, sizeof ap);
 
-       if (os_vista && isfullscreen() <= 0 && apm->gfx_backbuffers > 1 && !apm->gfx_vsync) {
-               BOOL dwm = FALSE;
-               DWMISCOMPOSITIONENABLED pDwmIsCompositionEnabled;
-               if (!dwmapihandle)
-                       dwmapihandle = LoadLibrary(_T("dwmapi.dll"));
-               if (dwmapihandle) {
-                       pDwmIsCompositionEnabled = (DWMISCOMPOSITIONENABLED)GetProcAddress(dwmapihandle, "DwmIsCompositionEnabled");
-                       if (pDwmIsCompositionEnabled) {
-                               pDwmIsCompositionEnabled(&dwm);
-                       }
-               }
-               if (dwm) {
-                       struct apmode *ap2 = picasso_on ? &changed_prefs.gfx_apmode[APMODE_RTG] : &changed_prefs.gfx_apmode[APMODE_NATIVE];
-                       write_log(_T("Switch from triple buffer to double buffer.\n"));
-                       ap.gfx_vflip = 0;
-                       ap.gfx_backbuffers = 1;
-               }
+       if (os_dwm_enabled && isfullscreen() <= 0 && apm->gfx_backbuffers > 1 && !apm->gfx_vsync) {
+               write_log(_T("Switch from triple buffer to double buffer (%d).\n"), apm->gfx_vflip);
+               ap.gfx_vflip = 0;
+               ap.gfx_backbuffers = 1;
        }
 
        adapter = getd3dadapter (d3d);
index ae48770dd9eee71039da26d13a0b39a7d6212fa5..b6a6503c1e76c62e4501c2cd3149244f82c2abfc 100644 (file)
@@ -4794,6 +4794,7 @@ static int dxdetect (void)
 }
 
 int os_admin, os_64bit, os_win7, os_vista, cpu_number, os_touch;
+BOOL os_dwm_enabled;
 
 static int isadminpriv (void)
 {
@@ -4896,6 +4897,21 @@ static int osdetect (void)
                }
        }
 
+       if (os_vista) {
+               typedef HRESULT(CALLBACK* DWMISCOMPOSITIONENABLED)(BOOL*);
+               HMODULE dwmapihandle;
+               DWMISCOMPOSITIONENABLED pDwmIsCompositionEnabled;
+               dwmapihandle = LoadLibrary(_T("dwmapi.dll"));
+               if (dwmapihandle) {
+                       pDwmIsCompositionEnabled = (DWMISCOMPOSITIONENABLED)GetProcAddress(dwmapihandle, "DwmIsCompositionEnabled");
+                       if (pDwmIsCompositionEnabled) {
+                               pDwmIsCompositionEnabled(&os_dwm_enabled);
+                       }
+                       FreeLibrary(dwmapihandle);
+               }
+       }
+
+
        return 1;
 }
 
index 38d7f876e660fdfa68c5bb717aced8e504013cb7..48877880e248eab14359e9f51b77dde1e300076c 100644 (file)
 #define LANG_DLL_FULL_VERSION_MATCH 0
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("2")
+#define WINUAEBETA _T("3")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2015, 12, 13)
+#define WINUAEDATE MAKEBD(2015, 12, 16)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
@@ -92,6 +92,7 @@ extern int framecnt;
 extern TCHAR VersionStr[256];
 extern TCHAR BetaStr[64];
 extern int os_admin, os_64bit, os_vista, os_win7, cpu_number, os_touch;
+extern BOOL os_dwm_enabled;
 extern OSVERSIONINFO osVersion;
 extern int paraport_mask;
 extern int gui_active;
index 318855705c3c9afc88286bb3f5eeaf2f7b30a59e..9cc2d6b96a403cb8625593d4c59a51b1c104da47 100644 (file)
@@ -1093,14 +1093,16 @@ bool render_screen (bool immediate)
        int cnt;
 
        render_ok = false;
-       if (minimized || picasso_on || monitor_off || dx_islost ())
+       if (minimized || picasso_on || monitor_off || dx_islost ()) {
                return render_ok;
+       }
        cnt = 0;
        while (wait_render) {
                sleep_millis (1);
                cnt++;
-               if (cnt > 500)
+               if (cnt > 500) {
                        return render_ok;
+               }
        }
        flushymin = 0;
        flushymax = currentmode->amiga_height;
index 35be5ec8ab7fb0be6b198713d9f74a816db34c54..3cd8e653e5fcceb372a01a854bdbcedca14ac0ef 100644 (file)
       <StackCommitSize>2621440</StackCommitSize>
       <LargeAddressAware>true</LargeAddressAware>
       <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>false</EnableCOMDATFolding>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
       <RandomizedBaseAddress>true</RandomizedBaseAddress>
       <FixedBaseAddress>false</FixedBaseAddress>
index 00b4e5443aa559c3ee86aa42b155f0f40b4d6077..904919ace1e05792f0bc3b630bc4f23caf9f6329 100644 (file)
@@ -1,4 +1,11 @@
 
+Beta 3:
+
+- Debugger thought slow ram was IO region if ECS Agnus.
+- CDTV-CR mode CD led didn't flash when reading data, only when playing audio.
+- Fixed linestate array buffer underrun if mode was interlaced. Most common side-effect was blanked
+  screen in interlaced modes, especially in fields or fields+ mode, if build was full optimized.
+
 Beta 2:
 
 - SASI/SASI (CHS) options were not visible in GUI when listing SASI controllers.