R600 Gallium3D Driver Now Supports S3TC Library

Written by Michael Larabel in AMD on 15 February 2011 at 09:16 AM EST. 71 Comments
AMD
While there is not integrated support for S3 Texture Compression (S3TC) support fully integrated into the Mesa / Gallium3D code-base over patents covering the algorithm, there are Mesa drivers that support hooking into an external S3TC library. This external S3TC support requires setting a special variable in the build process and building the S3TC library (named libtxc_dxtn.so) after obtaining the code from an independent source. This move shifts the legal burden from the Mesa developers and onto the user.

Support for using this external S3TC library on the ATI R600 Gallium3D "R600g" driver has been sought after by users for months as there are a number of games on Linux (and under Wine) that require this texture compression extension. The hooks have been in place for the classic Mesa R600 driver (and the ATI R300 drivers), but it wasn't until yesterday that the hooks were in place for the R600g driver.

Now if you really want to use the S3TC support with the R600g driver, pull the latest Mesa code for 7.11-devel after building libtxc_dxtn. Assuming you aren't hit by any bugs, it should work.

This is the commit that adds in the S3TC formats, it was written by David Airlie. "On r600, s3tc formats require a 1D tiled texture format, so we have to do uploads using a blit, via the 64-bit and 128-bit formats Based on the r600c code we use a 64 and 128-bit type to do the blits. Still requires R600_ENABLE_S3TC until the kernel fixes are in, this has only been tested on evergreen where the kernel doesn't yet get in the way."

According to this bug report that is for GL_EXT_texture_compression_s3tc extension support on R600g, with the latest Git master for at least one user, Quake 4 is now running and Max Payne 2 is running through Wine, but the FEAR game running through Wine is triggering GPU resets.

It's too bad there is not S3TC support in Mesa, but for those wishing to jump through the hurdles to use this external library (and are aware of its availability), it should now be possible to use with the R600/Evergreen/Northern-Islands Gallium3D driver.
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