WHITE PAPER OpenGL* ES 3.0 3D Driver from

Desktop-Quality 3D Graphics on Mobile Linux* Devices

Create 3D visual experiences on mobile devices similar to those on a desktop or console. New mobile usages are possible in fields such as life sciences, energy, and computer-aided engineering.

The number and variety of Linux*-based mobile devices in our lives continues to grow, as do the purposes we put them to work for. The breadth of app offerings for mobile devices alone is staggering, from games and entertainment to productivity and specialized usages for fields such as medicine and energy. At the same time, however, the level of mobile graphics support provided by the industry has been limited to 2D and fairly rudimentary 3D implementations. A wide range of usages can benefit from extending mobile Linux graphics capabilities, as well as more sophisticated UI functionality. A key gating factor in this regard has been that advanced 3D graphics have generally been confined to relatively large-footprint systems such as PCs and game consoles. To help advance the state of mobile graphics experiences, Intel’s Open Source Technology Center recently released a new version of the driver for Intel Gen graphics offered under the MIT license. The Intel open-source driver was certified by the Khronos Group industry consortium for compliance to the OpenGL* ES (OpenGL for Embedded Systems) 3.0 specification on the first day such submissions were granted. It was one of only a handful of such certifications awarded in that time frame. The significance of this work includes the following: • Dazzling 3D graphical effects similar to those traditionally limited to devices such as PCs and consoles, now supported on mobile Linux. • Optimization for Intel® architecture, including support for developing on today’s Intel® Core™ processors for mobile Intel® platforms coming in 2014. • Confirmation of time-to-market support, part of Intel’s ongoing effort to provide early access to emerging technologies using Intel® Gen Graphics. Intel’s commitment to advancing and complying with open standards helps advance complementary innovation across the ecosystem. Since the Open GL ES 3.0 specification was announced publicly in August 2012, the Intel open source team has been submitting patches and helping refine the conformance test suite. Intel’s OpenGL ES 3.0 3D driver is available today, both as a binary and as source code (which can be modified and enhanced by anyone) under the MIT license. Desktop-Quality 3D Graphics on Mobile Linux* Devices

Develop in 3D Now for the Next Gen of Mobile Graphics The new capabilities enabled by this technology represent on the PC is not expected to extend to mobile devices. As the significant opportunity for those organizations that plan to chart also points out, OpenGL ES is used in nearly every mobile target mobile devices that are based on Gen graphics found in and embedded OS, helping to ensure continuing viability of the the 3rd and 4th generation Intel® Core™ processors as well as the technology in addition to supporting code portability across upcoming Intel® Atom™ processor code-named Bay Trail. These platforms. devices will be running Chrome*, Tizen*, and other Linux-based OpenGL ES 3.0 offers a high level of abstraction that frees mobile OSs. application developers to a great extent from concerns with OpenGL ES has become the leading 3D rendering API for mobile underlying platform details. That characteristic enables them to and embedded devices, and it has been adopted by every major focus more sharply on features and capabilities that add greater handset OS.1 As shown in Figure 1, OpenGL ES is expected to value to their product offerings. Moreover, the well-established remain the dominant 3D API in mobile devices over the next development community and industry support behind the several years.2 Note that while DirectX* is expected OpenGL ES specifications helps to ensure that ongoing to grow to some extent in the coming years, its prevalence innovation will continue at a rapid pace.

Use of 3D in Mobile Devices

100%

90%

80%

70%

60%

50%

40%

30%

20%

10%

0% 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016

OpenGL* ES is the 3D API used in almost every mobile and embedded OS, other than Microsoft Windows*

Other DirectX* OpenGL ES Source: Jon Peddie Reasearch

Figure 1. Use of 3D APIs in mobile devices.2

2 Desktop-Quality 3D Graphics on Mobile Linux* Devices

