Sunteți pe pagina 1din 11

ACKNOWLEDGEMENT

By utilizing this website and/or documentation, I hereby acknowledge as follows:


Effective October 1, 2012, QUALCOMM Incorporated completed a corporate reorganization in
which the assets of certain of its businesses and groups, as well as the stock of certain of its
direct and indirect subsidiaries, were contributed to Qualcomm Technologies, Inc. (QTI), a whollyowned subsidiary of QUALCOMM Incorporated that was created for purposes of the
reorganization.
Qualcomm Technology Licensing (QTL), the Companys patent licensing business, continues
to be operated by QUALCOMM Incorporated, which continues to own the vast majority of the
Companys patent portfolio. Substantially all of the Companys products and services businesses,
including QCT, as well as substantially all of the Companys engineering, research and
1
development functions, are now operated by QTI and its direct and indirect subsidiaries . Neither
QTI nor any of its subsidiaries has any right, power or authority to grant any licenses or other
rights under or to any patents owned by QUALCOMM Incorporated.
No use of this website and/or documentation, including but not limited to the downloading of
any software, programs, manuals or other materials of any kind or nature whatsoever, and no
purchase or use of any products or services, grants any licenses or other rights, of any kind or
nature whatsoever, under or to any patents owned by QUALCOMM Incorporated or any of its
subsidiaries. A separate patent license or other similar patent-related agreement from
QUALCOMM Incorporated is needed to make, have made, use, sell, import and dispose of any
products or services that would infringe any patent owned by QUALCOMM Incorporated in the
absence of the grant by QUALCOMM Incorporated of a patent license or other applicable rights
under such patent.
Any copyright notice referencing QUALCOMM Incorporated, Qualcomm Incorporated,
QUALCOMM Inc., Qualcomm Inc., Qualcomm or similar designation, and which is associated
with any of the products or services businesses or the engineering, research or development
groups which are now operated by QTI and its direct and indirect subsidiaries, should properly
reference, and shall be read to reference, QTI.

The products and services businesses, and the engineering, research and development groups, which are now operated by QTI and its
subsidiaries include, but are not limited to, QCT, Qualcomm Mobile & Computing (QMC), Qualcomm Atheros (QCA), Qualcomm Internet
Services (QIS), Qualcomm Government Technologies (QGOV), Corporate Research & Development, Qualcomm Corporate Engineering
Services (QCES), Office of the Chief Technology Officer (OCTO), Office of the Chief Scientist (OCS), Corporate Technical Advisory Group,
Global Market Development (GMD), Global Business Operations (GBO), Qualcomm Ventures, Qualcomm Life (QLife), Quest, Qualcomm
Labs (QLabs), Snaptracs/QCS, Firethorn, Qualcomm MEMS Technologies (QMT), Pixtronix, Qualcomm Innovation Center (QuIC),
Qualcomm iSkoot, Qualcomm Poole and Xiam.

It Pays To Optimize For Qualcomms AdrenoTM Platform

Qualcomm Incorporated
June 2010

It Pays To Optimize For Qualcomms Adreno Platform

Table of Contents

[1] Executive summary ......................................................................... 2


[2] Reach of Qualcomm chipsets with Adreno GPU ......................... 2
[3] Adreno tool sets - their features & benefits ..................................... 2
3.1 Adreno Optimization Tools (optimization of textures,
geometries and shaders)........................................................ 2
3.2 Adreno Profiler (on device performance analysis &
debugging) ............................................................................. 4
3.3 Adreno SDK (PC-based emulator for Open GL-ES &
VG).. ................................................................................... 6
[4] Partner Support ............................................................................... 6
[5] Conclusion....................................................................................... 7

6/2010

page i

It Pays To Optimize For Qualcomms Adreno Platform

[1] Executive summary


Qualcomms Adreno GPU (Graphics Processing Unit) and Adreno tools
provide application developers and OEMs the advantages they need to
progress faster through their commercialization. These advantages include:
(1) A broad and rapidly growing base of devices with Adreno GPUs
(2) A powerful set of design and development tools that enhance
application performance, shorten time to market, and improve
developer productivity


This paper discusses these advantages and the value they provide.

[2] Reach of Qualcomm chipsets with Adreno

GPU
Broader potential custom er bases
Smartphones and 3G-enabled mobile phones are some of the largest device
categories supporting graphics-rich applications. Qualcomm is a leader in
both categories. Qualcomm supplies chipsets to the vast majority of Windows

Phone and Android smartphones today1 and supports other major mobile
device operating systems. Furthermore, Qualcomm is a leading supplier of
3G wireless modems worldwide with in CDMA and WCDMA global shipments
in 20092.

Maximizes likelihood users will buy and use graphics-rich apps


To achieve high adoption, users must experience excellent performance, high
quality graphics, and long battery life. Qualcomm helps OEMs and developers
address this challenging combination of requirements.
Mobile graphics and performance. Qualcomm has offered mobile graphics
since industry inception and continues with generations of advances. For
example, when Qualcomms Adreno 130 GPU platform launched, it supported
the industry with performance that was similar to handheld gaming devices.
Today, the Adreno 200 GPU leverages the same architecture that underlies
the current generation of video game consoles. Going forward, Qualcomm
will continue as one of the leading companies in the industry with nextgeneration GPUs that extend performance to the level of future generation
video game consoles and beyond while retaining low power consumption.

Huge Potential Customer Base

Battery life, form factor and cost. - Qualcomm is a leader in the industry
with a single chip solution that integrates CPU, GPU, 3G modem and
multimedia applications processors into a mobile platform. As a result,
Qualcomm is able to achieve smaller form factors and distinctive power
savings from synergies between these components. Morgan Stanley also
highlights Qualcomms low power and low cost advantages: Given the power
and cost advantages of integrated baseband / applications processor chipsets,
1
2

6/2010

Steve Mollenkopf, Qualcomm, New York analyst day, November, 2009


Oppenheimer & Co., Qualcomm, Inc., Takeaways from our day with management,
December, 2009

page ii

It Pays To Optimize For Qualcomms Adreno Platform


of which we believe Qualcomm is a clear leader, we expect Qualcomm to take
disproportionate share from the alternative, discrete chip solutions in midrange
smartphones.3 Deutsche bank also agrees: In our view, the power
advantages of an integrated approach favor Qualcomm and other baseband
vendors versus the flexibility argument of the standalone vendors.4

Leading Chipset Solution

Connected gaming & interactions. Qualcomm integrates it-s best-in-class


3G modems together with WIFI, Bluetooth and GPS to provide connected
performance. With the explosive growth of mobile gaming, Qualcomms
modem expertise and user base provides an array of advantages for
developers. Linley group states: In summary, Qualcomms huge R&D effort
enables it to provide superior platforms for every type of 3G device, beating
competitors in level of integration, multimedia capabilities, data rates or all of
the above.the company is leading the way integrating connectivity functions
into its baseband processors, thereby reducing system cost and differentiating
its productsFor CDMA handset vendors, Qualcomm would be a good
choice even if it wasnt the only choice. In the UMTS market, the company
offers best-in-class products that are distinguished by proven baseband
designs with HSPA+ support, a high level of integration, embedded
connectivity, strong CPU and multimedia performance for smartphones, and a
complete software package for basic and feature phones.5

[3] Adreno tools - their features & benefits


