The PowerVR Insider SDK PowerVR Developer Technology Nov 2012
First, An Introduction!
Who Am I? Who? Guillem Vinals Developer Technology Engineer, PowerVR Graphics What? An introduction to our PowerVR SDK 3.0 3
Who is Imagination? Leading silicon, software & cloud IP supplier Graphics/video, comms, processor, cloud technologies Licensing and royalty business model Licensed to many top 20 semis & OEMs Servicing high volume, high growth markets R P U GPU VPU CPU Shipped by most major consumer brands Smartphones, tablets, low-power PC s TVs/STBs, games consoles, Connected/broadcast audio devices Automotive dashboards, navigation Strategic product division: Pure Digital radio, internet connected audio, home automation IP business pathfinder, market maker/driver Established technology powerhouse Founded 1985; London FTSE250 (IMG.L) Employees: 1,200+ UK HQ; operations world-wide Global customer base
5 2012 Imagination Technologies The PowerVR Insider SDK Overview
What is the PowerVR Insider SDK? Asset creation Developing Debugging and profiling + PVRTexTool PVRGeoPOD + PVRShaderEditor PVRShaman PVRVFrame + PVRTrace PVRTune PVRScope Enables rapid application development & analysis Develop on Windows, Linux or Mac OS Available for OpenGL ES 1.1, 2.0 & 3.0 It s completely FREE! 6
What is the PowerVR Insider SDK? Educational resource Covers a range of general graphics techniques, as well as PowerVR specific optimizations Step by step guide from the basics of computer graphics to advanced effects tailored for mobile devices 7
Utilities Asset optimization
PVRGeoPOD What is POD? - POD is the PowerVR Object Data format - Optimized deployment format for PowerVR hardware Provided as - Plug-in (Blender, Maya and 3D Studio) - Standalone GUI - Standalone command-line Features - Triangle sorting - Vertex sorting - Data stripping - PVRTools loading code provided 9
PVRTexTool Texture compressor and converter Provided as - Stand-alone GUI - Command-line tool - PVRTexLib - Photoshop plugin Features - Support for all core file formats for OpenGL ES 1.x, 2.0 & 3.0 as well as DirectX 9, 10, 11 - Support for a variety of optional file formats, but most importantly, PVRTC 10
PVRTC Texture Compression What is PVRTC? - High quality, high ratio texture compression format, designed for PowerVR hardware - Two variations - 4 bits per pixel (high quality, medium storage requirements) 8x saving - 2 bits per pixel (medium quality, low storage requirements) 16x saving - Both variations support alpha channels Original 32bpp PVRTC 4bpp DXT/S3TC 4bpp PVRTC 2bpp 11
Utilities Development
Shader verification and profiling tool Provided as - Command-line tool Exposes GLSL ES shader profiling information. - Estimated per-line cycle count - Emulated total cycle count Compiler provided for every family of PowerVR GPU. 13
PVRShaderEditor GUI interface for the PowerVR shader verification and profiling tool Provided as - Stand-alone GUI Features - Powerful source code editor with syntax highlighting for GLSL, GLSL ES, HLSL and PFX (PowerVR effect) formats as well as Open CL kernels - Profiling with overall and per line cycle counts for GLSL ES 14
PVRShaman Provided as - Stand-alone GUI Features - Shader development environment. - Integrated PVRShaderEditor & Profiler - Works with POD scenes and can import Collada files - Immediate scene visualisation - Support for OpenGL and OpenGL ES graphics APIs. 15
PVRVFrame (PC Emulation) PowerVR OpenGL ES (1.1, 2.0 & 3.0) emulator Provided as - Library - Companion stand-alone GUI Features - Allows applications to be developed and debugged without PowerVR hardware - Supports all IMG extensions - Includes hardware profiles to match the capabilities of specific cores and devices - Passes conformance tests for OpenGL ES (1.1 & 2.0) - Standalone GUI can display debugging output from GL 16
Utilities Debug and profiling
PVRTrace OpenGL ES (1.1, 2.0 and 3.0) API call tracing Provided as - Stand-alone GUI - Recorder libraries - Linux installer application - Android controller apk Features - Records GL calls, data and the render state for any number of frames - Playback frames, calls, and ranges of calls - Profiling and analysis functionality - Can record over the network if the recording libraries are set to do so 18
What is PVRScope? (and why should I use it ) Provided as - Static library Features - Provides hardware and software counters for GPU monitoring in real-time - Minimal impact in performance 1. Save the data for off-line performance comparison - Script the performance analysis! 2. Graph the data in real time - Just copy/paste from our PVRScope example - Quickly identify performance spikes while in-game testing 3. Send data to custom profiling tools 4. Send custom data to PVRTune - Use custom counters, custom markers and editable data 19
PVRTune PowerVR performance analyser based on PVRScope Provided as - Stand-alone GUI - Per-platform PVRPerfServer application Features - Provides hardware and software counters for GPU monitoring in real-time - Minimal impact in performance - So small its on by default in most drivers - Uses a network connection to transfer information between host & client applications - No special builds of application required to do performance analysis - Can remotely edit data registered with PVRScope - Can display custom marks and counters to enable analysis of custom data 20
Source Code PVRTools and PVRShell
Source Code PVRShell Graphics-focused OS abstraction framework Allows application development without worrying about the platform complexities underneath Application OpenGL OpenGL ES Enables quick and easy application porting with a consistent implementation across each API and OS PVRShell Supports all PowerVR platform configurations 22
Source Code PVRTools Tackles common functionality required during graphics development - Texture, model and shader runtimes - Vector, matrix, and Quarternion maths - 3D text display functions - Extension retrieval - Etc. Cross platform tools library - Entire commented source code provided - Consistent implementation across each graphics API 23
Examples Beginner/Intermediate/Advanced Step by step guide from the basics of computer graphics to advanced effects tailored for mobile devices PVRShell abstraction layer and PVRTools helper library used consistently across all the examples Same examples across all APIs (OpenGL ES 1.1, 2.0 and 3.0) 24
Documentation Wide range of documentation to support development - Architecture Guide - Performance recommendations - User Manuals - Etc. Whitepapers for specific technologies & techniques - Water effects - UI Render - Etc. 25
Summary PowerVR Software Development Kit - Utilities, tools, tutorials, demos and documentation - Designed to enable developers and customers to produce applications that make optimal usage of PowerVR hardware - Develop on Windows, Mac OS and Linux Available for all PowerVR enabled platforms, for free! Modern GUI and fully featured applications Reflects the unique PowerVR architecture 26
Download it today! How to get it? - Register at www.powervrinsider.com - Download the installer. - Next, next, next - Done! 27
The PowerVR Insider SDK PowerVR Developer Technology Contact: devtech@imgtec.com