Move the creation of the GLInterface (and hence the video backend

window) from VideoPrepare to Initialize in the software plugin (as in
the GL plugin).  This fixes issue 6564.  It also makes the emulator show
up positioned correctly in the dolphin application window when using
render to main.
This commit is contained in:
Glenn Rice 2013-09-07 15:57:32 -05:00
parent 508888c935
commit 913853d441

View File

@ -39,7 +39,6 @@ namespace SW
static volatile bool fifoStateRun = false; static volatile bool fifoStateRun = false;
static volatile bool emuRunningState = false; static volatile bool emuRunningState = false;
static std::mutex m_csSWVidOccupied; static std::mutex m_csSWVidOccupied;
static void* m_windowhandle;
std::string VideoSoftware::GetName() std::string VideoSoftware::GetName()
{ {
@ -64,7 +63,11 @@ bool VideoSoftware::Initialize(void *&window_handle)
g_SWVideoConfig.Load((File::GetUserPath(D_CONFIG_IDX) + "gfx_software.ini").c_str()); g_SWVideoConfig.Load((File::GetUserPath(D_CONFIG_IDX) + "gfx_software.ini").c_str());
InitInterface(); InitInterface();
m_windowhandle = window_handle; if (!GLInterface->Create(window_handle))
{
INFO_LOG(VIDEO, "%s", "SWRenderer::Create failed\n");
return false;
}
InitBPMemory(); InitBPMemory();
InitXFMemory(); InitXFMemory();
@ -160,12 +163,6 @@ void VideoSoftware::Video_Cleanup()
// This is called after Video_Initialize() from the Core // This is called after Video_Initialize() from the Core
void VideoSoftware::Video_Prepare() void VideoSoftware::Video_Prepare()
{ {
if (!GLInterface->Create(m_windowhandle))
{
INFO_LOG(VIDEO, "%s", "SWRenderer::Create failed\n");
return;
}
GLInterface->MakeCurrent(); GLInterface->MakeCurrent();
// Init extension support. // Init extension support.
#ifndef USE_GLES #ifndef USE_GLES