I'm sorry I haven't take the time to fully review the cairo patch, but I just want you to be aware of the work Eric Anholt did a couple of years ago to support the extend repeat modes and server-side gradients (but we failed to merge in a timely manner): http://cgit.freedesktop.org/~anholt/cairo/log/?h=server-gradients
If you care to implement something along those lines, then I will be happy to merge it into upstream post-1.10 (which should give us a while to check the behaviour on non-Ubuntu systems). And also provide the circumstances where implementing h/w accelerated gradients becomes worthwhile. I suspect that even with s/w fallbacks switching to XRender gradients should be a performance win due to reduced transport costs and potentially improved pixmap allocation.
I'm sorry I haven't take the time to fully review the cairo patch, but I just want you to be aware of the work Eric Anholt did a couple of years ago to support the extend repeat modes and server-side gradients (but we failed to merge in a timely manner): http:// cgit.freedeskto p.org/~ anholt/ cairo/log/ ?h=server- gradients
If you care to implement something along those lines, then I will be happy to merge it into upstream post-1.10 (which should give us a while to check the behaviour on non-Ubuntu systems). And also provide the circumstances where implementing h/w accelerated gradients becomes worthwhile. I suspect that even with s/w fallbacks switching to XRender gradients should be a performance win due to reduced transport costs and potentially improved pixmap allocation.