Hi, > Currently there exist several operations in xrender that are better > off client side or through some other graphic api (imo). Think of > trapezoid rasterisation, gradient rendering, etc. > Doing this stuff > client side avoids unforseen migration issues and doesn't create any > false impressions with the api users. Well, in my opinion this is not a question where to do the stuff (client/server) - but rather how. Both, trapezoids and gradients cause migration because EXA currently has a quite strict view on accaleration. If something can be done on hw its done by hw, otherwise eerything else is migrated out.
You still could to the same on the server you would do on the server-side. Just imagine you copy gradients or traps to temporary surface before you use them in a composition operation - it would be the same as client side, except you don't need to copy everything arround. Furthermore drivers often can fallback efficiently, like Intel drivers with GEM. If you omit gradients or trapezoids you would also have to transport a lot of stuff over wire - not really nice. > My suggestion would be to deprecate everything, except solid, > composite, cursor stuff and glyphs. The idea is to stop doing > seemingly arbitrary graphics operations that end up causing slowness > most of the time (if not worked around "properly"). At this stage > noone accelerates these operations, so there can be no complaints > about that. Well at least nvidia plans to accalerate gradients as well as trapezoids in theirproprietary drivers. Intel also has plans to optimize gradients with shaders. My opinion is that RENDER is quite fine, but there are some parts where drivers are lacking. Hopefully the situation will improve soon, at least for gradients. - Clemens _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
