[PATCH 5/5] dxgi: Try to create a software adapter when no regular adapters are found as well.

Henri Verbeet hverbeet at codeweavers.com
Mon Oct 25 05:33:42 CDT 2010


---
 dlls/dxgi/tests/device.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/dlls/dxgi/tests/device.c b/dlls/dxgi/tests/device.c
index 4d2ac14..ef86b34 100644
--- a/dlls/dxgi/tests/device.c
+++ b/dlls/dxgi/tests/device.c
@@ -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");
-- 
1.7.2.2




More information about the wine-patches mailing list