mirror of https://github.com/PCSX2/pcsx2.git
GSopen2: Fixed legacy mode compat and STGS operation.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1862 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
27af8d80ca
commit
788489f517
|
@ -171,6 +171,7 @@ static INT32 _GSopen(void* dsp, char* title, int renderer)
|
||||||
{
|
{
|
||||||
// Allowing std exceptions to escape the scope of the plugin callstack could
|
// Allowing std exceptions to escape the scope of the plugin callstack could
|
||||||
// be problematic, because of differing typeids between DLL and EXE compilations.
|
// be problematic, because of differing typeids between DLL and EXE compilations.
|
||||||
|
// ('new' could throw std::alloc)
|
||||||
|
|
||||||
printf( "GSdx error: Exception caught in GSopen: %s", ex.what() );
|
printf( "GSdx error: Exception caught in GSopen: %s", ex.what() );
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -248,7 +249,7 @@ EXPORT_C_(INT32) GSopen(void* dsp, char* title, int mt)
|
||||||
|
|
||||||
if( retval == 0 && s_gs )
|
if( retval == 0 && s_gs )
|
||||||
{
|
{
|
||||||
s_gs->SetMultithreaded( false );
|
s_gs->SetMultithreaded( !!mt );
|
||||||
}
|
}
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "GSRendererHW.h"
|
#include "GSRendererHW.h"
|
||||||
//#include "GSTextureFX.h"
|
|
||||||
|
|
||||||
template<class Vertex>
|
template<class Vertex>
|
||||||
class GSRendererDX : public GSRendererHW<Vertex>
|
class GSRendererDX : public GSRendererHW<Vertex>
|
||||||
|
|
|
@ -226,9 +226,8 @@ void GSState::ResetHandlers()
|
||||||
m_fpGIFRegHandlers[GIF_A_D_REG_TRXREG] = &GSState::GIFRegHandlerTRXREG;
|
m_fpGIFRegHandlers[GIF_A_D_REG_TRXREG] = &GSState::GIFRegHandlerTRXREG;
|
||||||
m_fpGIFRegHandlers[GIF_A_D_REG_TRXDIR] = &GSState::GIFRegHandlerTRXDIR;
|
m_fpGIFRegHandlers[GIF_A_D_REG_TRXDIR] = &GSState::GIFRegHandlerTRXDIR;
|
||||||
m_fpGIFRegHandlers[GIF_A_D_REG_HWREG] = &GSState::GIFRegHandlerHWREG;
|
m_fpGIFRegHandlers[GIF_A_D_REG_HWREG] = &GSState::GIFRegHandlerHWREG;
|
||||||
m_fpGIFRegHandlers[GIF_A_D_REG_SIGNAL] = &GSState::GIFRegHandlerSIGNAL;
|
|
||||||
m_fpGIFRegHandlers[GIF_A_D_REG_FINISH] = &GSState::GIFRegHandlerFINISH;
|
SetMultithreaded( m_mt );
|
||||||
m_fpGIFRegHandlers[GIF_A_D_REG_LABEL] = &GSState::GIFRegHandlerLABEL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GSVector4i GSState::GetDisplayRect(int i)
|
GSVector4i GSState::GetDisplayRect(int i)
|
||||||
|
|
|
@ -68,7 +68,7 @@ LRESULT GSWnd::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
// DestroyWindow(m_hWnd);
|
// DestroyWindow(m_hWnd);
|
||||||
return 0;
|
return 0;
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
PostQuitMessage(0);
|
//PostQuitMessage(0);
|
||||||
return 0;
|
return 0;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -150,6 +150,12 @@ bool GSWnd::Attach(HWND hWnd, bool isManaged)
|
||||||
|
|
||||||
void GSWnd::Detach()
|
void GSWnd::Detach()
|
||||||
{
|
{
|
||||||
|
if(m_hWnd && m_IsManaged)
|
||||||
|
{
|
||||||
|
// close the window, since it's under GSdx care. It's not taking messages anyway, and
|
||||||
|
// that means its big, ugly, and in the way.
|
||||||
|
DestroyWindow(m_hWnd);
|
||||||
|
}
|
||||||
m_hWnd = NULL;
|
m_hWnd = NULL;
|
||||||
m_IsManaged = true;
|
m_IsManaged = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue