On Wed, Sep 28, 2011 at 11:51:16AM +0800, zhigang gong wrote: > On Wed, Sep 28, 2011 at 1:41 AM, Alon Levy <al...@redhat.com> wrote: > > On Tue, Sep 27, 2011 at 09:50:06PM +0800, zhigang gong wrote: > >> Hi Keith, > >> > >> Here is the pull request to merge glamor. Basically, it has three parts. > >> The first part is the 2D rendering acceleration implementation in > >> glamor directory. It supports both OpenGL/GLESv2. The second part is > >> in hw/kdrive/xephyr. This part integrate glamor into Xephyr. And by > >> specify a "-glamor" when invoke the Xephyr then you can use glamor > >> to accelerate the rendering operations. The third part is in > >> hw/xfree86/glamor. This part implements a standalone ddx driver based > >> on glamor, egl and kms. With this glamor driver, you can start up > >> a Xserver over Mesa/EGL directly, without any native window system. > >> > > > > I am not very familiar with either cairo/pixman, just know that it is > > used in spice, and it has a GL backend. There is also clutter, and some > > other open source 2D GL rendering libraries (qt canvas is also interesting, > > although I guess it's C++). How is glamor related to them? (I guess some > > of them don't support EGL, but looking at those who do - clutter certainly, > > runs on my n900, and qt as well I think). > > Well, I'm also not very familar with all of the 2D libraries you listed above. > I just try my best to explain the diffence and relationship here. I know > there are many real experts in this mail list. If I'm wrong, please correct > me. > > pixman is a pure software 2D rendering library. The rendering target must > be a frame buffer located at normal memory buffer. > > Cairo is a 2D graphics library with support for multiple output devices. Cairo > may utilize pixman to do the rendering if possible, for example when you > are using the image surface. When you are using other devices, such as > a xlib, then Cairo will utlize xlib's API to implement its rendering > functions. > > Glamor is not a general 2D rendering library. It is designed for the X11 > only. So it will not provide any APIs for other usage, it just be used > by Xserver's driver. And if you are using a xserver glamor driver, then > the calling to xlib/xcb library at client side will be routed to glamor > eventually. And one thing is possible that we may utilize cairo's EGL/GL > backend directly in glamor's implementation. > > Actually, the glamor's purpose is to build a fully accelerated hardware > independent 2D driver for xserver, although we still have a lot of things to > do to improve its performance. >
Thanks for explaining, Alon > > > > Alon > > _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel