Re: ddraw/tests: Correct test condition (PVS-Studio)
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.
-----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 SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iD8DBQFT8a6b0ei8kcpE1VERAoXgAJ9mV2gofvoSGwVqkRm0Om++dzMg4ACghDA0 gwkDBGFfhhrn3zWbIDjGFSU= =NdDR -----END PGP SIGNATURE-----
-----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 SIGNATURE----- Version: GnuPG v2 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT8fOdAAoJEN0/YqbEcdMwYOEP/1TvcB5KYWNHJQn34jjfWhyw SNaqy0aOhLijdnd+ZQtR2AY7EcEEW/hHr7LGfwo/cC1tE1T9kOgVgpVRMrcnvqO6 LQqxMjCt3vk30zrio/AfgU1qj0Dwybrw3wIWbsr29tF6QXMzfkx5kJVDCJm6NGEs XP19sEhL7LuN3xLIQwY1TvczOBaqmjaFzPdjvNGQCFMUZnylof20nwWS1NUZGgtG f9bjqHZtj9UAolcxND8I/yzT1/nfCW6ptKoZsGKNs+A5Q05aB3x7Zsy5XgAlx5PG SbREpenNFpNjCfLBNiPEm9yuaG+A6fJYaHoGgAKxfJYa73FIlF5n21tUrbE0cMAn A9NJplpGqstB2m+HayBGyYMzaivAHNQvm/9dnZRNFSYqPNVWjhIoOqCRuB1Bi06X 7mBX9CynYVaaa3lv1wHsixPYfp+j9TLW5cBSphfbylDVTQtDfe9c8o/z6gvB0vSG y7LiOGmyX+8sy4wtJ+WYWb7CpDmcSdH388DGxBacMiak3enj739ufCFGPi5Y6+4z Zf7/vwKBCeG7Wu9x3KJwkfkTM5XjAmufFtMV9e3ls88uX8P0cc60/r9PbV1etwsm Axn1egyiePPHY/uf4NsrBwQX0W0Jlzw4TDlC0E8ub31QQAyPI45B+8NEZ/TZqB9P YQbryA/EL90WRfSToDGK =diBQ -----END PGP SIGNATURE-----
-----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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT8gx2AAoJEN0/YqbEcdMwxRQQAJNU+yYFGJO6MV7kOBbPVCDQ VAked5UMNhGPDPuR/V0DpsBQe5qUmoVMaQ9jclsgyAIgaQSElB34W8yUVf9V2vsc jdMJDSyWjYhcWnrMSK2c5z3WiYa5/To7mXc5o/Id6LCIdEF2piKHAlf6PIJQGDOF SV7WWc5jbyvRyYifDHeKN+fm/mOzUBpiIZmgErifLd832YJwPcQvfvpMEHmlGROC gWF7Uwqg0eulwSyz5WYDvqpzRRCAMk2VZfAl2j9nCBHfJ7A1uHNb5iRu2Mai/UrZ tefLXgmGRY88gDayD9z7Ync1C/3d6TbxQI7WqYLIQo4GPAHBIa/uaAE8C6pNcbMp ZTPcP/04D3bat+yxghqPCGU6HLGZlongL82O463bZsCIK3ya3+DIfBL45wPnZQ4m htPJtattJWfhkYMZYfnnc+n5ZI7j32qrP8667Dvc9WBJPu0viXVJB0k5qKo2PHYd slifCafGsyipbJiK6GRRjsQHEktMPzbVi2At/gJ9UYc3AVztxyc/MIMBvPFdgKxa ZokHWsNYZXq164Rq10k57Ydfc/dcSzkDEscWBwdnVLP6nsJG6Kx8GIrgZVNXofma PeeNgwy/7xyaUeoeg3ineVxlLrcgyCCqQceCYegHxaqE9ChjbHI/USCCtoc6k2Zt MRHoSIPilAChUEH22FNW =xr8j -----END PGP SIGNATURE-----
participants (5)
-
Henri Verbeet -
Marvin -
Michael Stefaniuc -
Nikolay Sivov -
Stefan Dösinger