The tools Qualcomm provides to its partners also afford them competitive
advantage. This section highlights some of the key features of each major
Adreno tool and the benefits they provide. These tools include Adreno
Optimization Tools (optimization of textures, geometries & shaders), Adreno
Profiler (device performance analysis and debugging) and Adreno SDK
(unified emulator for all versions of OPEN GL-ES & VG6). For brevity, this
paper discusses only a sample of the functions/ features available in each
tool.
3.1 Adreno Optimization Tools (optimization of textures, geometry and
shaders
Adreno Optimization Tools help developers quickly optimize Adreno based
graphics applications for a broad range of devices. It includes optimizations
for geometries, textures and shaders. Together, these optimizations can
shorten time to market and expand the market for developers. Similarly they
can enhance user experience by providing longer battery life, faster
execution and improved quality graphics.

Adreno Texture Optimization Tools

Morgan Stanley, The downstream play on Smartphone upside, 1/5/2010


Deutsch Bank, Signals to Noise, 2/23/2009
5
th
Linley Group, A Guide to Wireless Handset Processors, 4 Edition, June, 2009
6
OpenGL ES is a royalty free, cross platform API for full function hardware accelerated 3D
graphics on embedded systems including consoles, phones, appliances and in vehicles.
OpenVG is analogous to Open GL ES but focused on 2D vector and raster graphics.
4

6/2010

page 2

It Pays To Optimize For Qualcomms Adreno Platform


Texture Converter: The Adreno Texture converter is a texture compression tool
that allows both off-line and dynamic compression of textures used in graphics
applications. It enables Adreno developers to save memory and bus bandwidth
as well as to save execution time and battery life. These advantages are due to
the smaller footprint of the optimized textures and application containing them, as
well as to their reduced load times.
The tool can be used in two ways: (1) through a binary library and header file that
lets developers integrate the tool within their own tool chain for off-line or
dynamic use, or (2) as a command line utility available for batch processing the
textures. The interface for the library is a single entry point API call which is easy
to use. The tool also comes with sample source for developers as a reference.
Adreno Texture converter not only allows developers to compress textures in
over forty different texture compression formats (including commonly used
formats like ATITC and ETC), but also allows other image manipulation features
along-with mip-mapping support.
Texture Compression with
HW based MIPmapping

Qstrip Mesh Optimizer

Adreno Geometry Optimization Tools


Qstrip Mesh Optimizer: The Qstrip mesh optimizer is a tool that splits
complex sets of discrete triangles in a geometry into smaller contiguous
indexed triangle strips which are optimum for Qualcomms Adreno platforms.
While performing this conversion, Qstrip makes sure that there are shared
vertices between the triangle members of each strip. The result is that the
total number of vertices is reduced significantly, and the overhead required
for transformation and lighting of the shared vertices is eliminated. Using
Qstrip also reduces the total number of draw calls required to render the
geometry by minimizing the number of strips. This increases the likelihood of
GPU vertex cache re-use and greatly conserves processing effort, memory
and battery life. The tool is available as a binary library with header file and a
simple API. The API allows developers to integrate the library into their own
tool chain or potentially include it within their finished applications.
Mesh Converter: Loading a 3D mesh file typically involves a fair amount of
CPU time to navigate its internal contents and build up the final structures
and GPU resources. The Mesh Converter tool was created to reduce this
effort. It works by loading commonly-used mesh file formats, building internal
data structures similar to the destination mesh file format, running optional
mesh-processing algorithms, and writing out the mesh data to a custom,
extend it to support additional file formats and/or insert additional mesh
processing commands.

Adreno Shader Optimization Tools


GPU Shader Analyzer: This is a PC-based tool which quickly identifies the
source and extent of performance bottlenecks in pixel /vertex shaders (e.g.
excessive GPR use). It also helps find and remove compiler translation
inefficiencies by providing side-by-side source/object code comparisons. The
net result is faster execution time and improved battery life. The GPU Shader
Analyzer can be used in interactive mode, or to automatically generate
reports.
A separate version of GPU Shader Analyzer is available only under NDA.
Please send request at adreno.support@qualcomm.com. A version of
Shader Analyzer is also integrated into the Adreno Profiler.

6/2010

page 3

It Pays To Optimize For Qualcomms Adreno Platform

GPU Shader Analyzer


Offline Shader Compiler: Adreno GPUs support binary shaders through
standard extensions. These extensions allow shaders to be compiled on the
device and then read back and stored for later use. It is often desirable,
however, to compile shaders offline. To facilitate this, Qualcomm provides
the Offline Shader Compiler (olsc.exe), whose output can be passed directly
to the driver (using glProgramBinaryOES). The Offline Shader Compiler
provides the following additional benefits:

It keeps pixel and vertex shader sources in a binary file format that
is unreadable to the external world
It reduces the time to load shaders which directly improves
performance and battery life.

Shader Preprocessor: This is an offline tool that preprocesses GLSL


shaders. It lets developers put multiple shaders into a single file to simplify
their management and reduce possible load time complications. The Shader
Preprocessor reads Shader code from a text file and passes it as a string to
GLSL for compilation. Using the simplest approach, each shader is put into
its own text file. This gives rise to potentially hundreds of shader files for a
real game. It becomes extremely hard to manage that many files. As a result,
game developers like to group their shaders into fewer files. The Shader
Preprocessor tool supports this type of grouping by preprocessing these files
to obtain each individual shader.
3.2 Adreno Profiler (on device performance analysis & debugging)
Adreno Profiler is PC software that enables detailed performance analysis of 3D
graphics applications running on handsets and embedded devices using Adreno
GPUs. It helps quickly identify and fix performance bottlenecks to greatly
6/2010

page 4

Adreno Profiler

It Pays To Optimize For Qualcomms Adreno Platform


enhance user experience and reduce developer effort. The same software can
be used to enhance applications that run on all Adreno platforms and all
supported mobile operating systems. For example, you can tune your

applications for Android platform, Windows Phone , Palms WebOS, RIMs

Blackberry OS, Brew MP, Linux and others easily from Adreno Profiler.
Adreno Profiler gathers data from a mobile device via USB connection and
presents: (1) performance metrics at both the GPU and system level
(Grapher Mode), and (2) emulation with function call tracing for OpenGL ES
API (versions 2.0, 1.1, 1.0), and real-time driver overrides (Scrubber Mode).
The Adreno Profiler is available on our Qualcomm developer network site
below:
http://www.qdevnet.com/showcase/adreno-sdk

Benefits of Grapher Mode (performance analysis):


Faster time to market & less development effort: a full set of highly refined
tools that helps developers isolate and fix performance bottlenecks quickly.
Comprehensive analysis: performance profiling at both the GPU and System
levels. Complete performance metrics are given at both levels, notably:
o At GPU level: frames/sec, clock rate, throughput of primitives &
fragments at each pipeline stage, detailed instruction counts,
texture cache misses, overdraw, average triangle area, etc.
o At system level: CPU utilization, Scorpion7 metrics, notification
when expensive driver operations occur (e.g. resolves blocking
pipeline flushes), etc

Adreno Profiler
Grapher Mode

Full User Control/Flexibility: developer can control all salient aspects of


data capture, review and driver override such as:
o Sampling and plotting frequency
o Capture granularity per draw call or selected key events
o Capture context global and local capture and view
o Overrides to the embedded graphics driver while capturing
performance metrics.
Easy to understand and use: simple interface with intuitive display
features like heat map-style visual presentations.

Benefits of Scrubber Mode (call trace, analysis & modification)


Comprehensive: provides a full set of OpenGL ES API call trace and
analysis tools that:
o Captures the entire trace for N frames (with all object data) and
emulates them on a PC for better viewing and understanding.
o Scrolls through the trace to isolate meshes
o Searches the trace for specific state settings
o Captures per render call GPU metrics, such as clock cycles
expended, vertex and fragment counts, etc.
7

6/2010

Scorpion is a family of Qualcomm ARM based, power and performance optimized CPUs for
mobile devices

page 5

Adreno Profiler
Scrubber Mode

It Pays To Optimize For Qualcomms Adreno Platform


Productivity Enhancing: helps quickly find and fix coding inefficiencies:
o Identifies redundant API calls
o Shows overdraw factor for fragments
o Shows % of API calls that are draws, queries, state changes
o Shows number of primitives and fragments drawn
o Previews and analyzes shader compiler and assembler
output/performance while editing
o Permits manual and automatic shader overrides on actual device
while observing performance changes in real-time
Full User Control/Flexibility: lets one easily modify driver behavior at
runtime to view key performance metrics without rewriting source code: e.g.
o Ignore draw calls, clears, or queries
o Enable or disable depth tests, stencil tests, blending, etc.
o Modify any context state variable for a draw call and observe the
result through the emulator
3.3 Adreno SDK (PC-based emulator for Open GL-ES & VG)
The Adreno SDK emulates all versions of Open GL-ES and Open GL VG in a

Windows environment8. It helps developers get their applications to market quickly


and enhances their overall productivity. It is easy to learn and comprehensive.
Some of the key features and benefits are as follows:
Accelerates Time to Market and Productivity:
o Eliminates the need to have adevice early in the development
process; lets one rapidly preview mobile /
embedded
graphics API calls & performance
o Same platform permits viewing behavior of applications running
on all Adreno platforms and all OpenGL & VG revisions
Easy to Learn and Use:
o Simple and intuitive interface with a browser for viewing much of
the content
o Extensive documentation including optimization and
performance recommendations
o Dozens of sample programs, tutorials, and demos illustrating
graphics techniques that are optimized for Adreno GPUs
o Includes a Visual Studio project template to easily create new
programs
Comprehensive:
o Emulations include: OpenGL ES 2.0 and 1.1, plus some 1.0
extensions for compatibility, plus OpenVG
o Extensions to Open GL ES 1.0 include:
- EGL_QUALCOMM_surface_scale,
- EGL_QUALCOMM_surface_rotate,
- EGL_QUALCOMM_surface_transparency
- EGL_QUALCOMM_surface_overlay
- EGL_QUALCOMM_surface_color_key
See Qualcomms Application Developers Guide for Adreno 200 for more
information.
8

6/2010

Windows XP and Windows 7

page 6

It Pays To Optimize For Qualcomms Adreno Platform

The Adreno SDK is available on our Qualcomm developer network site


below:
http://www.qdevnet.com/showcase/adreno-sdk

[4] Partner Support


Qualcomm provides support for developers and OEMs
that saves them effort, shortens time to market and improves the quality of
their offerings. Qualcomms support advantages stem from being a single
point of contact for resolving any issues, employing a wealth of veteran
experts in mobile graphics and gaming, and possessing years of experience
with helping all kinds of developers and OEMs.
Single Point of Contact
As a solutions provider that integrates all key system components (CPU,
GPU, 3G modem and multimedia applications processors) into the mobile
platform, Qualcomm can resolve questions about every component as well
as the integrated solution. Some GPU makers have to refer their customers
to multiple parties for assistance. Without a single point of contact, those
customers must wait longer to isolate faults and to secure appropriate
experts. Moreover, when the problem source or solution is not clear, or they
overlap multiple system components, it can take much longer to gain
accountability and resolution.

Another aspect of
Qualcomms success is
the wide range of support
they offer customers
Qualcomm has extensive
systems expertise and a
deep understanding of the
cellular standards
we think the expertise
they built around their
patent portfolio helps
them provide more
competitive chips.
- Deutsche Bank(S2N), 5/15/09

Wealth of Graphics & Gaming Experts


With Qualcomms purchase of AMDs (formerly ATIs) mobile applications
processor division,, it further enhanced its existing concentration of mobile
graphics and gaming experts. As a result, Qualcomm has experts in the
industry who design the precise tools that developers and OEMs need the
most. Such tools include the Adreno profiler, and the Adreno SDK. They
also include a wealth of sample programs, tutorials, demos, and complete
documentation. These tools and documentation are all available on the
Qualcomm Developer Network: www.developer.qualcomm.com
Beyond effective tools and documentation, Qualcomm leverages its mobile
graphics experts to provide support. Their rich background helps them find
and resolve customer problems efficiently saving customers valuable
resources, time to market, and often improving application performance.
Deep Mobile Industry Involvement
As one of the key contributors to the mobile applications platform industry,
Qualcomm continues to vigorously help all ecosystem participants. One of
its biggest priorities is to ensure a win-win environment for everyone.
Towards this end, the company makes its deep understanding and
relationships with developers, OEMs, and operators a resource for all
partners. Moreover, Qualcomm actively supports all partners large and
small.

[5] Conclusion
Qualcomm strives to drive rich graphics use, including Smartphones and 3Genabled mobile phones. Qualcomm products also support major mobile
operating systems. As a result, developers who optimize their applications
6/2010

page 7

It Pays To Optimize For Qualcomms Adreno Platform


for Qualcomms platforms is likely to get a higher return on investment - their
apps are likely to run better on a vast number of devices and across major
mobile operating systems.
In addition to accessing a large potential customer base, Qualcomm helps
developers achieve industry-leading application performance vis--vis
execution time, graphics effects, battery life and form factor. As a result,
users can have a satisfied experience and are more likely to buy and
continue using applications beyond the trial period. Moreover, Qualcomms
Adreno tools help developers get their applications to market quicker and
with the least amount of effort. Qualcomm achieves this by offering efficient
debuggers and optimization utilities, as well as a rich suite of sample
programs, tutorials, demonstrations, documentation, and expert support.
Furthermore, with a full-featured Adreno SDK emulator, developers can
begin building their applications well before the first commercial devices are
available. As a result, Qualcomms Adreno GPU is the platform of choice for
maximizing commercial success.

6/2010

page 8

S-ar putea să vă placă și