If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Enesim: A Flexible, Extensible Graphics Framework

Phoronix: Enesim: A Flexible, Extensible Graphics Framework

Earlier this month I wrote about the Fog Framework, a high-performance graphics library alternative to the well-known Cairo. The principal developer of another open-source library, Enesim, has since written in about this project that works with the Enlightenment Foundation Libraries and focuses upon flexibility and extensibility...

Choice is good and all, but... what's the OpenCL backend about? How does that work?

You use OpenCL to do the compositing/rendering/whatever and then push it to an OpenGL texture or to a framebuffer?

Not sure what its advantages are.

For that matter, I'm not sure if OpenGL has any advantages over something more primitive like Xlib for 2d operations. The latency (especially for proprietary drivers) is pretty huge on OpenGL commands, especially stuff like shaders.

It's to the point that my Intel 965GM chipset in my 3-year old laptop can get more responsive 2d graphics (web browsing, GTK+ and Qt4 GUI apps, etc) than my top of the line HD7970. Of course, when it comes to serious workloads like GPU video encoding and Unigine games, the 7970 absolutely trounces the little IGP -- but the IGP definitely has low graphics pipeline latency in its favor. The UI just looks so sleek (even with a compositor like mutter or cinnamon) that the only way I've been able to reproduce this sleekness on a discrete GPU is to run Windows. Not sure why, but big discrete GPUs + Linux have always equalled slow 2D for me.

The GPGPU support (OpenCL / CUDA / DirectCompute) is good for things like gradient calculation and path triangulation. That is what Direct2D indirectly uses for its path rendering, and is what NVIDIA's GL extension (forget the name of it) uses. More Free/Open graphics libraries would likely use them if Linux actually had a worthwhile level of OpenCL support already.