ddraw correctness fixes patch
Matthew Mastracci
matt at aclaro.com
Fri Mar 18 08:51:03 CST 2005
Thanks for the review - comments inline.
Christian Costa wrote:
>>The new locking mechanism is wrong.
>>DDLOCK_xxx are just used for optimization.
>>
>>The thing to do during the blit should be something like that :
>>
>>sdesc.dwSize = sizeof(sdesc);
>>ddesc.dwSize = sizeof(ddesc);
>>if (src == NULL)
>>IDirectDrawSurface7_Lock(iface, &lock_dst, &ddesc, DDLOCK_WRITEONLY, 0);
>>else if (src == iface) {
>>RECT lock_union = < rect that just contains lock_dst and lock_src >;
>>IDirectDrawSurface7_Lock(iface, &lock_union, &ddesc, 0, 0);
>>sdesc = ddesc;
>
>
> I think here that sdesc and ddesc surface pointers should be remapped according to lock_src and lock_dest.
The above logic makes sense - I originally tried to solve it this way,
but ended up failing because of the sdesc and ddesc mapping issue. Any
idea how to do this cleanly?
>>The added DD_STRUCT_INIT are useless.
Noted.
Matt.
More information about the wine-devel
mailing list