The Khronos Group today announced the immediate release of the OpenGL 4.4 specification, bringing the very latest graphics functionality to the most advanced and widely adopted cross-platform 2D and 3D graphics API (application programming interface). OpenGL 4.4 unlocks capabilities of today's leading-edge graphics hardware while maintaining full backwards compatibility, enabling applications to incrementally use new features while portably accessing state-of-the-art graphics processing units (GPUs) across diverse operating systems and platforms. Also, OpenGL 4.4 defines new functionality to streamline the porting of applications and titles from other platforms and APIs.
The full specification and reference materials are available for immediate download here.
In addition to the OpenGL 4.4 specification, the OpenGL ARB (Architecture Review Board) Working Group at Khronos has created the first set of formal OpenGL conformance tests since OpenGL 2.0. Khronos will offer certification of drivers from version 3.3, and full certification is mandatory for OpenGL 4.4 and onwards. This will help reduce differences between multiple vendors' OpenGL drivers, resulting in enhanced portability for developers. "The delivery of conformance tests for OpenGL 4.4 is a significant milestone - as it is vital for developers to be able to rely on the API they are trusting to accelerate their content across multiple platforms," said Barthold Lichtenbelt, OpenGL ARB working group chair. "The OpenGL ARB is committed to continue to deepen communications with the developer community so we can continue to build OpenGL functionality that creates real-world business opportunities for the 3D industry."
New functionality in the OpenGL 4.4 specification includes: Buffer Placement Control (GL_ARB_buffer_storage) Significantly enhances memory flexibility and efficiency through explicit control over the position of buffers in the graphics and system memory, together with cache behavior control - including the ability of the CPU to map a buffer for direct use by a GPU.
Efficient Asynchronous Queries (GL_ARB_query_buffer_object) Buffer objects can be the direct target of a query to avoid the CPU waiting for the result and stalling the graphics pipeline. This provides significantly boosted performance for applications that intend to subsequently use the results of queries on the GPU, such as dynamic quality reduction strategies based on performance metrics.
Shader Variable Layout (GL_ARB_enhanced_layouts) Detailed control over placement of shader interface variables, including the ability to pack vectors efficiently with scalar types. Includes full control over variable layout inside uniform blocks and enables shaders to specify transform feedback variables and buffer layout.
Efficient Multiple Object Binding (GL_ARB_multi_bind) New commands which enable an application to bind or unbind sets of objects with one API call instead of separate commands for each bind operation, amortizing the function call, name space lookup, and potential locking overhead. The core rendering loop of many graphics applications frequently binds different sets of textures, samplers, images, vertex buffers, and uniform buffers and so this can significantly reduce CPU overhead and improve performance.
Streamlined Porting of Direct3D applications A number of core functions contribute to easier porting of applications and games written in Direct3D including GL_ARB_buffer_storage for buffer placement control, GL_ARB_vertex_type_10f_11f_11f_rev which creates a vertex data type that packs three components in a 32 bit value that provides a performance improvement for lower precision vertices and is a format used by Direct3D, and GL_ARB_texture_mirror_clamp_to_edge that provides a texture clamping mode also used by Direct3D.
Extensions released alongside the OpenGL 4.4 specification include:
Bindless Texture Extension (GL_ARB_bindless_texture): Shaders can now access an effectively unlimited number of texture and image resources directly by virtual addresses. This bindless texture approach avoids the application overhead due to explicitly binding a small window of accessible textures. Ray tracing and global illumination algorithms are faster and simpler with unfettered access to a virtual world's entire texture set.
Sparse Texture Extension (GL_ARB_sparse_texture): Enables handling of huge textures that are much larger than the GPUs physical memory by allowing an application to select which regions of the texture are resident for 'mega-texture' algorithms and very large data-set visualizations.
Industry Support "AMD has a long tradition of supporting open industry standards, and congratulates the Khronos Group on the announcement of the OpenGL 4.4 specification for state-of-the-art graphics processing," said Matt Skynner, corporate vice president and general manager, Graphics Business Unit, AMD. "Maintaining and enhancing OpenGL as a strong and viable graphics API is very important to AMD in support of our APUs and GPUs. We're proud to continue support for the OpenGL development community."
"We worked closely with Khronos on OpenGL 4.4, so we wanted to make sure the day it was announced we had compliant drivers for our Fermi and Kepler GPUs," said Tony Tamasi, senior vice president, Content and Technology at NVIDIA. "We're also working to bring support to Tegra, so developers can create amazing content that scales from high-end PCs down to mobile devices." (These products are based on the published OpenGL 4.4 Specification, and are submitted to, and are expected to pass, the Khronos Conformance Testing Process. Current conformance status can be found at www.khronos.org/conformance.)
OpenGL BOF at SIGGRAPH, Anaheim, CA July 24th 2013 There is an OpenGL BOF "Birds of a Feather" Meeting on Wednesday, July 24th at 7-8PM at the Hilton Anaheim, California Ballroom A & B, where attendees are invited to meet OpenGL implementers and developers and learn more about the new OpenGL 4.4 specification.