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.org

Mesa Makes More Strides Towards OpenGL 3.x Support

Mesa

Published on 15 July 2010 10:29 AM EDT
Written by Michael Larabel in Mesa
9 Comments

The OpenGL 3.0 specification was announced in August of 2007 and has already been succeeded by OpenGL 3.1, OpenGL 3.2, and then earlier this year came OpenGL 3.3 and OpenGL 4.0. While the 3.0 revision to this industry standard graphics API has been around for nearly three years, it's still not fully supported by the open-source Mesa graphics stack. Progress though is being made.

Mesa still lags behind greatly with OpenGL 3.x (and now, OpenGL 4.0) support along with the respective GLSL (GL Shading Language) updates that have come in tandem. There was also supposed to be an OpenGL 3.1 state tracker for Gallium3D that's been talked about for more than a year, but it has yet to emerge. Originally, patents were blamed as a hurdle in providing full OpenGL 3.x support within Mesa, but support for the new OGL3 extensions have been coming slowly. Once there is proper OpenGL 3.x support within Mesa's core (at least within the software portion, not necessarily implemented by Gallium3D or the DRI hardware drivers) it will be released as Mesa 8.0, but it seems we're still a way from reaching that point.

VMware's Brian Paul announced a new branch of Mesa last night that brings one new OGL3 extension: GL_NV_primitive_restart. The GL_NV_primitive_restart extension became part of the Khronos specification with OpenGL 3.1, but has been a NVIDIA extension going back to 2002.

GL_NV_primitive_restart allows OpenGL applications to restart a primitive in its middle. According to its extension specification, "The typical expected use of this feature is to draw a mesh with many triangle strips, though primitive restarts are legal for all primitive types, even for points (wherethey are not useful)." Compared to other primitive restart methods, GL_NV_primitive_restart is supposed to be more lightweight.

The GL_NV_primitive_restart extension isn't yet supported in the mainline Mesa code-base on Git for the Mesa 7.9 release, but right now it's living in a branch called primitive-restart. With this initial implementation by Brian Paul, GL_NV_primitive_restart support isn't added to any of the hardware drivers, but it is implemented for the Gallium3D softpipe driver and also the faster software method of using the LLVMpipe driver when combined with a modern CPU.

Hopefully the GL_NV_primitive_restart extension support will be merged to master in the near future. The current state of the OpenGL 3.x/4.0 support in Mesa core can be found in this Git text file. There's many OpenGL 3.0 features supported by the latest Mesa code like conditional rendering, map buffer sub-ranges, frame-buffer objects, packed depth/stencil formats, and vertex array objects. However, there are many areas of the OpenGL 3.0 specification that still haven't been touched like the new GL Shading Language improvements, GL_EXT_texture_compression_rgtc support, GL_EXT_framebuffer_sRGB support, half-floats, and other features. The later revisions to OpenGL 3.x are even further behind and right now there is no OpenGL 4.0 support that's been started for Mesa.

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 Hardware Reviews
  1. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  2. Sumo's Omni Gets Reloaded
  3. AMD A10-7800 & A6-7400K APUs Run Great On Linux
  4. Radeon Gallium3D Is Running Increasingly Well Against AMD's Catalyst Driver
Latest Linux Articles
  1. AMD's RadeonSI Driver Sped Up A Lot This Summer
  2. Intel's Latest Linux Graphics Code Competes Against OS X 10.9
  3. Intel Sandy Bridge Gets A Surprise Boost From Linux 3.17
  4. Open-Source Radeon Graphics Have Some Improvements On Linux 3.17
Latest Linux News
  1. GNOME/GTK+ Human Interface Guidelines Updated
  2. The Widely-Criticized New Commercial Linux Distro Is Now On Kickstarter
  3. CUDA 6.5 Is Doing Great For Blender
  4. Wayland & Weston 1.6 Alpha Released
  5. Nouveau Gets Improved Re-Clocking Handling For Select GPUs
  6. A New First-Person Mystery Game Might Be Coming To Linux
  7. Patch By Patch, LLVM Clang Gets Better At Building The Linux Kernel
  8. VC4 Gallium3D Driver Now Handles X With GLAMOR
  9. Opera 25 Development Release For Linux
  10. Steam Now Supports VA-API For In-Home Game Streaming
Latest Forum Discussions
  1. Systemd 216 Piles On More Features, Aims For New User-Space VT
  2. OSS radeon driver for A10-7850K (Kaveri)
  3. Btrfs Gets Talked Up, Googler Encourages You To Try Btrfs
  4. American Citizens running AMOK for food stamps
  5. What Linux Distribution Should Be Benchmarked The Most?
  6. Company I work for is looking to contribute to Open Source projects... but wrongly?
  7. Microsoft vs. Campaign
  8. Updated and Optimized Ubuntu Free Graphics Drivers