ddraw: Fix tests that fail with the reference rasterizer.
This commit is contained in:
parent
42db8b439f
commit
2f97a71e36
|
@ -1218,6 +1218,7 @@ static void AttachmentTest(void)
|
|||
IDirectDrawSurface *surface1, *surface2, *surface3, *surface4;
|
||||
DDSURFACEDESC ddsd;
|
||||
DDSCAPS caps = {DDSCAPS_TEXTURE};
|
||||
BOOL refrast = FALSE;
|
||||
HWND window = CreateWindow( "static", "ddraw_test", WS_OVERLAPPEDWINDOW, 100, 100, 160, 160, NULL, NULL, NULL, NULL );
|
||||
|
||||
memset(&ddsd, 0, sizeof(ddsd));
|
||||
|
@ -1269,21 +1270,41 @@ static void AttachmentTest(void)
|
|||
hr = IDirectDraw7_CreateSurface(lpDD, &ddsd, &surface4, NULL);
|
||||
ok(hr==DD_OK,"CreateSurface returned: %x\n",hr);
|
||||
|
||||
if (SUCCEEDED(IDirectDrawSurface7_AddAttachedSurface(surface1, surface4)))
|
||||
refrast = TRUE;
|
||||
|
||||
hr = IDirectDrawSurface7_AddAttachedSurface(surface1, surface4); /* Succeeds on refrast */
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 16x16 offscreen plain surface to a 128x128 texture root returned %08x\n", hr);
|
||||
if (refrast)
|
||||
ok(hr == S_OK, "Attaching a 16x16 offscreen plain surface to a 128x128 texture root returned %08x\n", hr);
|
||||
else
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 16x16 offscreen plain surface to a 128x128 texture root returned %08x\n", hr);
|
||||
if(SUCCEEDED(hr)) IDirectDrawSurface7_DeleteAttachedSurface(surface1, 0, surface4);
|
||||
|
||||
hr = IDirectDrawSurface7_AddAttachedSurface(surface4, surface1); /* Succeeds on refrast */
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 128x128 texture root to a 16x16 offscreen plain surface returned %08x\n", hr);
|
||||
if (refrast)
|
||||
ok(hr == S_OK, "Attaching a 128x128 texture root to a 16x16 offscreen plain surface returned %08x\n", hr);
|
||||
else
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 128x128 texture root to a 16x16 offscreen plain surface returned %08x\n", hr);
|
||||
if(SUCCEEDED(hr)) IDirectDrawSurface7_DeleteAttachedSurface(surface1, 0, surface1);
|
||||
|
||||
hr = IDirectDrawSurface7_AddAttachedSurface(surface3, surface4); /* Succeeds on refrast */
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 16x16 offscreen plain surface to a 32x32 texture mip level returned %08x\n", hr);
|
||||
if (refrast)
|
||||
ok(hr == S_OK, "Attaching a 16x16 offscreen plain surface to a 32x32 texture mip level returned %08x\n", hr);
|
||||
else
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 16x16 offscreen plain surface to a 32x32 texture mip level returned %08x\n", hr);
|
||||
if(SUCCEEDED(hr)) IDirectDrawSurface7_DeleteAttachedSurface(surface3, 0, surface4);
|
||||
|
||||
hr = IDirectDrawSurface7_AddAttachedSurface(surface4, surface3);
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 32x32 texture mip level to a 16x16 offscreen plain surface returned %08x\n", hr);
|
||||
if(SUCCEEDED(hr)) IDirectDrawSurface7_DeleteAttachedSurface(surface4, 0, surface3);
|
||||
|
||||
hr = IDirectDrawSurface7_AddAttachedSurface(surface2, surface4); /* Succeeds on refrast */
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 16x16 offscreen plain surface to a 64x64 texture sublevel returned %08x\n", hr);
|
||||
if (refrast)
|
||||
ok(hr == S_OK, "Attaching a 16x16 offscreen plain surface to a 64x64 texture sublevel returned %08x\n", hr);
|
||||
else
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 16x16 offscreen plain surface to a 64x64 texture sublevel returned %08x\n", hr);
|
||||
if(SUCCEEDED(hr)) IDirectDrawSurface7_DeleteAttachedSurface(surface2, 0, surface4);
|
||||
|
||||
hr = IDirectDrawSurface7_AddAttachedSurface(surface4, surface2);
|
||||
ok(hr == DDERR_CANNOTATTACHSURFACE, "Attaching a 64x64 texture sublevel to a 16x16 offscreen plain surface returned %08x\n", hr);
|
||||
if(SUCCEEDED(hr)) IDirectDrawSurface7_DeleteAttachedSurface(surface4, 0, surface2);
|
||||
|
|
Loading…
Reference in New Issue