The PowerVR Insider SDK - eetrend.comimgtec.eetrend.com/sites/imgtec.eetrend.com/files/... ·...

Preview:

Citation preview

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: devtech@imgtec.com

The PowerVR Insider SDK PowerVR Developer Technology

Recommended