=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: ddraw/tests: Mark a VMware failure broken.

Alexandre Julliard julliard at winehq.org
Tue Nov 15 13:17:32 CST 2011


Module: wine
Branch: master
Commit: 460e35aace89c39b102b3b2cadd024a5486f0d95
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=460e35aace89c39b102b3b2cadd024a5486f0d95

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Nov 14 23:08:06 2011 +0100

ddraw/tests: Mark a VMware failure broken.

---

 dlls/ddraw/tests/overlay.c |   35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/dlls/ddraw/tests/overlay.c b/dlls/ddraw/tests/overlay.c
index ded7c5a..64d0063 100644
--- a/dlls/ddraw/tests/overlay.c
+++ b/dlls/ddraw/tests/overlay.c
@@ -263,22 +263,27 @@ static void yv12_test(void)
     }
 
     hr = IDirectDrawSurface7_Blt(dst, NULL, surface, NULL, 0, NULL);
-    ok(hr == DD_OK, "IDirectDrawSurface7_Blt returned 0x%08x, expected DD_OK\n", hr);
-
-    memset(&desc, 0, sizeof(desc));
-    desc.dwSize = sizeof(desc);
-    hr = IDirectDrawSurface7_Lock(dst, NULL, &desc, 0, NULL);
-    ok(hr == DD_OK, "IDirectDrawSurface7_Lock returned 0x%08x, expected DD_OK\n", hr);
-
-    base = desc.lpSurface;
-    ok(base[0] == 0x10, "Y data is 0x%02x, expected 0x10\n", base[0]);
-    base += desc.dwHeight * desc.lPitch;
-    todo_wine ok(base[0] == 0x20, "V data is 0x%02x, expected 0x20\n", base[0]);
-    base += desc.dwHeight / 4 * desc.lPitch;
-    todo_wine ok(base[0] == 0x30, "U data is 0x%02x, expected 0x30\n", base[0]);
+    /* VMware rejects YV12 blits. This behavior has not been seen on real hardware yet, so mark it broken */
+    ok(hr == DD_OK || broken(hr == E_NOTIMPL),
+            "IDirectDrawSurface7_Blt returned 0x%08x, expected DD_OK\n", hr);
 
-    hr = IDirectDrawSurface7_Unlock(dst, NULL);
-    ok(hr == DD_OK, "IDirectDrawSurface7_Unlock returned 0x%08x, expected DD_OK\n", hr);
+    if (SUCCEEDED(hr))
+    {
+        memset(&desc, 0, sizeof(desc));
+        desc.dwSize = sizeof(desc);
+        hr = IDirectDrawSurface7_Lock(dst, NULL, &desc, 0, NULL);
+        ok(hr == DD_OK, "IDirectDrawSurface7_Lock returned 0x%08x, expected DD_OK\n", hr);
+
+        base = desc.lpSurface;
+        ok(base[0] == 0x10, "Y data is 0x%02x, expected 0x10\n", base[0]);
+        base += desc.dwHeight * desc.lPitch;
+        todo_wine ok(base[0] == 0x20, "V data is 0x%02x, expected 0x20\n", base[0]);
+        base += desc.dwHeight / 4 * desc.lPitch;
+        todo_wine ok(base[0] == 0x30, "U data is 0x%02x, expected 0x30\n", base[0]);
+
+        hr = IDirectDrawSurface7_Unlock(dst, NULL);
+        ok(hr == DD_OK, "IDirectDrawSurface7_Unlock returned 0x%08x, expected DD_OK\n", hr);
+    }
 
     IDirectDrawSurface7_Release(dst);
 cleanup:




More information about the wine-cvs mailing list