dxgi: Try to create a software adapter when no regular adapters are found as well.

This commit is contained in:
Henri Verbeet 2010-10-25 12:33:42 +02:00 committed by Alexandre Julliard
parent bbc7b5ac20
commit 20043c0a46
1 changed files with 5 additions and 6 deletions

View File

@ -36,18 +36,17 @@ static IDXGIDevice *create_device(HMODULE d3d10core)
if (FAILED(hr)) goto cleanup;
hr = IDXGIFactory_EnumAdapters(factory, 0, &adapter);
ok(SUCCEEDED(hr) ||
hr == DXGI_ERROR_NOT_FOUND, /* Some VMware and VirtualBox */
"EnumAdapters failed, hr %#x\n", hr);
if (FAILED(hr)) goto cleanup;
if (SUCCEEDED(hr))
{
hr = DXGID3D10CreateDevice(d3d10core, factory, adapter, 0, NULL, (void **)&device);
}
hr = DXGID3D10CreateDevice(d3d10core, factory, adapter, 0, NULL, (void **)&device);
if (FAILED(hr))
{
HMODULE d3d10ref;
trace("Failed to create a HW device, trying REF\n");
IDXGIAdapter_Release(adapter);
if (adapter) IDXGIAdapter_Release(adapter);
adapter = NULL;
d3d10ref = LoadLibraryA("d3d10ref.dll");