The New Specification to Enable Accelerated, Open 3D Graphics OpenGL ES is a lightweight API (a subset of the OpenGL desktop Cutting-edge, open-source driver support for next-generation API, optimized for mobile and handheld devices). It is used devices and graphics hardware enables the ecosystem to in the majority of smartphones and tablets3 for authoring deliver enhanced user experiences at an accelerated pace. and acceleration of graphics processing. The OpenGL ES 3.0 Providers of devices, applications, and OSs benefit from early specification is royalty-free and backward-compatible with access to hardware, drivers, and documentation, long before OpenGL ES 2.0, allowing transparent migration of those existing Intel platforms are introduced to the public. The Open Source applications to the new standard. Technology Center acts, in part, as an incubator to create freely distributed and modifiable code to support that early access. It was developed with exceptionally broad industry support and is highly portable. The Khronos announcement3 of the OpenGL ES 3.0 specification identified the following new set of functionality: Intel and Open Source: • Multiple enhancements to the rendering pipeline to enable Participate. Maintain. Contribute. Upstream. acceleration of advanced visual effects, including occlusion People think of Intel as a hardware company, and of queries, transform feedback, instanced rendering, and support course, that’s true; but we are also consistently one of for four or more rendering targets. the top two contributors to Linux* and one of the top • High-quality ETC2/EAC texture compression as a standard employers of software engineers in the world. feature, eliminating the need for a different set of textures for The Open Source Technology Center is the heart of Intel’s each platform. open-source work, which complements closed-source • A new version of the GLSL ES shading language, with full solutions, for an ecosystem that shapes the future of support for integer and 32-bit floating-point operations. user experiences. • Greatly enhanced texturing functionality, including Learn more at 01.org guaranteed support for floating-point textures, 3D textures, depth textures, vertex textures, NPOT textures, R/RG textures, immutable textures, 2D array textures, swizzles, LOD Intel Senior Software Engineer Eric Anholt elaborates on the and MIP level clamps, seamless cube maps, and sampler objects. value of control over open-source code to ecosystem partners: • An extensive set of required, explicitly sized texture and “Availability (of the driver source code) is important—almost render-buffer formats, reducing implementation variability more important to them than performance—because in the and making it much easier to write portable applications. world of embedded products, they need to audit and edit code, and our open-source stuff allows them to do that. When Intel The open-source graphics driver from Intel is both optimized releases code like this in advance, it allows others to see how for 3rd gen Intel Core processors and certified to comply with good our hardware really is.” the OpenGL ES 3.0 certification. That combination gives Linux mobile-solution providers the ability and confidence to develop The Intel open-source driver certified for the OpenGL ES 3.0 and test their applications on a 3rd gen Intel Core processor- specification is available through the project 9.1 release or based PC today in advance of the availability of upcoming mobile later, making access simple and open to anyone who wants it, in platforms that will use the same driver. the best tradition of open source. Additionally, it is available as the built-in driver for Ubuntu* 13.04, and in an update package Part of Intel’s Broader Open-Source for Fedora* 18. It is also available using a binary installer at Graphics Enablement 01.org/linuxgraphics/. Development of Intel’s OpenGL ES 3.0-compliant open- source driver illustrates how the work done by the Open Source Technology Center complements Intel® products and technologies as a whole. Intel’s open source graphics driver stack has one of the largest rates of deployment on Linux PC clients, with support for all major PC Linux distributions and optimization for several generations of Intel Gen graphics.

3 Desktop-Quality 3D Graphics on Mobile Linux* Devices

Conclusion With the development of an open-source driver for 3D mobile graphics that is certified for the OpenGL ES 3.0 specification and optimized for Intel Gen graphics, Intel is helping enable a new era of graphical user experiences. Immersive mobile games and entertainment, as well as sophisticated mobile UIs for applications in fields such as energy, medicine, and design, are now poised to become mainstream. Application developers and software-vendor decision makers can immediately begin porting their existing applications and developing new ones using the advanced features of the OpenGL ES 3.0 specification on 3rd gen Intel Core processor-based PCs. They and their code will be ready for future devices, including devices that are based on the upcoming Intel Atom processor code-named “Bay Trail”4 containing Intel’s Gen 7 graphics. Driver developers are invited to participate in the ongoing evolution of this driver by submitting patches containing new features and enhancements.

Participate in the community. Develop applications for future devices, today. www.01.org/mobilegraphics

1 Khronos Group, “OpenGL ES - The Standard for Embedded Accelerated 3D Graphics.” www.khronos.org/opengles/. 2 Neil Trevett, Khronos President, NVIDIA VPMobile Content, “Bringing GPU Acceleration to the Web.” www.khronos.org/assets/uploads/developers/library/2012-the-graphical-web/GPU-to-the-web_Sep2012.pdf. 3 Khronos Group news release, “Khronos Releases OpenGL ES 3.0 Specification to Bring Mobile 3D Graphics to the Next Level.” 4 Intel Readies ‘Bay Trail’ for Holiday 2013 Tablets and 2-in-1 Devices. newsroom.intel.com/community/intel_newsroom/blog/2013/06/04/intel-readies-bay-trail-for-holiday-2013-tablets-and-2-in-1-devices INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WAR- RANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or by visiting Intel’s Web Site http://www.intel.com/. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information go to http://www.intel.com/performance. *Other names and brands may be claimed as the property of others. Copyright © 2013 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Atom, and Intel Core are trademarks of Intel Corporation in the U.S. and other countries. 0713/SS/MESH/PDF 329109-001US