Le 11/12/2015 19:27, Matteo Bruni a écrit :
Thanks. You said "I don't get the header->caps == DDS_CAPS_TEXTURE case ever, except on Wine". Do you mean that if you use native version of d3dx9_36 from both your winxp and win7, you get only DDS_CAPS_TEXTURE with Alistair's tests?
I haven't tried the native DLL on Wine but I expect it to give the same result as on Windows. It isn't an interesting case anyway. What I meant is that at this point only Wine (builtin) gives a different result, as far as I am aware, so that check should only allow the caps == (DDSCAPS_TEXTURE | DDSCAPS_ALPHA) case and be marked with todo_wine. Unless there is some Windows version that gives a different result but I don't see any evidence of that as of now.
I agree to mark the test as todo_wine with caps == (DDSCAPS_TEXTURE | DDSCAPS_ALPHA) for now. DDSCAPS_ALPHA is probably set depending on the D3D format of the surface so another patch can be written to set this value correctly with a additional test without alpha channel. The test used an A8R8G8B8 that's why DDSCAPS_ALPHA is set. My patch was originally written to fix Dragon Age screenshot for saved games. I didn't see the DDSCAPS_ALPHA set probably because the surface didn't have an alpha channel.