DSurface optimization, comments requested
H. Verbeet
hverbeet at gmail.com
Fri Jul 25 06:02:24 CDT 2008
2008/7/25 Aric Stewart <aric at codeweavers.com>:
> - IWineD3DSurface_LockRect(iface, &dlock, NULL, 0);
> + IWineD3DSurface_LockRect(iface, &dlock, DestRect, 0);
> dfmt = This->resource.format;
> slock = dlock;
I don't think you can simply insert DestRect there, unless it's the
same as SrcRect (because of the slock = dlock line a few lines down).
> if (DestRect)
> {
> - xdst = *DestRect;
> + xdst.top = 0;
> + xdst.bottom = DestRect->bottom - DestRect->top;
> + xdst.left = 0;
> + xdst.right = DestRect->right - DestRect->left;
> }
This will break things like checking for out of surface rectangles,
clipping and overlapping blits.
Stefan knows this part of the code better than me, but I don't think
there's anything wrong with the concept of the patch.
More information about the wine-devel
mailing list