-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 2015-06-23 um 20:19 schrieb Aaryaman Vasishta:
+ hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, coop_level); + ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); As long as you're always passing coop_level = DDSCL_NORMAL I don't think there's a need for the parameter.
+ if (coop_level & DDSCL_NORMAL) + { + IDirectDrawClipper *clipper; + + hr = IDirectDraw2_CreateClipper(ddraw, 0, &clipper, NULL); + ok(SUCCEEDED(hr), "Failed to create clipper, hr %#x.\n", hr); + hr = IDirectDrawClipper_SetHWnd(clipper, 0, window); + ok(SUCCEEDED(hr), "Failed to set clipper window, hr %#x.\n", hr); + hr = IDirectDrawSurface_SetClipper(surface, clipper); + ok(SUCCEEDED(hr), "Failed to set surface clipper, hr %#x.\n", hr); + IDirectDrawClipper_Release(clipper); + } I wonder why the ddraw test is setting a clipper on the offscreen surface. It should not have an effect. Henri, do you remember why this is done?
+ hr = IDirect3D2_QueryInterface(d3d2, &IID_IDirectDraw, (void**)&ddraw); Why aren't you using the existing ddraw1 interface variable?
+ primary_surface_found = FALSE; + hr = IDirectDraw_EnumSurfaces(ddraw, DDENUMSURFACES_ALL | DDENUMSURFACES_DOESEXIST, + NULL, NULL, surface_callback); + ok(hr == DD_OK, "Failed to enumerate surfaces (hr = %x).\n", hr); + ok(!primary_surface_found, "Primary surface shouldn't be created by CreateDeviceFromD3D.\n"); + IDirectDraw_Release(ddraw); + + hr = IDirectDrawSurface_GetAttachedSurface(surface, &caps, &ds); + ok(hr == DD_OK, "Cannot get attached depth surface (hr = %x).\n", hr); + + desc.dwSize = sizeof(desc); + hr = IDirectDrawSurface_GetSurfaceDesc(ds, &desc); + ok(hr == DD_OK, "Cannot get z surface desc structure (hr = %x).\n", hr); I think here it would be interesting to confirm that the Z surface is the one created by create_device(). -----BEGIN PGP SIGNATURE----- Version: GnuPG v2
iQIcBAEBAgAGBQJVicS1AAoJEN0/YqbEcdMwYNkQAIJL8xzJEd4WjLNzIw8wIuq3 BZiLV8SZIVTlCgZERHQQ46CqtG1MZ4JdZEOvEQpw1pGK0Keq3xTgPE7LLgNZzXx6 fg0Xm1CT9MwWalbj31HelKMB7yHnxTNHhE2oDncDboITI26kxL46IdCsTwJZD9cc yg65kkluHAUyT3+7+k7FFu7ZP3mQUOxnim4YkI3jx48Ls6snhMz6RZwTygZdJXvR eQ0pD/tMdGN/wDBy+y+Dehn2yWScbRgoO1GCqOLH4/L6y8rlAdLMSMZv4HWVN74m cAvpxKC0nketkROouNkDcHrjEhFbL3DnBeNRfd5IfnORgHjwZipqqv7dXhGWELZL R7ZpjtLEzV5/dL2pDjZri3j6Xpi5vZRhlMdiKAvCcNNYfFtXJcZSwlK0AP8ek1SF Lhr3RiOmY0RQ7a2K0Z0UqXCNr+vibBEsfBLdqhuTsC4ipMSzygo0J9dCVIoM9VOl SqjtXo0N6YdzZR0IGpSDuE/uCy33vu1D4ykqyW7UBGkT2CUNTVxfUEPkERnr26E0 h11OrBrNKoNSlxaeg1IcVdh9iipabkAF+iL5XqDsXzT/45TrvBvKsYYL+eRSSbtE q94hxYKMupoIHFtsx62wwhVZUYsf/8x27662aDmY3LmixAb8iOR08lo2JhKczOSZ mootefOFvk8PZPkF5Z8G =Zo0P -----END PGP SIGNATURE-----