This test contains a C++ comment, please remove it. Otherwise it looks ok, as does patch 1
Am 18.08.2010 um 22:01 schrieb Oldřich Jedlička:
dlls/ddraw/tests/visual.c | 123 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c index 290cb76..aecc2ab 100644 --- a/dlls/ddraw/tests/visual.c +++ b/dlls/ddraw/tests/visual.c @@ -2920,6 +2920,128 @@ static void depth_clamp_test(IDirect3DDevice7 *device) ok(SUCCEEDED(hr), "SetViewport failed, hr %#x.\n", hr); }
+static void DX1_BackBufferFlipTest(void) +{
- HRESULT hr;
- int ret;
- IDirectDraw *DirectDraw1 = NULL;
- IDirectDrawSurface *Primary = NULL;
- IDirectDrawSurface *Backbuffer = NULL;
- WNDCLASS wc = {0};
- DDSURFACEDESC ddsd;
- DDBLTFX ddbltfx;
- COLORREF color;
- const DWORD white = 0xffffff;
- const DWORD red = 0xff0000;
- BOOL attached = FALSE;
- wc.lpfnWndProc = DefWindowProc;
- wc.lpszClassName = "DX1_BackBufferFlipTest_wc";
- RegisterClass(&wc);
- window = CreateWindow("DX1_BackBufferFlipTest_wc", "DX1_BackBufferFlipTest",
WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION , 0, 0, 640, 480, 0, 0, 0, 0);
- hr = DirectDrawCreate( NULL, &DirectDraw1, NULL );
- ok(hr==DD_OK || hr==DDERR_NODIRECTDRAWSUPPORT, "DirectDrawCreate returned: %x\n", hr);
- if(FAILED(hr)) goto out;
- hr = IDirectDraw_SetCooperativeLevel(DirectDraw1, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
- ok(hr==DD_OK, "SetCooperativeLevel returned: %x\n", hr);
- if(FAILED(hr)) goto out;
- hr = IDirectDraw_SetDisplayMode(DirectDraw1, 640, 480, 32);
- if(FAILED(hr)) {
/* 24 bit is fine too */
hr = IDirectDraw_SetDisplayMode(DirectDraw1, 640, 480, 24);
- }
- ok(hr==DD_OK || hr == DDERR_UNSUPPORTED, "SetDisplayMode returned: %x\n", hr);
- if (FAILED(hr)) {
goto out;
- }
- memset(&ddsd, 0, sizeof(DDSURFACEDESC));
- ddsd.dwSize = sizeof(DDSURFACEDESC);
- ddsd.dwFlags = DDSD_CAPS;
- ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
- hr = IDirectDraw_CreateSurface(DirectDraw1, &ddsd, &Primary, NULL);
- ok(hr==DD_OK, "IDirectDraw_CreateSurface returned: %08x\n", hr);
- memset(&ddsd, 0, sizeof(DDSURFACEDESC));
- ddsd.dwSize = sizeof(DDSURFACEDESC);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_PIXELFORMAT;
- ddsd.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER;
- ddsd.dwWidth = 640;
- ddsd.dwHeight = 480;
- ddsd.ddpfPixelFormat.dwSize = sizeof(ddsd.ddpfPixelFormat);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
- U1(ddsd.ddpfPixelFormat).dwRGBBitCount = 32;
- U2(ddsd.ddpfPixelFormat).dwRBitMask = 0x00ff0000;
- U3(ddsd.ddpfPixelFormat).dwGBitMask = 0x0000ff00;
- U4(ddsd.ddpfPixelFormat).dwBBitMask = 0x000000ff;
- hr = IDirectDraw_CreateSurface(DirectDraw1, &ddsd, &Backbuffer, NULL);
- todo_wine ok(hr==DD_OK, "IDirectDraw_CreateSurface returned: %08x\n", hr);
- if(FAILED(hr)) goto out;
- hr = IDirectDrawSurface_AddAttachedSurface(Primary, Backbuffer);
- todo_wine ok(hr == DD_OK || broken(hr == DDERR_CANNOTATTACHSURFACE),
"Attaching a back buffer to a front buffer returned %08x\n", hr);
- if (FAILED(hr)) goto out;
- attached = TRUE;
- memset(&ddbltfx, 0, sizeof(ddbltfx));
- ddbltfx.dwSize = sizeof(ddbltfx);
- U5(ddbltfx).dwFillColor = red;
- hr = IDirectDrawSurface_Blt(Backbuffer, NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx);
- ok(hr == DD_OK, "IDirectDrawSurface_Blt returned: %x\n", hr);
- U5(ddbltfx).dwFillColor = white;
- hr = IDirectDrawSurface_Blt(Primary, NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx);
- ok(hr == DD_OK, "IDirectDrawSurface_Blt returned: %x\n", hr);
- // Check it out
- color = getPixelColor_GDI(Primary, 5, 5);
- ok(GetRValue(color) == 0xFF && GetGValue(color) == 0xFF && GetBValue(color) == 0xFF,
"got R %02X G %02X B %02X, expected R FF G FF B FF\n",
GetRValue(color), GetGValue(color), GetBValue(color));
- color = getPixelColor_GDI(Backbuffer, 5, 5);
- ok(GetRValue(color) == 0xFF && GetGValue(color) == 0 && GetBValue(color) == 0,
"got R %02X G %02X B %02X, expected R FF G 00 B 00\n",
GetRValue(color), GetGValue(color), GetBValue(color));
- hr = IDirectDrawSurface_Flip(Primary, NULL, DDFLIP_WAIT);
- todo_wine ok(hr == DD_OK, "IDirectDrawSurface_Flip returned 0x%08x\n", hr);
- if (hr == DD_OK)
- {
color = getPixelColor_GDI(Primary, 5, 5);
ok(GetRValue(color) == 0xFF && GetGValue(color) == 0 && GetBValue(color) == 0,
"got R %02X G %02X B %02X, expected R FF G 00 B 00\n",
GetRValue(color), GetGValue(color), GetBValue(color));
color = getPixelColor_GDI(Backbuffer, 5, 5);
ok((GetRValue(color) == 0xFF && GetGValue(color) == 0xFF && GetBValue(color) == 0xFF) ||
broken(GetRValue(color) == 0xFF && GetGValue(color) == 0 && GetBValue(color) == 0), // broken driver
"got R %02X G %02X B %02X, expected R FF G FF B FF\n",
GetRValue(color), GetGValue(color), GetBValue(color));
- }
- out:
- if (Backbuffer)
- {
if (attached)
IDirectDrawSurface_DeleteAttachedSurface(Primary, 0, Backbuffer);
IDirectDrawSurface_Release(Backbuffer);
- }
- if (Primary) IDirectDrawSurface_Release(Primary);
- if (DirectDraw1) IDirectDraw_Release(DirectDraw1);
- if (window) DestroyWindow(window);
+}
START_TEST(visual) { HRESULT hr; @@ -2983,6 +3105,7 @@ START_TEST(visual)
D3D3_ViewportClearTest(); p8_primary_test();
DX1_BackBufferFlipTest();
return ;
-- 1.7.2
Hi Stefan,
On Thursday 19 August 2010 15:40:53 Stefan Dösinger wrote:
This test contains a C++ comment, please remove it. Otherwise it looks ok, as does patch 1
I will start sending patches one-by-one and wait until it is applied - as you recommended. It will not contain the [PATCH x/y] prefix, so don't be confused :-) I will also remove the "try 5" and start from the beginning.
I will start with this patch, description is unmodified, but the C++ comment is converted to C comment.
Oldřich.
Am 18.08.2010 um 22:01 schrieb Oldřich Jedlička:
dlls/ddraw/tests/visual.c | 123 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c index 290cb76..aecc2ab 100644 --- a/dlls/ddraw/tests/visual.c +++ b/dlls/ddraw/tests/visual.c @@ -2920,6 +2920,128 @@ static void depth_clamp_test(IDirect3DDevice7 *device)
ok(SUCCEEDED(hr), "SetViewport failed, hr %#x.\n", hr);
}
+static void DX1_BackBufferFlipTest(void) +{
- HRESULT hr;
- int ret;
- IDirectDraw *DirectDraw1 = NULL;
- IDirectDrawSurface *Primary = NULL;
- IDirectDrawSurface *Backbuffer = NULL;
- WNDCLASS wc = {0};
- DDSURFACEDESC ddsd;
- DDBLTFX ddbltfx;
- COLORREF color;
- const DWORD white = 0xffffff;
- const DWORD red = 0xff0000;
- BOOL attached = FALSE;
- wc.lpfnWndProc = DefWindowProc;
- wc.lpszClassName = "DX1_BackBufferFlipTest_wc";
- RegisterClass(&wc);
- window = CreateWindow("DX1_BackBufferFlipTest_wc",
"DX1_BackBufferFlipTest", + WS_MAXIMIZE | WS_VISIBLE | WS_CAPTION , 0, 0, 640, 480, 0, 0, 0, 0); +
- hr = DirectDrawCreate( NULL, &DirectDraw1, NULL );
- ok(hr==DD_OK || hr==DDERR_NODIRECTDRAWSUPPORT, "DirectDrawCreate
returned: %x\n", hr); + if(FAILED(hr)) goto out;
- hr = IDirectDraw_SetCooperativeLevel(DirectDraw1, window,
DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); + ok(hr==DD_OK, "SetCooperativeLevel returned: %x\n", hr);
- if(FAILED(hr)) goto out;
- hr = IDirectDraw_SetDisplayMode(DirectDraw1, 640, 480, 32);
- if(FAILED(hr)) {
/* 24 bit is fine too */
hr = IDirectDraw_SetDisplayMode(DirectDraw1, 640, 480, 24);
- }
- ok(hr==DD_OK || hr == DDERR_UNSUPPORTED, "SetDisplayMode returned:
%x\n", hr); + if (FAILED(hr)) {
goto out;
- }
- memset(&ddsd, 0, sizeof(DDSURFACEDESC));
- ddsd.dwSize = sizeof(DDSURFACEDESC);
- ddsd.dwFlags = DDSD_CAPS;
- ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
- hr = IDirectDraw_CreateSurface(DirectDraw1, &ddsd, &Primary, NULL);
- ok(hr==DD_OK, "IDirectDraw_CreateSurface returned: %08x\n", hr);
- memset(&ddsd, 0, sizeof(DDSURFACEDESC));
- ddsd.dwSize = sizeof(DDSURFACEDESC);
- ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT |
DDSD_PIXELFORMAT; + ddsd.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER;
- ddsd.dwWidth = 640;
- ddsd.dwHeight = 480;
- ddsd.ddpfPixelFormat.dwSize = sizeof(ddsd.ddpfPixelFormat);
- ddsd.ddpfPixelFormat.dwFlags = DDPF_RGB;
- U1(ddsd.ddpfPixelFormat).dwRGBBitCount = 32;
- U2(ddsd.ddpfPixelFormat).dwRBitMask = 0x00ff0000;
- U3(ddsd.ddpfPixelFormat).dwGBitMask = 0x0000ff00;
- U4(ddsd.ddpfPixelFormat).dwBBitMask = 0x000000ff;
- hr = IDirectDraw_CreateSurface(DirectDraw1, &ddsd, &Backbuffer,
NULL); + todo_wine ok(hr==DD_OK, "IDirectDraw_CreateSurface returned: %08x\n", hr); + if(FAILED(hr)) goto out;
- hr = IDirectDrawSurface_AddAttachedSurface(Primary, Backbuffer);
- todo_wine ok(hr == DD_OK || broken(hr == DDERR_CANNOTATTACHSURFACE),
"Attaching a back buffer to a front buffer returned %08x\n", hr);
- if (FAILED(hr)) goto out;
- attached = TRUE;
- memset(&ddbltfx, 0, sizeof(ddbltfx));
- ddbltfx.dwSize = sizeof(ddbltfx);
- U5(ddbltfx).dwFillColor = red;
- hr = IDirectDrawSurface_Blt(Backbuffer, NULL, NULL, NULL,
DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx); + ok(hr == DD_OK, "IDirectDrawSurface_Blt returned: %x\n", hr); +
- U5(ddbltfx).dwFillColor = white;
- hr = IDirectDrawSurface_Blt(Primary, NULL, NULL, NULL,
DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx); + ok(hr == DD_OK, "IDirectDrawSurface_Blt returned: %x\n", hr); +
- // Check it out
- color = getPixelColor_GDI(Primary, 5, 5);
- ok(GetRValue(color) == 0xFF && GetGValue(color) == 0xFF &&
GetBValue(color) == 0xFF, + "got R %02X G %02X B %02X, expected R FF G FF B FF\n", + GetRValue(color), GetGValue(color), GetBValue(color)); +
- color = getPixelColor_GDI(Backbuffer, 5, 5);
- ok(GetRValue(color) == 0xFF && GetGValue(color) == 0 &&
GetBValue(color) == 0, + "got R %02X G %02X B %02X, expected R FF G 00 B 00\n", + GetRValue(color), GetGValue(color), GetBValue(color)); +
- hr = IDirectDrawSurface_Flip(Primary, NULL, DDFLIP_WAIT);
- todo_wine ok(hr == DD_OK, "IDirectDrawSurface_Flip returned
0x%08x\n", hr); +
- if (hr == DD_OK)
- {
color = getPixelColor_GDI(Primary, 5, 5);
ok(GetRValue(color) == 0xFF && GetGValue(color) == 0 &&
GetBValue(color) == 0, + "got R %02X G %02X B %02X, expected R FF G 00 B 00\n", + GetRValue(color), GetGValue(color), GetBValue(color)); +
color = getPixelColor_GDI(Backbuffer, 5, 5);
ok((GetRValue(color) == 0xFF && GetGValue(color) == 0xFF &&
GetBValue(color) == 0xFF) || + broken(GetRValue(color) == 0xFF && GetGValue(color) == 0 && GetBValue(color) == 0), // broken driver + "got R %02X G %02X B %02X, expected R FF G FF B FF\n", + GetRValue(color), GetGValue(color), GetBValue(color)); + }
- out:
- if (Backbuffer)
- {
if (attached)
IDirectDrawSurface_DeleteAttachedSurface(Primary, 0,
Backbuffer); + IDirectDrawSurface_Release(Backbuffer);
- }
- if (Primary) IDirectDrawSurface_Release(Primary);
- if (DirectDraw1) IDirectDraw_Release(DirectDraw1);
- if (window) DestroyWindow(window);
+}
START_TEST(visual) {
HRESULT hr;
@@ -2983,6 +3105,7 @@ START_TEST(visual)
D3D3_ViewportClearTest(); p8_primary_test();
DX1_BackBufferFlipTest();
return ;