ddraw: Reset the viewport data before each test

Alexander Dorofeyev alexd4 at inbox.lv
Sun Jun 15 09:21:43 CDT 2008


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.
> 




More information about the wine-devel mailing list