> Modern cards do not HAVE 2D acceleration modules.
Well, it actually depends on a particular chip but ok, let's say that they ALSO have 2D acceleration.
> Recent Radeons simply use OpenGL to do 2D drawing
Radeon is not the best example. Simple CPU-based software 2D rendering there is often faster than doing that through driver/hardware.
> (GLAMOUR layer).
Ehm. Glamour is an option. And it's not the best option. It's idea is to make driver support easier by making things simpler AND SLOWER, because you can't do many specific optimisation with it any more. That's why Intel SNA acceleration rocks. :)
> And XRender is focused on trapezoids instead of triangles, which makes it non-trivial to implement. So it works quite poorly.
Hm... Xrender does not stop you from drawing triangles, but... Do you know that images are usually rectangular, not triangular? How do you expect to put rectangular image on a triangle?
> Besides, XRender is not that great even in the best of times.
XRender is a protocol. Or are you talking about its support in drivers?
> Its support for gradients is not that great, line drawing is mediocre, no support for text rendering, etc.
XRender, as a protocol, has great support for gradients, line drawing and text rendering. As for its hardware acceleration in drivers it depends on a driver of course.
That's the point of XRender! You make a good implementation of XRender hardware acceleration in a driver just once, each driver can have different implementation, optimized for that particular piece of hardware. The software just use XRender and does not care which hardware it works on.
Without XRender you have to implement hardware-specific hacks in EVERY PROGRAM in the world, or actually that would be every toolkit. That's what Wayland wants you to do. Otherwise your program may be even slower than using a software rendering.