Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1
Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE, OPEN STANDARD APIs for hardware acceleration Defining the roadmap for low-level silicon interfaces needed on every platform Graphics, compute, rich media, vision, sensor and camera processing Rigorous specifications AND conformance tests for crossvendor portability Acceleration APIs BY the Industry FOR the Industry http://accelerateyourworld.org/ Well over a BILLION people use Khronos APIs Every Day
Copyright Khronos Group 2015 - Page 3 Khronos Standards Visual Computing - 3D Graphics - Heterogeneous Parallel Computing 3D Asset Handling - 3D authoring asset interchange - 3D asset transmission format with compression Over 100 companies defining royalty-free APIs to connect software to silicon Sensor Processing - Vision Acceleration - Camera Control - Sensor Fusion Acceleration in HTML5-3D in browser no Plug-in - Heterogeneous computing for JavaScript
Access to 3D on Over 2 BILLION Devices 1.9B Mobiles / year 300M Desktops / year Windows, Mac, Linux 1B Browsers / year Source: Gartner (December 2013) Copyright Khronos Group 2015 - Page 4
Copyright Khronos Group 2015 - Page 5 OpenGL 3D API Family Tree Fixed function 3D Pipeline Programmable vertex and fragment shaders ES3 is backward compatible so new features can be added incrementally OpenGL ES 1.1 Content OpenGL ES 2.0 Content WebGL 1.0 OpenGL ES 3.0 Content WebGL 2.0 OpenGL ES 1.1 OpenGL ES 2.0 OpenGL ES 3.0 OpenGL ES 1.0 OpenGL ES 3.1 OpenGL 1.3 OpenGL 1.5 OpenGL 2.0 OpenGL 2.1 OpenGL 3.1 OpenGL 3.3 OpenGL 3.0 OpenGL 3.2 OpenGL 4.0 OpenGL 4.1 OpenGL 4.2 OpenGL 4.4 OpenGL 4.3 OpenGL 4.5 OpenGL 4.4 is a superset of DX11 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
Copyright Khronos Group 2015 - Page 6 OpenGL ES and WebGL Roadmap Fixed function Pipeline Programmable Shaders 32-bit integers and floats NPOT, 3D/depth textures Texture arrays Multiple Render Targets Compute Shaders 2003 1.0 Driver Update 2004 1.1 Silicon Update 2007 2.0 Silicon Update 2011 2012 3.0 Driver Update 2014 3.1 Spec at GDC March 2014 Standard in Android L WebGL 1.0 WebGL 2.0 Under Development WebGL 2.0 - Open Review http://www.khronos.org/registry/webgl/specs/latest/2.0/
Copyright Khronos Group 2015 - Page 7 OpenGL ES 3.1 Goals Bring developer requested features from desktop OpenGL 4 to mobile - Advanced features, modern programming styles - Higher performance with lower overhead Headline features - Compute Shaders and Draw-Indirect - Compute shaders can create geometry or other rendering data - and also the draw commands needed to render them - Offload work from CPU to GPU critical for mobile perf and power Run on OpenGL ES 3.0 hardware expose hidden capabilities of shipping devices - Enable very rapid adoption across the industry Better looking, faster performing apps!
Copyright Khronos Group 2015 - Page 8 OpenGL ES 3.1 Adoption Momentum Widespread industry participation to release specification in March 2014 - Tool and Game Engine Developers, GPU Designers, SoC Vendors - Platform Owners, End Equipment Makers, Middleware ISVs Khronos launched the OpenGL ES 3.1 Adopters program in June 2014 - Broad set of conformance tests to ensure reliable cross-vendor operation Google announced that OpenGL ES 3.1 is standard in Android L - At Google IO June 2014 First wave of GPU vendors conformant in July 2014 - ARM, Imagination Technologies, Intel, NVIDIA, Qualcomm, Vivante - http://www.khronos.org/conformance/adopters/conformant-products#opengles
Copyright Khronos Group 2015 - Page 9 Google Android Extension Pack (AEP) Set of extensions for OpenGL ES 3.1 - Accessible through a single query - Functionality to support AAA games Functionality from desktop OpenGL - Tessellation - Improves the detail of geometry rendered - Geometry shaders - Add details and shadows - ASTC Texture Compression - High quality texture compression Enables premium graphics effects - Deferred rendering - Physically-based shading - High Dynamic Range tone mapping - Global Illumination and reflection - Smoke and particle effects Epic s Rivalry demo using full Unreal Engine 4 Running in real-time on NVIDIA Tegra K1 with OpenGL ES 3.1 + AEP https://www.youtube.com/watch?v=jrr-g95gdam
Copyright Khronos Group 2015 - Page 10 Next Generation OpenGL Initiative Ground up re-design of API for high-efficiency access to graphics and compute on modern GPUs and platforms Design from first principles even if means breaking compatibility with traditional OpenGL An open-standard, cross-platform 3D+compute API for the modern era Platform Diversity and need for cross-platform API standards increasing After twenty two years the architecture of GPUs and platforms has radically changed
Copyright Khronos Group 2015 - Page 11 Ground-up Explicit API Redesign Traditional OpenGL Originally architected for graphics workstations with direct renderers and split memory Driver does lots of work: state validation, dependency tracking, error checking. Limits and randomizes performance Threading model doesn t enable generation of graphics commands in parallel to command execution Syntax evolved over twenty years complex API choices can obscure optimal performance path Shader language compiler built into driver. Only GLSL supported. Have to ship shader source Despite conformance testing developers must often handle implementation variability between vendors Next Generation OpenGL Matches architecture of modern platforms including mobile platforms with unified memory, tiled rendering Explicit API the application has direct, predictable control over the operation of the GPU Multi-core friendly with multiple command queues that can be created in parallel Removing legacy requirements simplifies API design, reduces specification size and enables clear usage guidance Standard Intermediate Language as compiler target simplifies driver and enables front-end language flexibility and reliability Simpler API, common language front-ends, more rigorous testing increase cross vendor functional/performance portability
Copyright Khronos Group 2015 - Page 12 Cross Platform Challenge One family of GPUs One OS One GPU on one OS All Modern Platforms and GPUs Participation of key players Proven IP Framework Battle-tested cooperative model The drive to not let the 3D industry fragment
Copyright Khronos Group 2015 - Page 13 Portability Streamlined API is easier to implement and test Standard intermediate language improves shader program portability and reduces driver complexity Crossvendor Portability Enhanced conformance testing methodology WebGL 1.0.2 doubles conformance tests over 1.0.1 ~21200 vs. ~8900 1.0.3 suite will contain ~20% more tests Most contributed by open source community
Copyright Khronos Group 2015 - Page 14 Status Organized as a joint project of ARB and OpenGL ES working groups - Likely to become standalone working group soon - Working at very high intensity since June - Making rapid progress - Very significant proposals and IP contributions received from members Participants come from all segments of the graphics industry - Including an unprecedented level of participation from game engine ISVs
Copyright Khronos Group 2015 - Page 15 Get Involved! Khronos members are building the future of graphics processing - Together with compute, vision and sensor processing Any company is welcome to join Khronos to have a voice in these developments! - Well-defined IP framework protects your IP and conformant implementations www.khronos.org - ntrevett@nvidia.com