* Fix BIOS graphical errors by re-introducing part of the PATH1 hacks, which is still needed until further notice.
 * Likely fix for DX10+ cards crashing on Configure...  (still can't test directly because MSI sucks, sorry folks)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3370 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-07-02 14:31:50 +00:00
parent 02a655dc76
commit 2fda352baf
2 changed files with 23 additions and 22 deletions

View File

@ -89,12 +89,6 @@ static bool DXUTDelayLoadDXGI()
return ( m_DXGIFactory != NULL );
}
static void* GetDX11Proc( const char* methodname )
{
if( !DXUT_EnsureD3D11APIs() ) return NULL;
return GetProcAddress( s_hModD3D11, methodname );
}
bool GSUtil::IsDirect3D11Available()
{
static bool m_CheckRun = false;
@ -105,21 +99,21 @@ bool GSUtil::IsDirect3D11Available()
if( !DXUTDelayLoadDXGI() )
{
m_D3D11Available = false;
return false;
}
else
{
CComPtr<ID3D11Device> dev;
CComPtr<ID3D11DeviceContext> ctx;
D3D_FEATURE_LEVEL level;
HRESULT hr = s_DynamicD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, D3D11_CREATE_DEVICE_SINGLETHREADED, levels, countof(levels),
D3D11_SDK_VERSION, &dev, &level, &ctx);
m_D3D11Available = !FAILED(hr);
m_HasD3D11Features = (level >= D3D_FEATURE_LEVEL_11_0);
}
CComPtr<ID3D11Device> dev;
CComPtr<ID3D11DeviceContext> ctx;
D3D_FEATURE_LEVEL level;
HRESULT hr = s_DynamicD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, D3D11_CREATE_DEVICE_SINGLETHREADED, levels, countof(levels),
D3D11_SDK_VERSION, &dev, &level, &ctx);
m_D3D11Available = !FAILED(hr);
m_HasD3D11Features = (level >= D3D_FEATURE_LEVEL_11_0);
UnloadDynamicLibraries();
if( !m_D3D11Available ) UnloadDynamicLibraries();
return m_D3D11Available;
}
@ -133,6 +127,8 @@ void GSUtil::UnloadDynamicLibraries()
if( s_hModD3D11 ) FreeLibrary(s_hModD3D11);
if( s_hModDXGI ) FreeLibrary(s_hModDXGI);
s_DynamicD3D11CreateDevice = NULL;
s_DynamicCreateDXGIFactory = NULL;
s_hModD3D11 = NULL;
s_hModDXGI = NULL;
}
@ -150,6 +146,7 @@ GSDevice11::GSDevice11()
GSDevice11::~GSDevice11()
{
GSUtil::UnloadDynamicLibraries();
}
bool GSDevice11::Create(GSWnd* wnd)

View File

@ -1563,22 +1563,26 @@ template<int index> void GSState::Transfer(uint8* mem, uint32 size)
m_dump.Transfer(index, start, mem - start);
}
/*if(index == 0)
if(index == 0)
{
if(size == 0 && path.nloop > 0)
{
if(m_mt)
{
// TODO
// Hackfix for BIOS, which sends an incomplete packek when it does an XGKICK without
// having an EOP specified anywhere in VU1 memory. Needed until PCSX2 is fixed t
// handle it more properly (ie, without looping infinitely).
path.nloop = 0;
}
else
{
// Unused in 0.9.7 and above, but might as well keep this for now; allows GSdx
// to work with legacy editions of PCSX2.
Transfer<0>(mem - 0x4000, 0x4000 / 16);
}
}
}*/
}
}
template<class T> static void WriteState(uint8*& dst, T* src, size_t len = sizeof(T))