Stefan Dösinger : d3d9: Do not fail if d3d9 is not available.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 6 08:03:31 CDT 2007
Module: wine
Branch: master
Commit: 9ae22f1a765e2d9ffc8dd4eccafe4210c2ea5750
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ae22f1a765e2d9ffc8dd4eccafe4210c2ea5750
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Tue Jul 24 21:29:19 2007 +0200
d3d9: Do not fail if d3d9 is not available.
---
dlls/d3d9/tests/device.c | 26 +++++++++++++++++++-------
dlls/d3d9/tests/query.c | 8 ++++++--
dlls/d3d9/tests/shader.c | 2 +-
dlls/d3d9/tests/surface.c | 2 +-
dlls/d3d9/tests/texture.c | 2 +-
dlls/d3d9/tests/visual.c | 8 ++++++--
6 files changed, 34 insertions(+), 14 deletions(-)
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index ec54ea4..c2012fc 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -739,7 +739,7 @@ static void test_reset(void)
if(FAILED(hr))
{
- trace("could not create device, IDirect3D9_CreateDevice returned %#x\n", hr);
+ skip("could not create device, IDirect3D9_CreateDevice returned %#x\n", hr);
goto cleanup;
}
@@ -975,8 +975,12 @@ static void test_scene(void)
hr = IDirect3D9_CreateDevice( pD3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL /* no NULLREF here */, hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &pDevice );
- ok(hr == D3D_OK, "IDirect3D9_CreateDevice failed with %s\n", DXGetErrorString9(hr));
- if(!pDevice) goto cleanup;
+ ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "IDirect3D9_CreateDevice failed with %s\n", DXGetErrorString9(hr));
+ if(!pDevice)
+ {
+ skip("Failed to create a d3d device\n");
+ goto cleanup;
+ }
/* Get the caps, they will be needed to tell if an operation is supposed to be valid */
memset(&caps, 0, sizeof(caps));
@@ -1124,8 +1128,12 @@ static void test_limits(void)
hr = IDirect3D9_CreateDevice( pD3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL /* no NULLREF here */, hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &pDevice );
- ok(hr == D3D_OK, "IDirect3D9_CreateDevice failed with %s\n", DXGetErrorString9(hr));
- if(!pDevice) goto cleanup;
+ ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "IDirect3D9_CreateDevice failed with %s\n", DXGetErrorString9(hr));
+ if(!pDevice)
+ {
+ skip("Failed to create a d3d device\n");
+ goto cleanup;
+ }
hr = IDirect3DDevice9_CreateTexture(pDevice, 16, 16, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &pTexture, NULL);
ok(hr == D3D_OK, "IDirect3DDevice9_CreateTexture failed with %s\n", DXGetErrorString9(hr));
@@ -1187,8 +1195,12 @@ static void test_depthstenciltest(void)
hr = IDirect3D9_CreateDevice( pD3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL /* no NULLREF here */, hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &pDevice );
- ok(hr == D3D_OK, "IDirect3D9_CreateDevice failed with %s\n", DXGetErrorString9(hr));
- if(!pDevice) goto cleanup;
+ ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "IDirect3D9_CreateDevice failed with %s\n", DXGetErrorString9(hr));
+ if(!pDevice)
+ {
+ skip("Failed to create a d3d device\n");
+ goto cleanup;
+ }
hr = IDirect3DDevice9_GetDepthStencilSurface(pDevice, &pDepthStencil);
ok(hr == D3D_OK && pDepthStencil != NULL, "IDirect3DDevice9_GetDepthStencilSurface failed with %s\n", DXGetErrorString9(hr));
diff --git a/dlls/d3d9/tests/query.c b/dlls/d3d9/tests/query.c
index 72e1018..9f2b5b3 100644
--- a/dlls/d3d9/tests/query.c
+++ b/dlls/d3d9/tests/query.c
@@ -96,8 +96,12 @@ static void test_query_support(IDirect3D9 *pD3d, HWND hwnd)
hr = IDirect3D9_CreateDevice( pD3d, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &pDevice );
- ok(SUCCEEDED(hr), "Failed to create IDirect3D9Device (%s)\n", DXGetErrorString9(hr));
- if (FAILED(hr)) goto cleanup;
+ ok(SUCCEEDED(hr) || hr == D3DERR_NOTAVAILABLE, "Failed to create IDirect3D9Device (%s)\n", DXGetErrorString9(hr));
+ if (FAILED(hr))
+ {
+ skip("Failed to create a d3d device\n");
+ goto cleanup;
+ }
for(i = 0; i < sizeof(queries) / sizeof(queries[0]); i++)
{
diff --git a/dlls/d3d9/tests/shader.c b/dlls/d3d9/tests/shader.c
index 9c34043..0465cee 100644
--- a/dlls/d3d9/tests/shader.c
+++ b/dlls/d3d9/tests/shader.c
@@ -58,7 +58,7 @@ static IDirect3DDevice9 *init_d3d9(void)
if(FAILED(hres))
{
- trace("could not create device, IDirect3D9_CreateDevice returned %#x\n", hres);
+ skip("could not create device, IDirect3D9_CreateDevice returned %#x\n", hres);
return NULL;
}
diff --git a/dlls/d3d9/tests/surface.c b/dlls/d3d9/tests/surface.c
index b209115..c84e933 100644
--- a/dlls/d3d9/tests/surface.c
+++ b/dlls/d3d9/tests/surface.c
@@ -57,7 +57,7 @@ static IDirect3DDevice9 *init_d3d9(HMODULE d3d9_handle)
if(FAILED(hr))
{
- trace("could not create device, IDirect3D9_CreateDevice returned %#x\n", hr);
+ skip("could not create device, IDirect3D9_CreateDevice returned %#x\n", hr);
return NULL;
}
diff --git a/dlls/d3d9/tests/texture.c b/dlls/d3d9/tests/texture.c
index 79d855d..cb7b781 100644
--- a/dlls/d3d9/tests/texture.c
+++ b/dlls/d3d9/tests/texture.c
@@ -56,7 +56,7 @@ static IDirect3DDevice9 *init_d3d9(HMODULE d3d9_handle)
if(FAILED(hr))
{
- trace("could not create device, IDirect3D9_CreateDevice returned %#x\n", hr);
+ skip("could not create device, IDirect3D9_CreateDevice returned %#x\n", hr);
return NULL;
}
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 1d92d22..65e33bb 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -120,7 +120,7 @@ static IDirect3DDevice9 *init_d3d9(void)
present_parameters.AutoDepthStencilFormat = D3DFMT_D16;
hr = IDirect3D9_CreateDevice(d3d9_ptr, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, present_parameters.hDeviceWindow, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &present_parameters, &device_ptr);
- ok(hr == D3D_OK, "IDirect3D_CreateDevice returned: %s\n", DXGetErrorString9(hr));
+ ok(hr == D3D_OK || hr == D3DERR_NOTAVAILABLE, "IDirect3D_CreateDevice returned: %s\n", DXGetErrorString9(hr));
return device_ptr;
}
@@ -1199,7 +1199,11 @@ START_TEST(visual)
}
device_ptr = init_d3d9();
- if (!device_ptr) return;
+ if (!device_ptr)
+ {
+ skip("Creating the device failed\n");
+ return;
+ }
IDirect3DDevice9_GetDeviceCaps(device_ptr, &caps);
More information about the wine-cvs
mailing list