Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at https://testbot.winehq.org/JobDetails.pl?Key=8529
Your paranoid android.
=== w2000pro (32 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(00000000) differs from the one returned by Lock(00A10028)
=== wxppro (32 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(00000000) differs from the one returned by Lock(00B50028)
=== wvistau64 (32 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(00000000) differs from the one returned by Lock(02C70028)
=== w2008s64 (32 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(00000000) differs from the one returned by Lock(02B90028)
=== w7u (32 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(00000000) differs from the one returned by Lock(01B70028)
=== w8 (32 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(00000000) differs from the one returned by Lock(019F0000)
=== wvistau64 (64 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(0000000000000000) differs from the one returned by Lock(00000000029F0040)
=== w2008s64 (64 bit dsurface) === dsurface.c:272: Test failed: lpSurface from GetSurfaceDesc(0000000000000000) differs from the one returned by Lock(00000000031A0040)
rc = IDirectDrawSurface_GetSurfaceDesc(lpDst, &ddsd3); ok(rc == DD_OK, "IDirectDrawSurface_GetSurfaceDesc between a lock/unlock pair returned %08x\n", rc);
- ok(ddsd3.lpSurface == ddsd3.lpSurface, "lpSurface from GetSurfaceDesc(%p) differs from the one returned by Lock(%p)\n", ddsd3.lpSurface, ddsd2.lpSurface);
- ok(ddsd3.lpSurface == ddsd2.lpSurface, "lpSurface from GetSurfaceDesc(%p) differs from the one returned by Lock(%p)\n", ddsd3.lpSurface, ddsd2.lpSurface);
So I guess it means test is incorrect, and implementation too.
On 17 August 2014 10:01, Nikolay Sivov nsivov@codeweavers.com wrote:
So I guess it means test is incorrect, and implementation too.
Yeah, most likely, although I haven't verified those results on real hardware.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/17/2014 10:01 AM, Nikolay Sivov wrote:
rc = IDirectDrawSurface_GetSurfaceDesc(lpDst, &ddsd3); ok(rc == DD_OK, "IDirectDrawSurface_GetSurfaceDesc between a lock/unlock pair returned %08x\n", rc); - ok(ddsd3.lpSurface == ddsd3.lpSurface, "lpSurface from GetSurfaceDesc(%p) differs from the one returned by Lock(%p)\n", ddsd3.lpSurface, ddsd2.lpSurface); + ok(ddsd3.lpSurface == ddsd2.lpSurface, "lpSurface from GetSurfaceDesc(%p) differs from the one returned by Lock(%p)\n", ddsd3.lpSurface, ddsd2.lpSurface);
So I guess it means test is incorrect, and implementation too.
Correct. One of my scripts has detected the comparison to self. I pinged Stefan and he wanted to look at it but seems that it got forgotten. There might be even emails on wine-devel about this >1 year ago.
bye michael
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-08-18 09:43, schrieb Michael Stefaniuc:
So I guess it means test is incorrect, and implementation too.
Correct. One of my scripts has detected the comparison to self. I pinged Stefan and he wanted to look at it but seems that it got forgotten. There might be even emails on wine-devel about this >1 year ago.
I remember that there was an application (Anarchy Online if my memory serves me right) that detected if a surface was locked by calling GetSurfaceDesc and checking if lpSurface was NULL. I'll do some testing on real HW and different IDirectDrawSurface versions.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-08-18 14:37, schrieb Stefan Dösinger:
I remember that there was an application (Anarchy Online if my memory serves me right) that detected if a surface was locked by calling GetSurfaceDesc and checking if lpSurface was NULL. I'll do some testing on real HW and different IDirectDrawSurface versions.
The app in question was Dungeon Keeper 2: https://www.winehq.org/pipermail/wine-patches/2007-May/039168.html
Testing on my AMD Radeon HD 5770 confirms the findings from the VM: GetSurfaceDesc returns lpSurface == NULL. IDirectDrawSurface7 behaves in the same way.