Stefan Dösinger stefandoesinger@gmx.at writes:
Patches 2, 3 and 4 fix bug 19365. In the long run we want to get rid of the dxVersion parameter that is used in this patch, but we haven't agreed on a way to do this so far, so lets fix the bug first.
It doesn't work here:
../../../tools/runtest -q -P wine -M ddraw.dll -T ../../.. -p ddraw_test.exe.so visual.c && touch visual.ok visual.c:600: Test failed: Offscreen failed: Got color 0x00ff00ff, expected 0x00ffffff. visual.c:788: Test failed: SRCALPHA on texture returned color 0x007f0080, expected 0x00bf4000 make: *** [visual.ok] Error 2
Am 01.10.2009 um 13:47 schrieb Alexandre Julliard:
Stefan Dösinger stefandoesinger@gmx.at writes:
Patches 2, 3 and 4 fix bug 19365. In the long run we want to get rid of the dxVersion parameter that is used in this patch, but we haven't agreed on a way to do this so far, so lets fix the bug first.
It doesn't work here:
../../../tools/runtest -q -P wine -M ddraw.dll -T ../../.. -p ddraw_test.exe.so visual.c && touch visual.ok visual.c:600: Test failed: Offscreen failed: Got color 0x00ff00ff, expected 0x00ffffff. visual.c:788: Test failed: SRCALPHA on texture returned color 0x007f0080, expected 0x00bf4000 make: *** [visual.ok] Error 2
I see what's going on.
The visual offscreen rendering test doesn't change the viewport(the test was ported from d3d9), so it ends up with a viewport that is bigger than the render target, and thus invalid. Trying to set the viewport just returned by GetViewport fails.
The combination of the failing test and my new test shows that Windows clamps the currently set viewport to the render target size, if the viewport is bigger. GetViewport still returns the viewport from the stateblock. A test shows that this clamping occurs even in d3d9.