Christian Costa wrote:
I think the problem Matthew was talking is how to remap surface pointers.
I sent something to Mattew but I forgot to cc wine-devel, sorry.
Basically it was :
depth = surface_desc.u4.ddpfPixelFormat.u1.dwRGBBitCount; ddesc.lpSurface -= (lock_dst.left - lock_union.left)*(depth+7)/8 + ddesc.lPictch * (lock_dst.top - lock_union.top); sdesc.lpSurface -= (lock_src.left - lock_union.left)*(depth+7)/8) + sdesc.lPictch * (lock_src.top - lock_union.top);
I implemented the surface pointer remapping in my lastest patch, but chose to adjust the surface pointers from the raw surface pointer instead of the pre-adjusted value returned from the Lock() call. It's the same logic, but easier to verify as correct to the eye.
If you could take a look at the latest patch, I'd appreciate it.
Matt.