static struct gfx_filterdata *filterd3d;
static int filterd3didx;
-typedef HRESULT(CALLBACK* DWMISCOMPOSITIONENABLED)(BOOL*);
-static HMODULE dwmapihandle;
-
static bool showoverlay = true;
#define MAX_PASSES 2
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);
}
int os_admin, os_64bit, os_win7, os_vista, cpu_number, os_touch;
+BOOL os_dwm_enabled;
static int isadminpriv (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;
}
#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")
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;
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;
<StackCommitSize>2621440</StackCommitSize>
<LargeAddressAware>true</LargeAddressAware>
<OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>false</EnableCOMDATFolding>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<FixedBaseAddress>false</FixedBaseAddress>
+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.