client-side DIB copy?

Damjan Jovanovic damjan.jov at
Fri Oct 13 11:39:28 CDT 2006

On 10/12/06, Mike McCormack <mike at> 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

More information about the wine-devel mailing list