Glossary

This glossary describes some of the terms used in Mali GPU documents from ARM Limited.

Anti-aliasing

The process of removing or reducing aliasing artefacts, primarily jagged polygon edges, from an image. Anti-aliasing is particularly important for low-resolution displays. There exist several techniques to perform anti-aliasing, see multi-sampling and super-sampling.

API

See Application Programming Interface.

API driver

A specialized driver that controls graphics hardware. Examples are OpenGL ES driver and OpenVG driver.

Application Programming Interface

A specification for a set of procedures, functions, data structures, and constants that are used to interface two or more software components together. For example, an API between an operating system and the application programs that use it might specify exactly how to read data from a file.

Blending

A process where two sets of color and alpha values are blended together to form a new set of color and alpha values for a fragment.

Byte

An 8-bit data item.

Clipping

See scissoring.

Demo Engine

See Mali Demo Engine.

Depth testing

A process that pixel processors can use to reject fragments that are not visible because they are behind other fragments. The early-Z testing process uses depth testing.

Device driver

An operating system component that communicates with the graphics hardware.

Draw mode

The OpenGL ES APIs support several ways of specifying the primitives to draw, that is, different draw modes. The primitives can be specified individually or as a connected strip or fan. They can also be non-indexed, meaning that vertices are passed in a vertex array and processed in order, or indexed, meaning that vertices are passed as indices into a vertex array.

Early-Z

A Z-testing scheme that performs the actual Z-test before texturing or fragment shading when it is safe to do so, increasing performance and reducing the required bandwidth.

EGL driver

See Native platform graphics interface.

ESSL

See OpenGL ES Shading Language.

Ericsson Texture Compression (ETC)

A 4 bit-per-pixel (bpp) texture compression algorithm.

Fixed-function pipeline

A process that uses standard functions to draw graphics on fixed-function graphics hardware. For example, OpenGL ES 1.1 implements a fixed-function pipeline.

Fragment

A fragment consists of all data, such as depth, stencil, texture, and color information, required to generate a pixel in the framebuffer. A pixel is usually composed of several fragments. A fragment can either be multi-sampled or super-sampled.

Fragment shader

A program running on the pixel processor that calculates the color and other characteristics of each fragment.

Framebuffer

A memory buffer containing a complete frame of data.

Geometry processor

A geometry processor executes vertex shaders that typically contain transform and lighting calculations, and generates lists of primitives for a pixel processor to draw.

Graphic application

A custom program that executes in the Mali graphics system and displays graphics content.

Graphics driver

A software library implementing OpenGL ES or OpenVG, using graphics accelerator hardware. See also OpenGL ES driver and OpenVG driver.

Graphics pipeline

The series of functions, in logical order, that must be performed to compute and display computer graphics.

Instrumented drivers

Alternative graphics drivers that are used with the Mali GPU. The Instrumented drivers include additional functionality such as error logging and recording performance data files for use by the Performance Analysis Tool.

Mali Binary Asset Exporter

A converter tool for Windows that converts XML-based COLLADA documents to the Mali Binary Asset format for use with the Mali Demo Engine. The Mali Binary Asset Exporter is a component of the Mali Developer Tools.

Mali Demo Engine

The Mali Demo Engine is a component of the Mali Developer Tools. The Mali DemoEngine library enables you to develop 3D graphics applications more easily than using OpenGL ES alone.

Mali Demo Engine Library

A C++ class framework for developing OpenGL ES 2.0 applications for the Mali GPU.

Mipmap

A pre-calculated, optimized collection of bitmap images that accompanies a main texture, intended to increase rendering speed and reduce artifacts.

Multi-ICE

A JTAG-based tool for debugging embedded systems.

Multi-sampling

An anti-aliasing technique where each pixel in the framebuffer is split into multiple samples corresponding to different positions within the area covered by the pixel. Each fragment produced for the pixel is duplicated onto each sample, and operations such as alpha-blending and depth testing is performed on a per-sample basis. In the final image, the color of each pixel is the average between the colors of the samples for that pixel.

The Mali pixel processors support multi-sampling at four samples per pixel with negligible performance impact.

