The PowerVR Insider SDK - eetrend.comimgtec.eetrend.com/sites/imgtec.eetrend.com/files/... ·...
Transcript of The PowerVR Insider SDK - eetrend.comimgtec.eetrend.com/sites/imgtec.eetrend.com/files/... ·...
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
© 2012 Imagination Technologies Ltd. 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
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
GPU
VPU
R
P
U
CPU
5 © 2012 Imagination Technologies
The PowerVR Insider SDK Overview
What is the PowerVR Insider SDK?
© 2012 Imagination Technologies Ltd. 6
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!
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
© 2012 Imagination Technologies Ltd. 7
Utilities
Asset optimization
© 2012 Imagination Technologies Ltd. 9
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
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
© 2012 Imagination Technologies Ltd. 10
© 2012 Imagination Technologies Ltd. 11
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
PVRTC 2bpp DXT/S3TC 4bpp
PVRTC 4bpp Original 32bpp
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.
© 2012 Imagination Technologies Ltd. 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
© 2012 Imagination Technologies Ltd. 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.
© 2012 Imagination Technologies Ltd. 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
© 2012 Imagination Technologies Ltd. 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
© 2012 Imagination Technologies Ltd. 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
© 2012 Imagination Technologies Ltd. 19
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
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
© 2012 Imagination Technologies Ltd. 20
Source Code
PVRTools and PVRShell
© 2012 Imagination Technologies Ltd. 22
Source Code PVRShell
• Graphics-focused OS abstraction framework
• Allows application development without worrying about the platform complexities underneath
• Enables quick and easy application porting with a consistent implementation across each API and OS
• Supports all PowerVR platform configurations
Application OpenGL
OpenGL ES
PVRShell
© 2012 Imagination Technologies Ltd. 23
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
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)
© 2012 Imagination Technologies Ltd. 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.
© 2012 Imagination Technologies Ltd. 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
© 2012 Imagination Technologies Ltd. 26
Download it today!
• How to get it? - Register at www.powervrinsider.com
- Download the installer.
- Next, next, next…
- Done!
© 2012 Imagination Technologies Ltd. 27
Contact: [email protected]
The PowerVR Insider SDK PowerVR Developer Technology