ddraw / wined3d fighting over the resolution!

Peter Dons Tychsen donpedro at tdcadsl.dk
Wed Feb 13 21:22:16 CST 2008


Hi Stefan/Devs.

The funny old game "Insane" has a resolution bug when it exits.
I am not sure exactly how to fix this.

1) It call SetDisplayMode() - switches from 1280 x 1024 -> 640 x 480.
OK.
2) It creates a 3D surface which starts the SwapChain - swapchain saves
current resolution.
3) Exit. It calls RestoreDisplayMode() - switches back to 1280 x 1024.
OK.
4) SwapChain is destroyed. Switches "back" to 640 x 480 ! BAD!

I presume the code guesses that the caller does this in another sequence
(and it does work fine in other sequences).

Why does the SwapChain-destroy function play around with the resolution
at all. Is that really necessary? I think it should not do it if the
caller is ddraw at least.

How do i fix this?

Thanks,

/pedro




More information about the wine-devel mailing list