Nikolay Sivov <nsivov(a)codeweavers.com> wrote:
+ hr = pD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, feature_level, feature_level_count, + D3D11_SDK_VERSION, &d3d_device, NULL, NULL); + if (FAILED(hr)) + hr = pD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_WARP, NULL, 0, feature_level, feature_level_count, + D3D11_SDK_VERSION, &d3d_device, NULL, NULL); + if (FAILED(hr)) + hr = pD3D11CreateDevice(NULL, D3D_DRIVER_TYPE_REFERENCE, NULL, 0, feature_level, feature_level_count, + D3D11_SDK_VERSION, &d3d_device, NULL, NULL); + + if (SUCCEEDED(hr)) + { + hr = ID3D11Device_QueryInterface(d3d_device, &IID_IDXGIDevice, (void **)&device);
ok() is missing.
+ ID3D11Device_Release(d3d_device); + }
It would be much better to consistently check for S_OK if other values covered by SUCCEEDED/FAILED are not supposed to be accepted. -- Dmitry.