1.3. Mali GPU Developer Tools

The Mali GPU Developer Tools consist of the following development tools to help you optimize OpenGL ES application development:

OpenGL ES 1.1 Emulator

The OpenGL ES 1.1 Emulator is a library that maps OpenGL ES 1.1 API calls to OpenGL 2.0 API calls to be executed on a graphics card in a standard PC. The graphics card must support at least OpenGL 2.0 for the emulator to work. There are emulators for Windows and Linux.

OpenGL ES 2.0 Emulator

The OpenGL ES 2.0 Emulator is a library that maps OpenGL ES 2.0 API calls to OpenGL 2.0 API calls to be executed on a graphics card in a standard PC. The graphics card must support OpenGL 2.0 for the emulator to work. There are emulators for Windows and Linux.

Mali GPU Performance Analysis Tool

The Performance Analysis Tool helps you analyze graphics application performance by studying hardware and software performance counters produced by the Mali GPU and or the Instrumented Version of the OpenGL ES 2.0 Emulator under Windows.

Note

The Linux version does not currently support this feature.

The Performance Analysis Tool can display any of a set of performance counter values for each frame.

Mali GPU Texture Compression Tool

You can run the Mali GPU Texture Compression Tool on your computer to encode texture images into formats that take less memory than the original. This enables you to reduce the amount of memory bandwidth required to read texture data. The reduced bandwidth results in superior performance and reduced power consumption. The Mali GPU supports Ericsson Texture Compression (ETC). ETC is the compression scheme recommended by the OpenGL ES Working Group. The Texture Compression tool has both a graphical and command-line interface.

Mali OpenGL ES Instrumented Drivers

The Mali OpenGL ES Instrumented drivers are a special build of the Mali OpenGL ES drivers with added debug functionality. These drivers contain:

  • functionality for sampling of hardware and software performance counters

  • additional debug output

  • dumping of driver state content

  • dumping of framebuffer content.

Mali GPU Demo Engine

The Mali GPU Demo Engine is a library of C++ functions that aid building OpenGL ES applications for an ARM platform with Mali GPU acceleration. You can run the Mali GPU Demo Engine on a Microsoft Windows workstation, a Linux workstation, and on an ARM platform with a Mali GPU. You can use the Mali GPU Demo Engine to create new applications, deliver training, and explore implementation possibilities.

Mali GPU Binary Asset Exporter

The Mali GPU Binary Asset Exporter is a program that runs on your desktop computer and converts graphic assets from the COLLADA format to the Mali Binary Asset format. These graphic assets include such elements as:

  • geometry data

  • textures

  • lighting

  • movements for animation.

The assets can be imported in COLLADA format that can be generated by commercial 3D modelling tools such as Google SketchUpPro and Autodesk 3ds Max.

Note

The Mali GPU Demo Engine requires assets in Mali Binary Asset format so that any COLLADA assets must be converted to Mali Binary Asset format before the assets are used in the Demo Engine.

Mali GPU Shader Development Studio

The Mali GPU Shader Development Studio is an Eclipse plug-in that extends the functionality of the Eclipse platform and enables editing of OpenGL ES shaders. You can use it to start developing shaders, or to work on existing shaders and shader effects.

You can preview shaders as they are being developed by rendering them on remote OpenGL ES hardware or on local or remote emulations. You can modify various shader variables and use the Mali GPU Shader Development Studio to view the corresponding changes in the effects.

Note

The following shader tools are not applicable to fixed-function hardware such as the Mali-55 GPU:

  • Mali GPU Shader Development Studio

  • Mali GPU Shader Library

  • Mali GPU Offline Shader Compiler.

Mali GPU Shader Library

The Mali GPU Shader Library is a collection of example shader programs. These examples contain the ESSL vertex and fragment shader source files for shader programs and other information to help you start developing shader programs for the Mali GPU. You can use the shader programs as they are provided, modify them to suit your requirements, or use them to learn and develop your own programs.

Mali GPU Offline Shader Compiler

The Mali GPU Offline Shader Compiler translates vertex shaders and fragment shaders written in the OpenGL ES Shading Language (ESSL) into binary vertex and fragment shaders.

The OpenGL ES 2.0 Emulator and Mali GPU Shader Development Studio use the Mali GPU Offline Shader Compiler to check the syntax of shaders before they are sent for rendering. Each shader is compiled in the background and any warnings or errors that are generated are collected.

See Mali GPU Developer Tools Overview for more information about the Mali GPU developer tools.

You can use the Mali GPU developer tools together with standard ARM development tools such as RealView® Developer Suite (RVDS). See http://www.arm.com for a complete list of ARM software development tools. Many of these tools are semihosted, so that you can operate them from your desktop computer, using a tool such as RealView ICE® for communication with the development platform.

Copyright © 2007-2009 ARM. All rights reserved.ARM DUI 0363D
Non-Confidential