dxgi: Try to create a software adapter when no regular adapters are found as well.
This commit is contained in:
parent
bbc7b5ac20
commit
20043c0a46
|
@ -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");
|
||||||
|
|
Loading…
Reference in New Issue