GLX TFP Now Works For LLVMpipe Driver

Written by Michael Larabel in Google on 25 October 2011 at 08:22 PM EDT. 1 Comment
GOOGLE
Thanks to Google's continued improvements to Gallium3D (namely the Intel Gallium3D driver and LLVMpipe), the GLX_EXT_texture_from_pixmap extension should finally be working correctly with the LLVMpipe driver. We may now finally see some compositing window managers working with this CPU-based software driver.

For those not up to speed:

GLX_EXT_texture_from_pixmap is a GLX extension that allows a color buffer to be used for both rendering and texturing, but namely is used for binding an X11 drawable to a texture. GLX_EXT_texture_from_pixmap is commonly required by compositing window managers (e.g. Compiz) for providing some level of desktop effects. For more details, read the OpenGL specification.

LLVMpipe is the software-based acceleration driver for the Gallium3D architecture that's used when no GPU hardware driver is available. LLVMpipe is much faster than Mesa's classic software rasterizer or the original Gallium3D-based software driver as it leverages LLVM for efficient shader generation and can take advantage of multiple CPU cores, SSE2/SSE3, and other modern CPU features.

LLVMpipe isn't fast enough to run most older (ioquake3 era) OpenGL games, even with today's very fast multi-core CPUs, but it might be enough to handle some basic desktop window effects now that there's finally GLX_EXT_texture_from_pixmap support. This could be if your graphics card has no hardware driver yet or if you're running in a virtualized environment where there might not be any hardware accelerated support.

Last month we saw Chrome/Chromium OS developers at Google working on software based support for the TFP extension. However, it didn't work for LLVMpipe. Thanks to a commit by Stéphane Marchesin, it looks like it finally might. In a commit adding just over 100 lines of new code to the GLX state tracker, Marchesin implemented texture_from_pixmap support without DRI. The comment reads, "Makes texture_from_pixmap work with non-DRI llvmpipe."

The commit can be found in Mesa Git master and can be viewed on the web. It's yet another feature to be found in the next Mesa release, which will come as either version 7.12 or 8.0 (contingent on OpenGL 3.0 support being finished by year's end).
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week