mirror of
https://salsa.debian.org/xorg-team/lib/pixman
synced 2026-08-11 09:32:37 +00:00
Bug 22844 demonstrates that it is not sufficient to play tricks with the clip regions to work around the bogus images from the X server. The problem there is that if the operation hits the general path and the destination has a different format than a8r8g8b8, the destination pixels will be fetched into a temporary array. But because those pixels would be outside the clip region, they would be fetched as black. The previous workaround was relying on fast paths fetching those pixels without checking the clip region. In the new scheme we work around the problem at the pixman_image_composite() level. If an image is determined to need a work around, we translate both the bits pointer, the coordinates, and the clip region, thus effectively undoing the X server's broken computation. |
||
|---|---|---|
| .. | ||
| alpha-test.c | ||
| clip-in.c | ||
| clip-test.c | ||
| composite-test.c | ||
| convolution-test.c | ||
| fetch-test.c | ||
| gradient-test.c | ||
| Makefile.am | ||
| oob-test.c | ||
| region-test.c | ||
| scaling-test-bisect.rb | ||
| scaling-test.c | ||
| screen-test.c | ||
| trap-crasher.c | ||
| trap-test.c | ||
| utils.c | ||
| utils.h | ||
| window-test.c | ||