From 05dd1e1804e91eb71218a161885feae7632ac66c Mon Sep 17 00:00:00 2001 From: Zhiyi Zhang Date: Wed, 18 Mar 2020 11:34:54 +0800 Subject: [PATCH] d3d8/tests: Fix a test failure with Win10 WARP. Signed-off-by: Zhiyi Zhang Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/d3d8/tests/device.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c index dd1e479cb20..42eee282179 100644 --- a/dlls/d3d8/tests/device.c +++ b/dlls/d3d8/tests/device.c @@ -6497,6 +6497,7 @@ out: static void test_update_volumetexture(void) { + D3DADAPTER_IDENTIFIER8 identifier; IDirect3DDevice8 *device; IDirect3D8 *d3d8; HWND window; @@ -6506,6 +6507,7 @@ static void test_update_volumetexture(void) D3DLOCKED_BOX locked_box; ULONG refcount; D3DCAPS8 caps; + BOOL is_warp; static const struct { D3DPOOL src_pool, dst_pool; @@ -6554,6 +6556,9 @@ static void test_update_volumetexture(void) window = create_window(); d3d8 = Direct3DCreate8(D3D_SDK_VERSION); ok(!!d3d8, "Failed to create a D3D object.\n"); + hr = IDirect3D8_GetAdapterIdentifier(d3d8, D3DADAPTER_DEFAULT, 0, &identifier); + ok(SUCCEEDED(hr), "Failed to get adapter identifier, hr %#x.\n", hr); + is_warp = adapter_is_warp(&identifier); if (!(device = create_device(d3d8, window, NULL))) { skip("Failed to create a D3D device, skipping tests.\n"); @@ -6624,7 +6629,8 @@ static void test_update_volumetexture(void) hr = IDirect3DDevice8_UpdateTexture(device, (IDirect3DBaseTexture8 *)src, (IDirect3DBaseTexture8 *)dst); todo_wine_if (FAILED(hr)) - ok(SUCCEEDED(hr), "Failed to update texture, hr %#x, case %u.\n", hr, i); + ok(SUCCEEDED(hr) || (is_warp && (i == 6 || i == 7)), /* Fails with Win10 WARP driver */ + "Failed to update texture, hr %#x, case %u.\n", hr, i); IDirect3DVolumeTexture8_Release(src); IDirect3DVolumeTexture8_Release(dst); -- 2.11.4.GIT