Super! Patented Mesa Floating-Point Is Merged!

Posted by Michael Larabel on April 15, 2011

Here's quite a pleasant surprise to wake up to this morning: OpenGL floating-point textures and render-targets support has finally been merged to mainline Mesa master! The drawn-out process that began more than a month ago is finally over.

Pushed to Mesa master over the night was Marek Olšák's patches for float textures in supporting the ARB_texture_float extension and render-buffers, which is part of the OpenGL 3.0 specification. Marek's work is fully supported in the ATI R300 Gallium3D driver while other drivers can now easily hook into this newly-added support that up until now was living in a branched version of Mesa.

Though as previously discussed, while this code is now in the mainline Mesa code-base and will be part of the Mesa 7.11 release, it will not be enabled by default. Due to patent concerns, enabling this support must be done at compile-time by setting the --enable-texture-float flag. If it's not set, you'll still be left without the support. At least though it's easier building mainline Mesa rather than having to worry about separate branches, etc.

The patches dropping in this support can be found from the Mesa Git log. VMware's José Fonseca has also added a patents document to the Mesa tree that describes this situation.
ARB_texture_float:

Silicon Graphics, Inc. owns US Patent #6,650,327, issued November 18, 2003 [1].

SGI believes this patent contains necessary IP for graphics systems implementing floating point rasterization and floating point framebuffer capabilities described in ARB_texture_float extension, and will discuss licensing on RAND terms, on an individual basis with companies wishing to use this IP in the context of conformant OpenGL implementations [2].

The source code to implement ARB_texture_float extension is included and can be toggled on at compile time only by those who purchased a license from SGI, or are in a country where the patent does not apply.

The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

You should contact a lawyer or SGI's legal department if you want to enable this extension.

[1] http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327
[2] http://www.opengl.org/registry/specs/ARB/texture_float.txt

Don't expect to find this enabled-by-default soon in any mainstream Linux distributions over these patent concerns. The Linux Foundation was looking into 3D patent issues as it would be rather great if SGI would voluntarily provide a patent covenant to the open-source / Mesa community, but so far it doesn't appear their legal work has done any good. Back at the Linux Foundation Collaboration Summit earlier in the month I asked Keith Packard if he heard anything resulting from the Linux Foundation looking into the Mesa patent issues, but he hadn't heard of anything coming to fruition.

Meanwhile, the S3TC texture compression work hasn't been merged to mainline Mesa. While this too is in another patent mess, this at least can be provided to Mesa by an external shared library and doesn't need to be built into core Mesa itself for being a clean implementation.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Debian GNU/Hurd 2013 Release Brings New Packages
  2. AMD RadeonSI Gallium3D Begins Simple CL Demos
  3. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  4. Steam: No used games...
  5. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  6. Linux Desktop Security Could Be A Whole Lot Better
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite