On Wed, 2008-09-10 at 17:49 +0000, Lars Oliver Hansen wrote: > Hi, > > thanks to your list members I have direct rendering working now. I > "wanted" this as it "sounds" faster than indirect rendering for 3D > games and as I read that it is required for Compiz. However AIGLX is > supposedly needed for Compiz too. Now AIGLX is "Accelerated Indirect > GLX" and I again supposedly needed the setting > LIBGL_ALWAYS_INDIRECT=true. For a 3D game I have a script which > unloads Compiz and replaces it by MetaCity. If direct rendering is > faster, is it possible to unload AIGLX or disable it for the game?
An OpenGL context can be either direct, or indirect. Direct contexts load a driver into the client and submit commands directly to the hardware. Indirect contexts send GLX protocol to the X server, which then renders it "somehow". Historically, indirect GLX was rendered with a software rasterizer. It worked but it's slow. All AIGLX is, is the ability for the server to load an accelerated 3d driver and handle indirect contexts that way. It happens to be the same driver as is used in direct contexts. The reason you need AIGLX for compiz is because, with the open source drivers, the GLX_EXT_texture_from_pixmap extension only works in indirect contexts, because it only works when the pixmap and the texture are in the same address space, and the only process with access to both is the X server. But, in the context of games, none of this matters, because you can have as many GL contexts as you like. Your game is just going to use a direct context, so it doesn't matter whether the server accelerates indirect contexts or not. So it doesn't make sense to talk about "unloading AIGLX". - ajax
signature.asc
Description: This is a digitally signed message part
_______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
