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_COVERAGE "With Code Coverage Support" OFF)
|
||||||
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
||||||
OPTION(FINAL_VERSION "Build in Final Version mode" 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.
|
# Default to static building on Windows.
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
|
|
@ -1464,6 +1464,24 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r
|
||||||
return false;
|
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
|
// Create the D3D device
|
||||||
HRESULT result = _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING|D3DCREATE_PUREDEVICE, ¶meters, &_DeviceInterface);
|
HRESULT result = _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING|D3DCREATE_PUREDEVICE, ¶meters, &_DeviceInterface);
|
||||||
if (result != D3D_OK)
|
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);
|
// _D3D->CreateDevice (adapter, _Rasterizer, _HWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, ¶meters, &_DeviceInterface);
|
||||||
|
|
||||||
// Check some caps
|
// Check some caps
|
||||||
|
@ -2635,13 +2655,15 @@ bool CDriverD3D::reset (const GfxMode& mode)
|
||||||
#ifndef NL_NO_ASM
|
#ifndef NL_NO_ASM
|
||||||
CFpuRestorer fpuRestorer; // fpu control word is changed by "Reset"
|
CFpuRestorer fpuRestorer; // fpu control word is changed by "Reset"
|
||||||
#endif
|
#endif
|
||||||
HRESULT hr = _DeviceInterface->Reset (¶meters);
|
if (_Rasterizer!=D3DDEVTYPE_REF) {
|
||||||
if (hr != D3D_OK)
|
HRESULT hr = _DeviceInterface->Reset (¶meters);
|
||||||
{
|
if (hr != D3D_OK)
|
||||||
nlwarning("CDriverD3D::reset: Reset on _DeviceInterface error 0x%x", hr);
|
{
|
||||||
// tmp
|
nlwarning("CDriverD3D::reset: Reset on _DeviceInterface error 0x%x", hr);
|
||||||
nlstopex(("CDriverD3D::reset: Reset on _DeviceInterface"));
|
// tmp
|
||||||
return false;
|
nlstopex(("CDriverD3D::reset: Reset on _DeviceInterface"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue