http://bugs.winehq.org/show_bug.cgi?id=12485
Summary: BitBlt does not ignore source clipping Product: Wine Version: CVS/GIT Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv AssignedTo: wine-bugs@winehq.org ReportedBy: chris@chris-wilson.co.uk
Created an attachment (id=12046) --> (http://bugs.winehq.org/attachment.cgi?id=12046) winex11: Ignore source clipping in BitBlt.
Currently X11DRV_ClientSideDIBCopy checks for unhandled clipping modes using: if (GetRgnBox(physDevSrc->region, &unusedRect) == COMPLEXREGION || GetRgnBox(physDevDst->region, &unusedRect) == COMPLEXREGION) However, "BitBlt only does clipping on the destination DC" [source MSDN].
This causes a failure whilst testing cairo, in test/clip-fill-rule-pixel-aligned targeting a similar ARGB32 surface (i.e it first draws to an offscreen surface and then blits that to the destination), which is presumably indicative of a secondary bug along the X11DRV_ClientSideDIBCopy failure path.