working with hardware acceleration - Khronos Group › assets › uploads › developers › ... ·...

18
working with hardware acceleration Architect, AMD Chairman, OpenVG WG Andrzej Mamona

Transcript of working with hardware acceleration - Khronos Group › assets › uploads › developers › ... ·...

Page 1: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

working with hardware acceleration

Architect, AMD

Chairman, OpenVG WG

Andrzej Mamona

Page 2: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

2

Vector GraphicsUse of geometrical primitives such as points, lines, curves and polygons to represent images.

Term used by contrast to the raster graphics, which is the representation of images as a collection of pixels.

Vector-represented images are more flexible than bitmapscan be resized and stretchedlook better on devices with higher resolutionrepresentation of images often requires less memory

Animations are usually performed using vector files (e.g. Adobe Flash)

Page 3: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

3

The transition…

CPUHW Accelerator

Application

Proprietary 2D API

Application

Vector graphics Lib

Page 4: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

4

OpenVG

Royalty-free open standard API

Low-level 2D vector graphics rendering API

Advanced feature set to enable SVG, Flash, Vector Fonts etc.

Portable content

Hardware Acceleration

Page 5: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

5

Designed to accelerate …

SVG (specifically tailored for SVG Tiny 1.2, but is capable to support any SVG profile)

Adobe PostScript

Adobe PDF

Adobe Flash

Java (JSR 287)

Page 6: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

6

Target applicationsScalable User Interfaces

SVG viewers

Mapping applications

E-book readers

Games

Page 7: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

7

Target devices

Anything from wrist watch to desktop system

Main focus on handheld devices

Expansion towards DT and HDTV under consideration

Page 8: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

8

Value for CustomerUser experience

Scalable, animated, different aspect ratios, high quality renderingGraphics-rich internet contentGreeting cardsGames, cartoons…High quality, scalable maps.

Handset manufacturerScalable User InterfaceLess expensive alternative to 3D graphicsPower savings

CarrierAnimated and interactive advertisementsCreates demand for streaming large amounts of attractive, high-quality vector graphics data to user’s mobile phone

Page 9: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

9

OpenVG pipelinePath – collection of connected straight line segments and curvesAffine transformations applied to paths, perspective to imagesRasterization

Lines, quadratic and cubic Brezier curves, elliptical arcsShapes defined by a path can be filled and/or strokedFill rules (odd/even, non-zero)Stroke width, dash pattern, end cap style, joint style…Quality/performance tradeoff, anti-aliasing mandatory unless explicitly turned off

Application defined alpha maskPaint (solid, linear and radial gradients, color ramps, patterns)Images

Perspective transformationsMode (normal, multiply, stencil)User defined convolution kernel

Blending (Porter-Duff and more…)

Path GenerationPath Generation

TransformationTransformation

RasterizationRasterization

Clipping and MaskingClipping and Masking

Paint GenerationPaint Generation

Image InterpolationImage Interpolation

BlendingBlending

Page 10: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

10

Benefits of h/w acceleration

Performance gains

Huge power savings by order of magnitude comparing to ARM11 performing the same task

Enabling rich VG contentGrowing display resolutions cannot be rendered with sufficient rate by software rasterizers

Page 11: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

11

Performance

VG_STROKE_PATH - FPS

256x256 128x128 64x64

ARM 200MHz X86 2GHz AMD VG Core 100 MHz

VG_FILL_PATH - FPS

256x256 128x128 64x64

ARM 200MHz X86 2GHz AMD VG Core 100 MHz

Page 12: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

12

History

August 2005OpenVG 1.0Sample Implementation – Hybrid Graphics

March 2007OpenVG 1.0.1 – Spec AmendmentConformance TestSample Implementation 1.0.1

available under MIT license

Page 13: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

13

ImplementationsDedicated VG hardware

entire OpenVG pipeline in hardware

3D hardwareNeeds some processing of data before sending them to hardware

OpenVG on top of OpenGL / OpenGL ESwrapper

Software rasterizersPurely software solution

Page 14: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

14

VG dedicated h/w

AMD VG CoreThe first and so far the only hardware vector graphics processor…Complete OpenVG 1.0 pipeline implemented in hardware…Fully conformant with OpenVG 1.0.1 CTSSee demos at AMD booth and in Khronos booth…

Page 15: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

15

OpenVG on 3D h/w

Imagination Technologies (IMG)PowerVR MBX – already being shippedIMG committed to support OpenVG on PowerVRMBX/SGX family and future technologies…Demo in Khronos booth…

DMPPICA VG – under implementationDMP has also plans regarding VG native h/w

Page 16: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

16

OpenGL/OpenGL ES based

MazatechAmanithVG – supported by OpenGL 1.1/2.0

HuoneAlexVG™ onGLES – OpenGL ES wrapper

Page 17: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

17

Software rasterizersNvidia

Official OpenVG Sample ImplementationWin32 platformavailable under MIT license

Commercial OpenVG Implementationlicensed by major handset vendorsrunning on ARM processorsperformance optimized (50 – 200x faster than SI)ported and optimized for Nvidia handheld GPUs and Application Processors

HuoneAlexVG™ engine2D Vector graphics software engine based on OpenVG

Page 18: working with hardware acceleration - Khronos Group › assets › uploads › developers › ... · GDC 2007 - Khronos Media Acceleration Forum 4 OpenVG Royalty-free open standard

GDC 2007 - Khronos Media Acceleration Forum

18

RoadmapOpenVG 1.1 (August 2007)

Adobe Flash 7 / Flash Lite 2 supportGlyph API… to be released at Siggraph this year

OpenVG 1.2 (summer 2008)Flash 8 supportStricter precision requirementsEnhanced AAPerspective geometry

OpenVG 2.0 (2009/2010)Programmable h/w