[2/4] ddraw: Add more tests and fixes for SetSurfaceDesc

Stefan Dösinger stefandoesinger at gmx.at
Tue Nov 15 13:28:10 CST 2011

On Tuesday 15 November 2011 15:19:20 Henri Verbeet wrote:
> (E.g. does calling SetSurfaceDesc() with the original surface desc
> work?
That's a reasonable thing to test, I'll add it to the test(The answer 
is no, you can't set the original surface desc).

> What about bits not in DDSD_ALL? Etc.)
I forgot a test that shows that SetSurfaceDesc is valid only on systemmem 
surfaces(as the msdn claims). The flags I tested are those that make sense on 
systemmem surfaces.

I don't think testing the other bits without an app that uses them is a 
good idea. The YV12 blitting issue from yesterday was a reminder of that - 
in corner cases like that you probably get 3 different results on 3 different 
systems and have to explain them.

I'm working on adding a test for various pools and plain surfaces vs textures.

> Also, as a general
> principle, I'd be happier about the ddraw tests if they actually
> tested all the different interface versions.
In principle I agree, but handling this on a per-test basis won't work. The 
behavior doesn't just depend on the interface version you call, but also the 
version with which the object was created(see e.g. surface::GetDDInterface, 
ddraw::QueryInterface). To properly test the version differences you have to 
create all versions and QI all versions from each of them and run the tests on 
those interfaces.

For that reason I'm currently ignoring the interface versions unless the API 
makes differences likely(e.g. DDSURFACEDESC.dwSize) or an application depends 
on version specific behavior(e.g. refcounting).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20111115/4ca4dedc/attachment.pgp>

More information about the wine-devel mailing list