You copied the Doc URL to your clipboard.

Glossary

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

Anti-aliasing

The process of removing or reducing aliasing artifacts, 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.

Alpha Blending

Alpha blending is a combination of two colors permitting transparency effects in computer graphics. The value of alpha in the color code ranges from 0.0 to 1.0, where 0.0 represents a fully transparent color, and 1.0 represents a fully opaque color.

API

See Application Programming Interface.

Application Programming Interface (API)

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.

API driver

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

Architecture

The organization of hardware and/or software that characterizes a processor and its attached components, and enables devices with similar characteristics to be grouped together when describing their behavior, for example, Harvard architecture, instruction set architecture, ARMv6 architecture.

Blending

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

See Also Alpha-blending.

Blitting

Blitting copies an image into a buffer and optionally performs alpha-blending (if the alpha channel is present) to merge the source and destination areas together.

See Also Copying, Alpha-blending, Blending.

Clipping

The process of taking a triangle and geometrically removing parts of it that are outside a specific volume.

Copying

Copying duplicates an image from a buffer to the display surface, overwriting the original contents of the display surface.

See Also Blitting.

Device driver

An operating system component that communicates with the graphics hardware.

Display subsystem

The display that a final image is viewed on and the associated software that controls the operation of the display.

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 an index array is used to look up vertices in 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.

ESSL compiler

The compiler that translates shaders written in ESSL, into binary code for the shader units in the graphics processor. There are two versions of ESSL compiler - the on-target compiler and the offline compiler

ETC

See Ericsson Texture Compression (ETC1).

Ericsson Texture Compression (ETC1)

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 be multi-sampled and super-sampled.

Fragment processor

A programmable component of the pixel processor, that runs fragment shaders.

Fragment shader

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

Framebuffer

A memory buffer containing a complete frame of graphical data, produced by the GPU.

Geometry processor

A geometry processor, such as the MaliGP2, 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.

Mali MMU

A full-featured Memory Management Unit (MMU) that is present on Mali GPUs, such as the Mali-200 GPU.

Mali Surface

The destination for Mali output. It can potentially be for color, depth, stencil, but in the EGL sections it is only related to color output buffers.

Microprocessor

See Processor.

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 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 graphics processor.

On-target compiler

A component of the OpenGL ES 2.0 driver that translates shaders provided by the application in source form, into binary shader code, at runtime.

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.

Render Target

See Mali Surface.

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 Mali pixel processor performs rendering operations to produce a final image for display.

Primitive

A basic element that is used, with other primitives, to generate images. A primitive can be a point, a line, a triangle, or a quad. Properties of primitives are defined through the use of vertices. Each primitive is divided into fragments so that there is one or more fragments for each pixel covered by the primitive.

See Also Vertex.

Processor

A processor is the circuitry in a computer system required to process data using the computer instructions. It is an abbreviation of microprocessor. A clock source, power supplies, and main memory are also required to create a minimum complete working computer system.

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 fragments of each triangle that cover each pixel on the display screen.

Rasterizer

A unit or method to convert a geometrical description of primitives supported by Mali (point, line, triangle, or quad), to fragments. The rasterizer works on line equations generated in the triangle setup phase of Mali GPU pixel processors.

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 restricts rendering to a specified rectangular region of a rendering surface.

Shader

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

Shader Library

A set of shader examples, tutorials, and other information, designed to assist with developing shader programs for the Mali graphics processor. The Shader Library is a component of the Mali SDK.

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.

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.

Triangle setup unit

The triangle setup unit is a component of Mali pixel processors, such as the Mali-200 pixel processor. Triangle setup prepares primitives for rendering by calculating various data that is required to rasterize and shade the primitive.

Unaligned

A data item stored at an address that is not divisible by the number of bytes that defines the data size is said to be unaligned. For example, a word stored at an address that is not divisible by four.

Vertices

This is the plural form of the word vertex.

See Also Vertex.

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 attributes

The data provided by the application, to define a vertex.

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.

Was this page helpful? Yes No