Samstag, 20. Februar 2010

Fglrx to get XRender hw acceleration

According to Phoronix fglrx (AMD's closed-source graphic driver) has experimental support for accelerating 2D, I guess that means XRender (too?). I've been told for a long time by an AMD guy they are working on this, however after waiting for over a year I already gave up hoping for improvements.

Basically this is really great (if they produce something useable), because now *all* drivers have solid XRender support:
  • NVidia's proprietary drivers are best in class, doing even Trapezoids on the GPU (for GTX260++)
  • All major open-source drivers (intel, radeon, nouveau) support XRender quite well
  • Hopefully soon fglrx will accelerate it soon too.

So basically 95% of hw in use has drivers with quite good XRender support :)
And even on hardware/driver combos that don't accelerate it well, pixman fallbacks shouldn't be much slower than what java does with its X11 pipeline.

I would love to see it enabled in JDK7 by default, even it that would mean a lot of work + compatibility testing. JDK7 is still early enough to get serious testing. As optional pipeline, it seems notbody uses it (or it just works) ;)


mcloud hat gesagt…

I heard complains on cairo mailing about the slowness of their old OpenGL surface due to pour choice in trying to follow XRender spec. Then somone suggested trying to make a Gallium target instead. I wonder if going XRender now in java land, taking into account how much time it takes for anything to get changed wouldn't be a bad move now? Of course, XRender now would be the best ready-bet (I saw the screenshots and benchmarks), but is it for the future?
Btw, even if it isnt enabled by default, can it be choosen on userland by any option on JDK7 builds? Would be interesting if that were possible, is hard to test anything on day-to-day job having to build everything :)

Linuxhippy hat gesagt…

> but is it for the future?

Who cares ;)
Gallium is driver/system specific and has currently no userbase and OpenGL is quite broken with free drivers. Once its stable using the OpenGL-Java2D-pipeline instead of the XRender one might be a good idea for graphic intensive apps.

By the way cairo's problem was they implemented xrender on top of opengl and then used their existing codebase.

> Would be interesting if that were
> possible, is hard to test anything on
> day-to-day job having to build
> everything :)

Good idea, I'll prepare pre-built packages for download.
IcedTea has an old version integrated, which differs quite a lot from the current code.