Last year I had an opportunity to cover the award-winning products based on ARM MaliTM-T604 including Google’s Chromebook and Nexus 10. Since then, those devices have reached millions of consumers and equipped them with cutting edge GPU Compute and Graphics capabilities. Two weeks ago ARM submitted OpenGL® ES 3.0 conformance test results with Khronos[1] for ARM Mali-T604. This brings the next generation graphics standard into the hands of developers who can benefit from mature silicon shipping in mass production devices. In addition to those events, last week we followed up with OpenGL ES 3.0 conformance submission for ARM Mali-T624, GPU from the second generation of the Mail-T600 series.
As one of the founding members of Khronos, ARM has for more than a decade been actively participating in the creation of graphics and compute standards. Last year we submitted conformance test results for OpenCL 1.1 Full Profile, as well as delivering market leading OpenGL ES 2.0 implementations. The Mali-T600 series GPUs have been designed from the beginning to support OpenGL ES 3.0 and we first demonstrated these next generation features in Timbuktu2 demo at SIGGRAPH 2012, so ticking the conformance submission box for the new graphics API was just a matter of time.
In fact, the second generation of the Mali-T600 series has full software compatibility with the first generation, so submitting OpenGL ES3.0 conformance for Mali-T624 was the next natural step. This software compatibility, combined with performance, power, and bandwidth optimizations benefits ARM Partners who have already begun designing SoCs with the second generation and deploying them in a wide range of market leading solutions for mobile, tablet and smart TV devices.
We have also invested in support and tools for developers who target latest APIs and standards. ARM has recently submitted OpenGL ES 3.0 conformance tests results for the Mali OpenGL ES Emulator that enables creation and preview of amazing content. Watch out for this and other tools being announced at GDC this year.
So what does Open GL ES 3.0 bring for developers, end-users, and ARM Partners? While it is backwards compatible with OpenGL ES 2.0, it provides developers with completely new features for creating even more compelling visual effects. Innovative functionality in the OpenGL ES 3.0 specification includes occlusion queries, instanced rendering, transform feedback, support for multiple render targets as well as standard ETC2 compressed textures. This means that OpenGL ES 3.0 enables both more advanced eye-candy effects, and better bandwidth efficiency. Leveraging those advancements allows consumer devices to draw less power and end-users to enjoy rich content for much longer; a trait we’ve always cared about at ARM. OpenGL ES 3.0 also relies on the newer version of the GLSL ES shading language with full support for integer and 32-bit floating-point operations enabling high-complexity shaders that benefit from the increased precision. ARM Hauntheim developed by our demo team provides an overview of some of these features.
When it comes to texturing, OpenGL ES 3.0 addresses some of the problems associated with proprietary and fragmented texture-compression standards. In the past, switching between different bitrates and colour formats required re-qualifying assets every time developers targeted different platform. This often meant compressing using fewer bit rates and coarse tradeoffs of texture size versus quality. OpenGL ES 3.0 not only adds ETC2 / EAC texture compression formats as a standard feature, but also introduces Adaptive Scalable Texture Compression (ASTC) – a technology developed by ARM, and supported in the second generation of the Mali-T600 series – as an official Khronos extension. The new format, when compared to ETC2 / EAC or proprietary texture compression formats, expands texturing functionality by adding support not only for RGB and RGBA textures, but also floating point, normals, alpha, 3D, and many others. On top of this Open GL ES 3.0, provides a broad set of texture and render-buffer formats, reducing differences between the various API implementations and allowing seamless portability of applications across different devices.
So, did we really need an entirely new standard, or could we just have included those features as extensions to OpenGL ES 2.0? Well, of course, everybody could facilitate some of the Open GL ES 3.0 functionality in their OpenGL ES 2.0 cores – including ARM’s Mali-400 and Mali-450 GPUs. Even though it may look like something nice to have, in reality, it isn’t particularly useful. This is because it is a non-standard approach that doesn’t promote portability and robustness of a cross-platform, industry standard API. The future of graphics requires full OpenGL ES 3.0 support, which is a carefully thought-out, integrated package of next generation features integrated into a single, agreed-upon standard.
That’s why the Khronos Group has been focused on the creation of cutting-edge APIs, and adoption through cross-platform specification and conformance tests. Moreover, devices based on ARM’s Mali-T600 series GPUs have had these features in hardware since last summer, and have been waiting for this new standard to enable access for our cutting-edge developers. ARM delivers the winning formula that combines market adoption and maturity with seamless upgrade to next generation features and optimizations.
[1] Product is based on a published Khronos Specification, and is expected to pass the Khronos Conformance Testing Process.
Current conformance status can be found at www.khronos.org/conformance.