I have seen this too, on a real XP machine with nvidia card. But it doesn't happen on some others, like a win98 machine I tried it on.
If I remember it correctly from the time I tried to debug it, one of the calls to TransformVertices there seemed to overflow the buffer on the stack it writes to, and it corrupts other things on the stack like the viewport data structure. Initializing viewport every time may work around that. As for the corruption itself, it may be a driver or native directx bug (that it works on some machines supports it). OTOH, it could be Wine doing something undefined that usually just works by luck, but, from what little documentation there is about this method in the sdk, I couldn't find what could that be.
Paul Vriens wrote:
James Hawkins wrote:
Hi,
Fixes bug 13643 and the ddraw:d3d tests.
Changelog:
- Reset the viewport data before each test.
dlls/ddraw/tests/d3d.c | 31 +++++++++++++++++++++------------ 1 files changed, 20 insertions(+), 11 deletions(-)
Can you explain why we have to do this? The fact that only Paul Millar's winetest seems to suffer from this is a bit odd, isn't it?
I'm just wondering if there are more issues like this that introduces failures in the tests or even worse lets tests succeed.