OpenGL, OpenGL ES and WebGL are the most widely deployed APIs that between them provide portable access to graphics and compute capabilities across multiple platforms, including Android, iOS, Linux, OS X, Windows and the Web. In July, the first wave of leading GPU vendors, including ARM, Imagination Technologies, Intel, NVIDIA and Vivante, achieved full conformance with the latest version of OpenGL ES. A conformance submission from Qualcomm is currently under review, with more to follow. The OpenGL ES 3.1 specification was released in March 2014 and provides the most desired features of desktop OpenGL, including GPU Compute shaders, in a standard that is suitable for mobile devices. Khronos launched the OpenGL ES 3.1 Adopters program in June, including a broad set of conformance tests to ensure reliable cross-vendor operation.
At Google IO in June 2014, Google announced support for OpenGL ES 3.1 in the Android L Developer Preview together with the Android Extension Pack (AEP). AEP is a new set of extensions to OpenGL ES that brings additional desktop-class graphics functionality to Android and enables games to take advantage of tessellation and geometry shaders, and use ASTC texture compression.
WebGL brings GPU access to HTML5. As with any Web standard, pervasive availability across many browsers is the key to providing a commercially relevant deployment platform. Today, all mainstream desktop browsers support WebGL, including Chrome, Firefox, Safari and Internet Explorer, and WebGL support is rapidly being deployed to major mobile browsers. WebGL enables the ability to write high-performance 3D applications that run with zero porting effort on every significant desktop and mobile platform.
Khronos released the OpenGL 4.5 specification today, bringing the very latest functionality to the 3D graphics API while maintaining full backwards compatibility. The full specification and reference materials are available for immediate download from the OpenGL Registry.
New functionality in the core OpenGL 4.5 specification includes:
- Direct State Access (DSA) – object accessors enable state to be queried and modified without binding objects to contexts, for increased application and middleware efficiency and flexibility;
- Flush Control - applications can control flushing of pending commands before context switching – enabling high-performance multithreaded applications;
- Provides a secure platform for applications such as WebGL browsers, including preventing a GPU reset affecting any other running applications;
- OpenGL ES 3.1 API and shader compatibility – to enable the easy development and execution of the latest OpenGL ES applications on desktop systems;
- DX11 emulation features – for easier porting of applications between OpenGL and Direct3D.
Khronos also calls for participation today in a project to define a future open standard for high-efficiency access to graphics and compute on modern GPUs. Key directions for the new ground-up design include explicit application control over GPU and CPU workloads for performance and predictability, a multithreading-friendly API with reduced overhead, a common shader program intermediate language, and a strengthened ecosystem focus that includes conformance testing.