Khronos releases OpenGL ES 3.1 specification

New version of the royalty-free 3D graphics API used on virtually all smartphones and tablets adds advanced 3D features and integrated GPU computing.

The Khronos Group today announced the immediate release of the OpenGL ES 3.1 specification, bringing functionality enhancements to the royalty-free 3D graphics API used on a majority of the world’s mobile devices. OpenGL ES 3.1 provides access to graphics processing unit (GPU) functionality with portability across diverse mobile and embedded operating systems and platforms.

The Samsung Galaxy 5 smartphone uses a Qualcomm Snapdragon 801 processor, one of many devices that runs the current generation of OpenGL ES. (Source: Qualcomm)
The Samsung Galaxy 5 smartphone uses a Qualcomm Snapdragon 801 processor, one of many devices that runs the current generation of OpenGL ES. (Source: Qualcomm)

“The certain future of graphics is mobile and with multiple advanced features the Khronos OpenGL ES 3.1 specification takes a significant step forward for mobile and embedded graphics; bringing mobile platforms closer in line with performance and feature set expectations of the very capable desktops and consoles of years past,” said Jon Peddie, president of Jon Peddie Research. “The widespread adoption by semiconductor manufacturers and developers has made OpenGL ES the technology of choice for mobile application development.”

Key features of the OpenGL ES 3.1 specification include:

Compute shaders: Applications can use the GPU to perform general computing tasks, tightly coupled with graphics rendering. Compute shaders are written in the GLSL ES shading language, and can share data with the graphics pipeline.

Separate shader objects: Applications can program the vertex and fragment shader stages of the GPU independently, and can mix and match vertex and fragment programs without an explicit linking step.

Indirect draw commands: The GPU can be instructed to take draw commands from its memory rather than waiting for commands from the CPU. For example, this allows a compute shader running on the GPU to perform a physics simulation and then generate the draw commands needed to display the results, without CPU intervention.

Enhanced texturing functionality: Including multi-sample textures, stencil textures, and texture gather.

Shading language improvements: New arithmetic and bitfield operations, and features to enable modern styles of shader programming.

Optional extensions: Per-sample shading, advanced blending modes, and more.

Backward compatibility with OpenGL ES 2.0 and 3.0: Programmers can add ES 3.1 functionality incrementally to working ES 2.0 and 3.0 applications.

The full specification and reference materials are available for immediate download at

A statement today by The Khronos Group on the release includes endorsements from Nvidia, ARM, Imagination Technologies, Mobica, Vivante, and Qualcomm. The Khronos Group is offering private demonstrations of OpenGL ES 3.1 for developers this week at the Game Developers Conference in San Francisco.