Intel Driver To Play A Bit Better With S3TC Compression
Ian Romanick sent out three new patches today on the mesa-dev list about "Enable some S3TC" for Intel's open-source Linux graphics driver. "This is mostly a re-spin of the patch that I sent out many months ago. The main change is that when on-line compression is not available, only a subset of extension strings is advertised. This was based on feedback from a developer whose application does submit uncompressed data with the expectation that the driver will compress it."
The patch that always enables the S3TC extensions reads, "Always enable the use of pre-compressed texture data. The ability to perform on-line compression still requires the presence of libtxc_dxtn or an explicit driconf over-ride. Applications that just want to submit precompessed data when an on-line compressor is not available can look for the GL_EXT_texture_compression_dxt1 and GL_ANGLE_texture_compression_dxt extensions."
S3TC has been a problem for all open-source Linux GPU drivers and the key support for it has resided in a library external to Mesa out of legal/patent features concerning the texture compression algorithm. At least though there is sort of a workaround albeit not as good. Fortunately, going into the future there is ETC2 texture compression that isn't a legal minefield.