Native platform graphics interface (EGL) driver

A standardized set of functions that communicate between graphics software, such as OpenGL ES or OpenVG drivers, and the platform-specific window system that displays the image.

Offline Shader Compiler

A command line tool that translates vertex shaders and fragment shaders written in the ESSL into binary vertex shaders and binary fragment shaders that you can link and run on the GPU.

OpenGL ES driver

On graphics systems that use the OpenGL ES API, the OpenGL ES driver is a specialized driver that controls the graphics hardware.

OpenGL ES Shading Language (ESSL)

A programming language used to create custom shader programs that can be used within a programmable pipeline, on graphics hardware. You can also use pre-defined library shaders, written in ESSL.

OpenVG driver

On graphics systems that use the OpenVG API, the OpenVG driver is a specialized driver that controls the graphics hardware.

Performance Analysis Tool

A fully-customizable GUI tool that displays and analyzes performance data files produced by the Instrumented drivers, together with framebuffer information.

See Also Instrumented drivers, Performance data file.

Performance counter

Data produced by the Instrumented drivers and the GPU hardware, that can be displayed and analyzed as statistical information in the Performance Analysis Tool.

Performance data file

Files that contain a description of the performance counters, together with the performance counter data in the form of a series of values and images. Performance data files are saved in .ds2 format and can be loaded directly into the Performance Analysis Tool.

Pixel

A pixel is a discrete element that forms part of an image on a display. The word pixel is derived from the term Picture Element.

Pixel processor

A pixel processor, such as the Mali-200 or Mali-400, performs rendering operations to produce a final image for display.

Polygon list

A list of triangles produced by the geometry processor, containing data that describes triangles that have been transformed. The list is input to the PLB.

Polygon List Builder (PLB)

The PLB assembles transformed vertices into a data structure containing data that describes the triangles. The data structure is ordered into tiles. A tile is an approximately square area, covering a number of pixels on the display screen. The fragment processor processes the data structure.

Primitive

A basic element that is used, with other primitives, to generate images. A primitive can be a point, a line, or a triangle. Each primitive is divided into fragments so that there is one fragment for each pixel covered by the primitive.

Programmable pipeline

A process that uses custom programs to draw graphics on programmable graphics hardware. For example, OpenGL ES 2.0 implements a programmable pipeline.

Quad

A rendering primitive with four vertices.

Rasterization

The process of identifying the fragment of each triangle that is seen through each pixel on the display screen. The pixel processor performs rasterization.

Sample

A sample refers to a value or set of values at a point in space. The defining point of a sample is that it is a chosen value out of a continuous signal. In the context of graphics, the sample point is usually in the middle of a pixel, and what is sampled is the geometry descriptions of polygons.

Scissoring

A process that prevents rendering in certain portions of a rendering surface.

Shader

A program, usually an application program, running on the GPU, that calculates some aspect of the graphical output. See fragment shader and vertex shader.

Shading language

A programming language used to define custom shader programs to run on programmable graphics hardware. Different graphics APIs support different shading languages.

SoC

System-on-Chip.

Sub-pixel

Full-color displays are made by combining red, green, and blue light in varying degrees to produce different shades of colors. In a display with a fixed pixel structure, such as LCDs or plasma panels, the red, green, and blue light comes from adjacent cells in the display's physical structure. The light from these three subpixels, one for each color, combine to create a single pixel. There are also pixel structures that do not rely on three subpixels.

Super-sampling

An anti-aliasing technique where the image is rendered in a higher resolution than the framebuffer and then scaled down before being written to the framebuffer.

Texture Compression tool

A component of the Mali Developer Tools that you can use to compress textures and images, using the ETC algorithm.

Tile buffer

A memory buffer inside the GPU that holds the framebuffer contents for the tile that is currently being rendered. The tile buffer can be accessed without using the memory bus.

Vertex

A set of data defining the properties of one point of a primitive. For example, a point primitive, an endpoint of a line primitive, or a corner of a triangle primitive.

Vertex shader

A program running on the geometry processor, that calculates the position and other characteristics, such as color and texture coordinates, for each vertex.

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