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; if (FAILED(hr)) goto cleanup;
hr = IDXGIFactory_EnumAdapters(factory, 0, &adapter); hr = IDXGIFactory_EnumAdapters(factory, 0, &adapter);
ok(SUCCEEDED(hr) || if (SUCCEEDED(hr))
hr == DXGI_ERROR_NOT_FOUND, /* Some VMware and VirtualBox */ {
"EnumAdapters failed, hr %#x\n", hr);
if (FAILED(hr)) goto cleanup;
hr = DXGID3D10CreateDevice(d3d10core, factory, adapter, 0, NULL, (void **)&device); hr = DXGID3D10CreateDevice(d3d10core, factory, adapter, 0, NULL, (void **)&device);
}
if (FAILED(hr)) if (FAILED(hr))
{ {
HMODULE d3d10ref; HMODULE d3d10ref;
trace("Failed to create a HW device, trying REF\n"); trace("Failed to create a HW device, trying REF\n");
IDXGIAdapter_Release(adapter); if (adapter) IDXGIAdapter_Release(adapter);
adapter = NULL; adapter = NULL;
d3d10ref = LoadLibraryA("d3d10ref.dll"); d3d10ref = LoadLibraryA("d3d10ref.dll");