The good news: Khronos has published version 4.2 of the OpenGL specification in conjunction with the GL Shading Language version 4.20 specification. The bad news? The open-source Linux graphics drivers are falling hopelessly behind in keeping up-to-date with the latest upstream OpenGL releases and what is supported by the proprietary drivers and those for other operating systems.
The release of OpenGL 4.2 isn't much of a surprise, it's coming just around one year after the OpenGL 4.1 specification. The occasion for this release is the SIGGRAPH conference taking place this week in Vancouver, Canada. "The OpenGL 4.2 specification has been defined by the OpenGL ARB (Architecture Review Board) working group at Khronos, and includes the GLSL 4.20 update to the OpenGL Shading Language. The OpenGL 4.2 specification contains new features that extend functionality available to developers and enables increased application performance."
Key features of OpenGL 4.2 with the GLSL 4.20 specification include:
- Support for shaders with atomic counters and load/store/atomic read-modify-write operations to a single level of a texture.
- Capturing GPU-tessellated geometry and drawing multiple instances of the result of a transform feedback to enable complex objects to be efficiently repositioned and replicated.
- Support for modifying an arbitrary subset of a compressed texture, without having to re-download the whole texture to the GPU for significant performance improvements.
- Support for packing multiple 8 and 16 bit values into a single 32-bit value for efficient shader processing with significantly reduced memory storage and bandwidth.
The Khronos press release announcing OpenGL 4.2 can be found on their web-site
. The latest specification can be viewed at the OpenGL Registry
NVIDIA has already released new OpenGL drivers
for Windows and Linux. These new proprietary OpenGL drivers provide OpenGL 4.2 / GLSL 4.20 support for NVIDIA GeForce 400/500 "Fermi" graphics cards. For pre-Fermi GPUs, a number of the new OpenGL extensions where compatible are still available for use. Meanwhile, AMD is expected to soon release their own beta drivers that support the OpenGL 4.2 specification. Linux support there for OpenGL 4.2 in their proprietary driver is expected at the same time.
What will likely take years though is seeing OpenGL 4.2 support out of the open-source Linux drivers. The OpenGL 3.0 specification with GLSL 1.30, which was released in July of 2008, still is not supported by Mesa / Gallium3D. There is just partial coverage of OpenGL 3.0 support, but are hopeful that the support could finally land near year. While OpenGL 3.0 was a big jump, there's then OpenGL 3.1, 3.2, 3.3, 4.0, 4.1, and now 4.2 revisions to tackle afterwards. OpenGL 5.0 will likely be released before the open-source Mesa / Gallium3D drivers even support OpenGL 4.0. The open-source drivers also go without working support for OpenCL at this point.