Module: wine Branch: master Commit: 460e35aace89c39b102b3b2cadd024a5486f0d95 URL: http://source.winehq.org/git/wine.git/?a=commit;h=460e35aace89c39b102b3b2cad...
Author: Stefan Dösinger stefan@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: