Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool created = false;
- UINT i = 0;
- ComPtr<IDXGIAdapter1> pAdapter;
- HRESULT hr = S_OK;
- while (SUCCEEDED(m_dxgiFactory->EnumAdapters1(i++, pAdapter.ReleaseAndGetAddressOf())))
- {
- DXGI_ADAPTER_DESC1 desc = {};
- pAdapter->GetDesc1(&desc);
- if (SUCCEEDED((hr = D3D12CreateDevice(pAdapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)))))
- {
- created = true;
- pAdapter.ReleaseAndGetAddressOf();
- break;
- }
- }
- if (!created)
- {
- ComPtr<IDXGIAdapter1> pWarpAdapter;
- CHK(m_dxgiFactory->EnumWarpAdapter(IID_PPV_ARGS(&pWarpAdapter)));
- CHK((hr = D3D12CreateDevice(
- pWarpAdapter.Get(),
- D3D_FEATURE_LEVEL_11_0,
- IID_PPV_ARGS(&m_device)
- )));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement