[PATCH 3/3] d3drm/tests: Add test for IDirect3DRM*::CreateDeviceFromD3D (try 4).

Stefan Dösinger stefandoesinger at gmail.com
Tue Jun 23 15:42:29 CDT 2015


-----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-----



More information about the wine-devel mailing list