Add CMAKE option and NVIDIA PerfHUD support
This commit is contained in:
parent
7518c066b3
commit
e728daa7cd
2 changed files with 30 additions and 7 deletions
|
@ -236,6 +236,7 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
|||
OPTION(WITH_COVERAGE "With Code Coverage Support" OFF)
|
||||
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
||||
OPTION(FINAL_VERSION "Build in Final Version mode" ON )
|
||||
OPTION(WITH_PERFHUD "Build with NVIDIA PerfHUD support" OFF )
|
||||
|
||||
# Default to static building on Windows.
|
||||
IF(WIN32)
|
||||
|
|
|
@ -1464,6 +1464,24 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r
|
|||
return false;
|
||||
}
|
||||
|
||||
#if WITH_PERFHUD
|
||||
// Look for 'NVIDIA PerfHUD' adapter
|
||||
// If it is present, override default settings
|
||||
for (UINT gAdapter=0;gAdapter<_D3D->GetAdapterCount();gAdapter++)
|
||||
{
|
||||
D3DADAPTER_IDENTIFIER9 Identifier;
|
||||
HRESULT Res;
|
||||
Res = _D3D->GetAdapterIdentifier(gAdapter,0,&Identifier);
|
||||
|
||||
if (strstr(Identifier.Description,"PerfHUD") != 0)
|
||||
{
|
||||
nlinfo ("Setting up with PerfHUD");
|
||||
adapter=gAdapter;
|
||||
_Rasterizer=D3DDEVTYPE_REF;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif WITH_PERFHUD
|
||||
// Create the D3D device
|
||||
HRESULT result = _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING|D3DCREATE_PUREDEVICE, ¶meters, &_DeviceInterface);
|
||||
if (result != D3D_OK)
|
||||
|
@ -1487,6 +1505,8 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, ¶meters, &_DeviceInterface);
|
||||
|
||||
// Check some caps
|
||||
|
@ -2635,13 +2655,15 @@ bool CDriverD3D::reset (const GfxMode& mode)
|
|||
#ifndef NL_NO_ASM
|
||||
CFpuRestorer fpuRestorer; // fpu control word is changed by "Reset"
|
||||
#endif
|
||||
HRESULT hr = _DeviceInterface->Reset (¶meters);
|
||||
if (hr != D3D_OK)
|
||||
{
|
||||
nlwarning("CDriverD3D::reset: Reset on _DeviceInterface error 0x%x", hr);
|
||||
// tmp
|
||||
nlstopex(("CDriverD3D::reset: Reset on _DeviceInterface"));
|
||||
return false;
|
||||
if (_Rasterizer!=D3DDEVTYPE_REF) {
|
||||
HRESULT hr = _DeviceInterface->Reset (¶meters);
|
||||
if (hr != D3D_OK)
|
||||
{
|
||||
nlwarning("CDriverD3D::reset: Reset on _DeviceInterface error 0x%x", hr);
|
||||
// tmp
|
||||
nlstopex(("CDriverD3D::reset: Reset on _DeviceInterface"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue