When there is a transform, EXTEND_NONE is not what we want, is incorrectly implemented by NVIDIA drivers to extend CONTENT_COLOR surfaces with black, and is slower than EXTEND_PAD with other drivers.
Created attachment 651268 [details] [diff] [review]
provide a gfxXlibSurface method to indicate when cairo's extend_pad will be slow
The only supported free distribution that I know still has one of these old
servers is OpenSUSE 11.2. It has xorg server 1.6.5 and I understand the
Evergreen community is endeavouring to support this version. (The oldest
currently supported Debian release is 6.0 squeeze which has xorg-server 1.7.7.
Ubuntu 10.04 LTS has 1.7.6.)
The latest SLES, 11-SP2 also still has only xorg-server 1.6.5. Their
customers should expect a functional RepeatPad, but unfortunately cairo will
effect the workaround and take the readback path.
Created attachment 651270 [details] [diff] [review]
use extend_pad when compositing image layers even for Quartz and X11
Bug 562746 comment 65 removed use of EXTEND_NONE in gfxDrawable with Quartz
because of changes in the cairo implementation, so I expect the same reasoning
to apply here.