Conformance Tests created to accompany API specification and reference documentation available now; Full backwards compatibility maintained
ANAHEIM, Calif. — (BUSINESS WIRE) — July 22, 2013 — SIGGRAPH - 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 todays 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 at http://www.opengl.org/registry.
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. Were 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. Were 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 .)