1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Intel Driver To Play A Bit Better With S3TC Compression

Intel

Published on 21 January 2013 01:52 PM EST
Written by Michael Larabel in Intel
4 Comments

In addition to the Intel driver now always enabling floating-point textures, a patented feature but something that's required for GL3 compliance, the Intel DRI driver is set to play better with S3TC, the also patent-troubled but widely-used S3 Texture 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[35] 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.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. OPNsense 15.7 Released As Fork Of Pfsense
  2. The Less-Powerful Intel Compute Stick With Ubuntu Will Soon Ship
  3. Kodi 15.0 Release Candidate 1 Arrives
  4. Fedora 23: Python 3 Default Approved; Netizen Spin Rejected
  5. GNOME Shell & Mutter Just Landed More Wayland Improvements
  6. Ubuntu MATE Announces A Partnership With A PC Hardware Vendor
  7. Linux 4, GCC v. Clang & Vulkan Were Among The Hot Stories So Far This Year
  8. FUSE Starts Working On Scalability Improvements With Linux 4.2
  9. Steam Linux Usage Continued Falling In June
  10. Blender 2.75 Released With AMD OpenCL Support, Multi-View/Stereo 3D Pipeline
Latest Articles & Reviews
  1. 6-Way File-System Comparison On The Linux 4.1 Kernel
  2. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  3. Attempting To Try Out BCache On The Linux 4.1 Kernel
  4. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  3. Pinos Is For Linux Video What PulseAudio Is For Audio
  4. The State & Complications Of Porting The Unity Editor To Linux
  5. The Staging Pull For Linux 4.2: "Big, Really Big"
  6. Latest Rumor Pegs Microsoft Wanting To Buy AMD
  7. "PulseVideo" Coming To Complement PulseAudio?
  8. Exciting Features Merged So Far For The Linux 4.2 Kernel