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's OpenGL 3.0 TODO List Is Becoming Smaller

Mesa

Published on 30 June 2011 04:35 PM EDT
Written by Michael Larabel in Mesa
15 Comments

Via a commit to the TODO list concerning Mesa's support for the OpenGL 3.0 specification, Marek Olšák has confirmed that vertex texture image units for OGL3 are "DONE" and working on the R600 Gallium3D driver.

The OpenGL 3.0 target is actually getting shockingly close to completion. According to their TODO list, all that's left is completing the GLSL 1.30 (GL Shading Language) work, float-depth buffers, non-normalized Integer texture/frame-buffer formats, 1D/2D texture arrays, transform feedback, sRGB frame-buffer format, and depth-format cube textures. Of those outstanding action items, some items like 1D/2D texture arrays is setup within core Mesa and the software rasterizer, but isn't yet implemented by the hardware drivers.

The only items for attaining OpenGL 3.0 support that haven't been worked on at all are the float-depth buffers and depth format cube textures. Likely the biggest work item to achieve though is the proper GL Shading Language 1.30 support. Working a bit towards the GLSL 1.30 milestone is the GLSL IR to TGSI direct translator, which adds native integer support, but the Gallium3D drivers need to support the proper TGSI opcode.

Here's what the official OpenGL 3.0 TODO list looks like as of this afternoon:
GLSL 1.30 (GL_EXT_gpu_shader4, etc.) started
Conditional rendering (GL_NV_conditional_render) DONE (swrast, softpipe, i965)
Map buffer subranges (GL_ARB_map_buffer_range) DONE
Clamping controls (GL_ARB_color_buffer_float) DONE
Float textures, renderbuffers (GL_ARB_texture_float) DONE (gallium r300)
GL_EXT_packed_float DONE (gallium r600)
GL_EXT_texture_shared_exponent DONE (gallium, swrast)
Float depth buffers (GL_ARB_depth_buffer_float) not started
Framebuffer objects (GL_EXT_framebuffer_object) DONE
Half-float DONE
Multisample blit DONE
Non-normalized Integer texture/framebuffer formats ~50% done
1D/2D Texture arrays core Mesa, swrast done
Packed depth/stencil formats DONE
Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
GL_EXT_texture_compression_rgtc DONE (swrast, gallium r600)
Red and red/green texture formats DONE (swrast, i965, gallium)
Transform feedback (GL_EXT_transform_feedback) ~50% done
glBindFragDataLocation, glGetFragDataLocation,
glBindBufferRange, glBindBufferBase commands
Vertex array objects (GL_APPLE_vertex_array_object) DONE
sRGB framebuffer format (GL_EXT_framebuffer_sRGB) core GL done (i965, gallium), GLX todo
glClearBuffer commands DONE
glGetStringi command DONE
glTexParameterI, glGetTexParameterI commands DONE
glVertexAttribI commands DONE (but converts int
values to floats)
Depth format cube textures 0% done

When all of those items are marked as being done, it will be released as Mesa 8.0. This could end up being the next release rather than Mesa 7.12 if the developers and community are able to nail in the final bits of OpenGL 3.0 / GLSL 1.30 support over the next six months.

While it will be good to finally see open-source driver support for the OpenGL 3.0 specification, by the time it's here, the Khronos Group specification will have been nearly five years old. The proprietary ATI/AMD and NVIDIA graphics drivers on Linux have meanwhile supported GL3 from nearly the start.

Beyond OpenGL 3.0, there's already 3.1/3.2/3.3 and even OpenGL 4.0/4.1 to additionally address. Several of the work items for OpenGL 3.1/3.2 compliance have been addressed, with the main 3.1 items left being texture buffer objects, uniform buffer objects, and GLSL 1.40 support. Six of the nine OpenGL 3.1 items are already marked as done.

With OpenGL 3.2, seven of the 11 items are "DONE", but the items that are untouched include the core/compatibility profiles, GLSL 1.50, and multi-sample textures. For OpenGL 3.3, 4.0, and 4.1 the burden is much greater and it's unlikely we'll see such support within the next year or two, unless some vendor(s) dramatically step-up their efforts.

The GL3/GL4 TODO list is available from the Mesa Git tree.

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. MSI X99S SLI PLUS On Linux
  2. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  3. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  4. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
Latest Linux Articles
  1. Open-Source Radeon 2D Performance Is Better With Ubuntu 14.10
  2. RunAbove: A POWER8 Compute Cloud With Offerings Up To 176 Threads
  3. 6-Way Ubuntu 14.10 Linux Desktop Benchmarks
  4. Ubuntu 14.10 XMir System Compositor Benchmarks
Latest Linux News
  1. Dead Island GOTY Now Available On Linux/SteamOS
  2. Ubuntu 14.04 In The Power8 Cloud From RunAbove
  3. KDE With Theoretical Client-Side Decorations, Windows 10 Influence
  4. Sandusky Lee: Great Cabinets For Storing All Your Computer Gear
  5. Fedora 21 Beta & Final Release Slip Further
  6. Mesa 10.3.2 Has A Couple Bug-Fixes
  7. RadeonSI/R600g HyperZ Support Gets Turned Back On
  8. openSUSE Factory & Tumbleweed Are Merging
  9. More Fedora Delays: Fedora 21 Beta Slips
  10. Mono Brings C# To The Unreal Engine 4
Latest Forum Discussions
  1. Looking for a Open-Source AMD experienced Linux mentor
  2. Users/Developers Threatening Fork Of Debian GNU/Linux
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. HOPE: The Ease Of Python With The Speed Of C++
  5. Use Ubuntu MATE 14.10 Make it an official distro.
  6. Debian Is Back To Discussing Init Systems, Freedom of Choice
  7. AMD Radeon VDPAU Video Performance With Gallium3D
  8. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release