Hi Alexander,
I had a look at your patches again, and another issue came to my mind: I am
not sure how the scissor rectangle and viewport affects ColorFill blits.
IDirect3DDevice::Clear is limited by the viewport, the scissor test and the
rectangles passed in, but I think that this doesn't apply to ColorFills. If
that is true, I think there isn't much point in having a common codepath, and
we should just put the glClear() call into COLORFILL itself - Dealing with
the differences of those two calls will be more effort than the code shared.
But I think we need a test for this. There is a clear() test in
dlls/ddraw/tests/visual.c, but the d3d9 test tests a few more things. It
should be possible to add a COLORFILL test to the visual.c clear test in
ddraw as well, this will show if Windows honors the scissor and viewport in
COLORFILL or not.
Yes, I know... Start fixing one bug, and you'll run into a lot more. Happens
to me all the time as well :-)
Stefan