On 10/12/06, Mike McCormack mike@codeweavers.com wrote:
Damjan Jovanovic wrote:
I'm trying to implement the "client-side DIB copy optimization" mentioned in dlls/winex11.drv/bitblt.c, but I'm having trouble. The patch (against wine-0.9.22) is attached.
The one app I know that uses it, Heroes of might and magic 4, runs much faster with the patch, but the graphics come out wrong: mouse droppings, black blocks, pictures drawn in wrong places (over panels) etc.
Is there something else I am supposed to be doing, like holding some lock, or doing something after I copy the pixels?
Have you considered clipping/overlapping/stretching areas?
How do you mean? I've checked for xSrc, ySrc, xDst, yDst, width and height being in range of both bitmaps, and they are.
What I did notice, is that the bitmap I draw on is modified on the X server while I draw. Don't know how that's possible, it is locked, and I tried XFlush(), GdiFlush() and glFinish() before I start drawing, all with no effect.
Mike
Thank you Damjan