#if SHIPPING_VERSION
// When building a shipping version, disable PerfHUD (opt-out)
#else
// Look for 'NVIDIA PerfHUD' adapter
// If it is present, override default settings
IDXGIFactory *pDXGIFactory;
ID3D10Device *pDevice;
HRESULT hRes;
hRes = CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)&pDXGIFactory);
// Search for a PerfHUD adapter.
UINT nAdapter = 0;
IDXGIAdapter* adapter = NULL;
IDXGIAdapter* selectedAdapter = NULL;
D3D10_DRIVER_TYPE driverType = D3D10_DRIVER_TYPE_HARDWARE;
while (pDXGIFactory->EnumAdapters(nAdapter, &adapter) != DXGI_ERROR_NOT_FOUND)
{
if (adapter)
{
DXGI_ADAPTER_DESC adaptDesc;
if (SUCCEEDED(adapter->GetDesc(&adaptDesc)))
{ const bool isPerfHUD = wcscmp(adaptDesc.Description, L"NVIDIA PerfHUD") == 0;
// Select the first adapter in normal circumstances or the PerfHUD one if it exists.
if(nAdapter == 0 || isPerfHUD)
selectedAdapter = adapter;
if(isPerfHUD)
driverType = D3D10_DRIVER_TYPE_REFERENCE;
}
}
++nAdapter;
}
#endif
//if(FAILED(D3D10CreateDevice( selectedAdapter, driverType, NULL, 0, D3D10_SDK_VERSION, &pDevice))) return E_FAIL;
// If D3D10.1 doesn't exist, then fallback to D3D10.0
hr = DXUT_Dynamic_D3D10CreateDevice( selectedAdapter, driverType, NULL, 0, NULL, D3D10_SDK_VERSION, &pd3d10Device );
//// If D3D10.1 doesn't exist, then fallback to D3D10.0
//hr = DXUT_Dynamic_D3D10CreateDevice( pAdapter, pNewDeviceSettings->d3d10.DriverType, ( HMODULE )0,
// pNewDeviceSettings->d3d10.CreateFlags,
// NULL, D3D10_SDK_VERSION, &pd3d10Device );
일단 이렇게만 하니까 되긴 하던데 펌프후드 실행한뒤에 머가 재대로 안되는듯...
차후 수정해서 정보 갱신하겠습니다.