The State Of OpenGL 3.x in Mesa Core

Posted by Michael Larabel on December 31, 2009

While ATI R600 users only recently received OpenGL 2.0 hardware support within the open-source Radeon 3D stack and there is many more OpenGL extensions to be implemented just not for the ATI Mesa driver but the other DRI drivers as well, Brian Paul has published a document that lays out the current state of OpenGL 3.x within the classic Mesa core. This document lays out what core Mesa supports and not necessarily that any of the drivers are implementing the said support at this time. Granted, with Mesa not really being very performance-efficient at this time or capable of running most games, a majority of users will be waiting for the OpenGL 3.x state tracker for Gallium3D.

Mesa has been slowly picking up OpenGL 3.x support for a number of months now, with Intel in particular being interested in the OpenGL 3.x support for classic Mesa rather than Gallium3D at this time. Anyhow, when it comes to OpenGL 3.0 support for Mesa core, the key items still to be tackled include the GL Shading Language (GLSL) changes, conditional rendering, transform feedback, and sRGB framebuffer format. There are also some items like float textures that have work underway but not completed. When it comes to what's completed for OpenGL 3.0 there is frame-buffer objects, multi-sample blit, packed depth/stencil formats, per-buffer blend and masks, vertex array objects, and glClearBuffer / glGetStringi.

For OpenGL 3.1 the only features working in Mesa core are buffer copying and rectangular textures. Other OpenGL 3.1 features like instanced drawing, GLSL 1.40, primitive restart, and uniform buffer objects still need to be tackled.

The current latest and greatest OpenGL spec from the Khronos Group is OpenGL 3.2 (though it should be outdone by OpenGL 3.3 in 2010). With regards to OpenGL 3.2 support the GL_ARB_vertex_array_bgra, GL_ARB_draw_elements_base_vertex, GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_depth_clamp, and GL_ARB_sync extensions are implemented in the core of this free software OpenGL implementation. Still to be worked on here is GLSL 1.50 support (though that's no surprise considering GLSL 1.30/1.40 support is still missing), compatibility profiles, geometry shaders, fragment shader coordinate conventions, and multi-sample textures.

The current OpenGL 3.x status page can be found in this Git text file. Sadly, OpenGL 3.3 should be out (and then OpenGL 3.4) before all of the OpenGL 3.x functionality finds its way into core Mesa and then the hardware drivers.

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. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. KDE's KWin Made Lots Of Progress In 4.11
  2. Ubuntu Announces Carrier Advisory Group
  3. Qt 5.1 Release Candidate 1 Has Arrived
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. Subversion 1.8 Presents New Features
  6. LLVM 3.3 Officially Released
  7. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  8. Intel GPU Driver Tries To Rip Out FBDEV Support
  9. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  10. VP9 Codec Now Enabled By Default In Chrome
  11. openSUSE 13.1 M2 Plays On PulseAudio 4.0
Latest Forum Talk
  1. Intel GPU Driver Tries To Rip Out FBDEV Support
  2. Planetary Annihilation Plans To Come To Linux
  3. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  4. Ubuntu Announces Carrier Advisory Group
  5. VP9 Codec Now Enabled By Default In Chrome
  6. Handbrake 0.9.9 Supports OpenCL Offloading
  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