On Mon, Jun 6, 2016 at 3:41 AM, Stefan Dösinger <stefandoesinger@gmail.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Am 2016-06-05 um 19:28 schrieb Aaryaman Vasishta:
> +    hr = IDirect3DRM_CreateViewport(d3drm1, device1, frame, 0, 0, 0, 0, &viewport);
> +    ok(SUCCEEDED(hr), "Cannot get IDirect3DRMViewport interface (hr = %x)\n", hr);
> +    ref4 = get_refcount((IUnknown *)d3drm1);
> +    todo_wine ok(ref4 > ref1, "Expected ref4 > ref1, got ref1 = %u, ref4 = %u.\n", ref1, ref4);
> +    ref4 = get_refcount((IUnknown *)d3drm2);
> +    ok(ref4 == ref2, "Expected ref4 == ref2, got ref2 = %u, ref4 = %u.\n", ref2, ref4);
> +    ref4 = get_refcount((IUnknown *)d3drm3);
> +    ok(ref4 == ref3, "Expected ref4 == ref3, got ref3 = %u, ref4 = %u.\n", ref3, ref4);
Does creating the viewport have any influence of the device's or the frame's refcount?
It does increase the frame's refcount by 1, but it doesn't affect the device's refcount. I'll add tests to reflect this.


> +    hr = IDirect3DRM_CreateViewport(d3drm1, device1, frame, -1, 0, 0, 0, &viewport);
> +    todo_wine ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
x, y, width and height are DWORDs. -1 only makes limited sense here. It is probably better to test width and height = 0 and test x and (x + width) against the device's render target size. (smaller, matching, larger. Also obviously the same with y + height).
Right, the documentation states that the call fails if the size of viewport > than size of the physical device. I've used the window rect's right and bottom for width and height respectively. So I could probably test for right +1, bottom +1, which should fail. Or is there some other way you want me to use x and y? Currently, x and y are always 0, since the window rect is set that way.

Cheers,
Aaryaman
 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXVKOEAAoJEN0/YqbEcdMwKvsP/jzDXf0eCqtCjXtfEiOlknWL
iaBRAFHJnFz7fhFX1yZDX63HScoksoWw3TAby6LDX8zA0oVMWP7IYLXk+lx4xPTg
mj8+lhvyPNPDl+PQ4feU/1sAwByBVR9qn6kwxgF6nsW0RXqalCeztcMxLOkC5kXZ
bGbt/t4ZaCNVyZLjv5tYOcUHq+MP9Q8cKnbq3cGaivsd/cab4ORfpFccstBqLlL+
LJD65/oCtq9A+OGORVxuin7CFszSP9OR3/vFiCDMvJFjIFMWSss4gTxF4vvamD9+
Fie3E85DBWr3fBomKlKEPeky7LW0QBv5NcdzJhLaXiaCkxgKd5s54v70+2C4OSEE
/N1P5v4vCjfJ8ZhFKyXJmTa6NPO0qXTnGY+HREmhva/aemTG706DaS58mWacovr1
+xx5uvMcuG2dQUGqDjp3KVKz+wLnPovfn3WoEtQ82Tvgq3g2aJbsEKHhFUjkscpG
l/Ck0NcZMnQA7OxREO8+D2R7rSI+WdLyKHTrPmWc8HJ/5EWL2LE2YkdwNvjzpbTI
7fWHd5PE1NFdw7xzcHajq62485fZe1T+vt1qkMO70qjRkvlGgW/OI1VzVr7GyhSp
UBxXTHrb32rQn3UD36SAYiGh6pF5HAszSAUVeesUx0VEAsP/CazZS0HHOP5fksrc
MmZ1+t0cL04S8q0bGxLc
=9s0i
-----END PGP SIGNATURE-----