GSdx: Possible fix for DX10 leaking memory.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2042 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2009-10-20 11:44:43 +00:00
parent 27174c3f5b
commit 0f77c1a885
6 changed files with 14 additions and 3 deletions

View File

@ -68,9 +68,14 @@ bool GSDevice10::Create(GSWnd* wnd, bool vsync)
scd.SampleDesc.Quality = 0;
scd.Windowed = TRUE;
//Crashes when 2 threads work on the swapchain, as in pcsx2/wx.
//Todo : Figure out a way to have this flag anyway
uint32 flags = 0; //D3D10_CREATE_DEVICE_SINGLETHREADED;
// Crashes when 2 threads work on the swapchain, as in pcsx2/wx when it provides us
// an external window handle (which could be attached to any thread other than the GS one).
// (but if we're managing our own window then it's safe to enable)
// FIXME : Figure out a way to have this flag anyway, since it's a measurable speedup (may
// not be possible though).
uint32 flags = m_wnd->IsManaged() ? D3D10_CREATE_DEVICE_SINGLETHREADED : 0;
#ifdef DEBUG
flags |= D3D10_CREATE_DEVICE_DEBUG;

View File

@ -39,6 +39,7 @@ protected:
public:
GSRendererDX10();
virtual ~GSRendererDX10() {}
bool CreateDevice(GSDevice* dev);

View File

@ -40,6 +40,7 @@ protected:
public:
GSRendererDX11();
virtual ~GSRendererDX11() {}
bool CreateDevice(GSDevice* dev);

View File

@ -46,6 +46,7 @@ protected:
public:
GSRendererDX9();
virtual ~GSRendererDX9() {}
bool CreateDevice(GSDevice* dev);

View File

@ -43,6 +43,8 @@ public:
InitVertexKick<GSRendererNull>();
}
virtual ~GSRendererNull() {}
template<uint32 prim, uint32 tme, uint32 fst> void VertexKick(bool skip)
{
}

View File

@ -32,6 +32,7 @@ protected:
public:
GSRendererOGL();
virtual ~GSRendererOGL() {}
bool CreateDevice(GSDevice* dev);