Coenciding with the start of SIGGRAPH 2011, Khronos has released version 4.2 of the OpenGL specification. Khronos routinely updates the OpenGL specification to add new features to the API for existing hardware and this update is no different, coming a little over a year after the release of the OpenGL 4.1 specification. As with 4.1 this is primarily for use with DX11 class hardware (GeForce 400/500, Radeon HD 5000/6000), however NVIDIA's developer site mentions that some features can be made available as extensions to work with hardware as old as OpenGL2/DX9 class hardware.
Notable new features in OpenGL 4.2 include:
- Enabling shaders with atomic counters and load/store/atomic read-modify-write operations to a single level of a texture. These capabilities can be combined, for example, to maintain a counter at each pixel in a buffer object for single-rendering-pass order-independent transparency;
- 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;
- Modifying an arbitrary subset of a compressed texture, without having to re-download the whole texture to the GPU for significant performance improvements;
- Packing multiple 8 and 16 bit values into a single 32-bit value for efficient shader processing with significantly reduced memory storage and bandwidth, especially useful when transferring data between shader stages.
Currently NVIDIA has released their first OpenGL 4.2 drivers for developers, while AMD is expecting to release beta drivers soon.