Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. bool created = false;
  2.  
  3. UINT i = 0;
  4. ComPtr<IDXGIAdapter1> pAdapter;
  5. HRESULT hr = S_OK;
  6. while (SUCCEEDED(m_dxgiFactory->EnumAdapters1(i++, pAdapter.ReleaseAndGetAddressOf())))
  7. {
  8. DXGI_ADAPTER_DESC1 desc = {};
  9. pAdapter->GetDesc1(&desc);
  10. if (SUCCEEDED((hr = D3D12CreateDevice(pAdapter.Get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_device)))))
  11. {
  12. created = true;
  13. pAdapter.ReleaseAndGetAddressOf();
  14. break;
  15. }
  16. }
  17. if (!created)
  18. {
  19. ComPtr<IDXGIAdapter1> pWarpAdapter;
  20. CHK(m_dxgiFactory->EnumWarpAdapter(IID_PPV_ARGS(&pWarpAdapter)));
  21.  
  22. CHK((hr = D3D12CreateDevice(
  23. pWarpAdapter.Get(),
  24. D3D_FEATURE_LEVEL_11_0,
  25. IID_PPV_ARGS(&m_device)
  26. )));
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement