[resend PATCH] d3d9/tests: Some tests for D3DPRESENTFLAG_LOCKABLE_BACKBUFFER mode

Henri Verbeet hverbeet at gmail.com
Tue Sep 19 06:14:45 CDT 2017


On 19 September 2017 at 08:00, Nikolay Sivov <nsivov at codeweavers.com> wrote:
> Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
> ---
>  dlls/d3d9/tests/device.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 91 insertions(+)
>
I think this would apply to d3d8 as well.

> +    hr = IDirect3DDevice9_GetBackBuffer(device, 0, 0, D3DBACKBUFFER_TYPE_MONO, &surface);
> +    ok(SUCCEEDED(hr), "Failed to get backbuffer, hr %#x.\n", hr);
> +
> +    hr = IDirect3DSurface9_LockRect(surface, &lockrect, NULL, D3DLOCK_DISCARD);
> +todo_wine
> +    ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x.\n", hr);
...
> +    hr = IDirect3DDevice9_Reset(device, &present_parameters);
> +    ok(SUCCEEDED(hr), "Failed to reset device, hr %#x.\n", hr);
It's interesting that that works, actually. Since the LockRect()
succeeds on Wine, the surface is mapped when the reset happen. That
seems like the kind of thing that shouldn't be allowed.



More information about the wine-devel mailing list