mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 22:29:39 -06:00
OpenGL: Fixed the screen size adjustment by moving it to Render::Swap(), where the final version of the picture is placed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2344 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -36,6 +36,12 @@
|
||||
// This may remove sound artifacts in Wario Land Shake It and perhaps other games
|
||||
//#define SETUP_AVOID_SOUND_ARTIFACTS
|
||||
|
||||
// This may fix a problem with Stop and Start that I described in the comments to revision 2,139
|
||||
//#define SETUP_FREE_PLUGIN_ON_BOOT
|
||||
|
||||
// Use Stop when rendering to a child window
|
||||
//#define SETUP_AVOID_CHILD_WINDOW_RENDERING_HANG
|
||||
|
||||
// Build with playback rerecording options
|
||||
//#define RERECORDING
|
||||
|
||||
|
@ -242,7 +242,11 @@ void Stop() // - Hammertime!
|
||||
Core::StopTrace();
|
||||
LogManager::Shutdown();
|
||||
Host_SetWaitCursor(false);
|
||||
|
||||
#ifdef SETUP_AVOID_CHILD_WINDOW_RENDERING_HANG
|
||||
/* I have to use this to avoid the hangings, it seems harmless and it works so I'm
|
||||
okay with it */
|
||||
if (GetParent((HWND)g_pWindowHandle) == NULL)
|
||||
#endif
|
||||
delete g_EmuThread; // Wait for emuthread to close.
|
||||
g_EmuThread = 0;
|
||||
}
|
||||
@ -327,6 +331,10 @@ THREAD_RETURN EmuThread(void *pArg)
|
||||
VideoInitialize.pKeyPress = Callback_KeyPress;
|
||||
VideoInitialize.bWii = _CoreParameter.bWii;
|
||||
VideoInitialize.bUseDualCore = _CoreParameter.bUseDualCore;
|
||||
// Needed for Stop and Start
|
||||
#ifdef SETUP_FREE_PLUGIN_ON_BOOT
|
||||
Plugins.FreeVideo();
|
||||
#endif
|
||||
Plugins.GetVideo()->Initialize(&VideoInitialize); // Call the dll
|
||||
|
||||
// Under linux, this is an X11 Display, not an HWND!
|
||||
@ -347,6 +355,10 @@ THREAD_RETURN EmuThread(void *pArg)
|
||||
dspInit.pGetAudioStreaming = AudioInterface::Callback_GetStreaming;
|
||||
dspInit.pEmulatorState = (int *)PowerPC::GetStatePtr();
|
||||
dspInit.bWii = _CoreParameter.bWii;
|
||||
// Needed for Stop and Start
|
||||
#ifdef SETUP_FREE_PLUGIN_ON_BOOT
|
||||
Plugins.FreeDSP();
|
||||
#endif
|
||||
Plugins.GetDSP()->Initialize((void *)&dspInit);
|
||||
|
||||
// Load and Init PadPlugin
|
||||
|
@ -37,6 +37,8 @@
|
||||
2. Sond plugin: If FreeLibrary() is not called between Stop and Start I got the "Tried to
|
||||
"get pointer for unknown address ffffffff" message for all games I tried.
|
||||
|
||||
Currently this holds if the 'SETUP_FREE_PLUGIN_ON_BOOT' option is used
|
||||
|
||||
For some reason the time when the FreeLibrary() is placed produce different results. If it's placed
|
||||
after ShutDown() I don't get a black screen when I start SSBM (PAL) again, if I have stopped the game
|
||||
before the first 3D appears (on the start screen), if I show the start screen and then Stop and Start
|
||||
@ -205,15 +207,21 @@ void CPluginManager::ShutdownPlugins()
|
||||
if (m_video)
|
||||
{
|
||||
m_video->Shutdown();
|
||||
delete m_video;
|
||||
m_video = NULL;
|
||||
// With this option, this is done on boot instead
|
||||
#ifndef SETUP_FREE_PLUGIN_ON_BOOT
|
||||
delete m_video;
|
||||
m_video = NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (m_dsp)
|
||||
{
|
||||
m_dsp->Shutdown();
|
||||
delete m_dsp;
|
||||
m_dsp = NULL;
|
||||
// With this option, this is done on boot instead
|
||||
#ifndef SETUP_FREE_PLUGIN_ON_BOOT
|
||||
delete m_dsp;
|
||||
m_dsp = NULL;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
//////////////////////////////////////////////
|
||||
@ -537,4 +545,4 @@ void CPluginManager::OpenDebug(void* _Parent, const char *_rFilename, PLUGIN_TYP
|
||||
PanicAlert("Type %d debug not supported in plugin %s", Type, _rFilename);
|
||||
}
|
||||
}
|
||||
///////////////////////////////////////////
|
||||
///////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user