Two patches from Intel's Ian Romanick for their open-source Mesa DRI driver will now enable S3TC extensions always plus floating-point textures. These two features previously were not enabled by default out of patent fears.
The enabling of S3 Texture Compression
extensions always ensures the extensions are exposed whether or not the libtxc_dxtn library
is present -- this library is still needed for performing online S3TC compression, but sending of pre-compressed texture data remains fine. The open-source S3TC library isn't being merged to Mesa (unfortunately) nor does it appear the legal status concerning the notorious S3 Texture Compression patent has changed, but Intel is simply always advertising that it's there.
Always enable the use of pre- compressed texture data, and always advertise the ability to do on-line compression. The ability to perform on-line compression still requires the presence of libtxc_dxtn, so sometimes the driver incorrectly over-advertises functionality. This should not impact many (if any) real applications.
The other change is that floating-point textures
is now enabled. Floating-point textures were another feature that open-source developers have been careful around due to patent fears. Unlike S3TC where the patent-offending code is in a separate open-source library, with floating-point textures the support had to be integrated into mainline Mesa but hidden behind a non-default --enable-texture-float
switch because it otherwise wouldn't fit well into Mesa's architecture. That code has been in Mesa for many months now
, but Intel's deciding to now do away with the check and always have the support enabled for their DRI driver. Last year it was thought the S3TC patent was invalid or at least some of its key points, but nothing ended up clearing Intel's legal department nor any other details revealed.
Ian didn't write any commit message for his "Enable floating-point textures always" patch, but it does indeed do away with the checks so that texture-float
is always enabled. This means that OpenGL 3.0+ is now advertised by default since previously unless the texture-float switch was set, only GLSL 1.20 / OpenGL 2.1 support was advertised. Floating-point textures are needed for OpenGL 3.0.
I haven't heard of any floating-point texture patents being ruled out or if Intel struck up a legal deal with anyone, but it's nice to see floating-point textures by default and also that the S3TC texture compression extensions are now always shown. The patches can be found here