Developing on Arm Mali GPUs?

View the complete selection of developer guides including the introductory guides to the Arm Mali GPU, guides for artists, and more advanced guides. These include the Arm Guide for Unity developers, OpenGL ES 3.0 and 3.1, OpenCL and RenderScript best practices. Each guide contains a number of chapters walking you through an introduction before moving you on to advanced concepts.

Introductory guides

These guides explain the basics on getting started with developing on Arm Mali GPUs.

  • Principles of High Performance

    Principles of High Performance Image

    Principles of High Performance, and knowing what to aim for is a guide on high performance developing on GPUs. It explains the cornerstones of high performance and how to achieve it.

    Read the guide 

  • Understanding Render Passes

    Understanding Render Passes Image

    This guide discusses how render passes apply to Mali’s tile-based GPU architecture via different Application Programming Interfaces (APIs), such as Vulkan and OpenGL ES.

    Read the guide

  • Tile-Based Rendering

    Tile-Based Rendering Image

    Tile-based rendering - Understanding the Mali Rendering Architecture.

    Read the guide

  • Workload Pipelining

    Workload Pipelining

    In this article we will look at macro-scale pipelining of workloads, the means by which we keep the GPU busy all of the time, and some of the common reasons for that frame level pipeline to stall.

    Read the guide 
  • The Bifrost Shader Core

    The Bifrost Shader Core Image

    This guide describes the top-level layout and the benefits of and shader core functionality of a typical Mali Bifrost GPU programmable core, the third generation of Mali GPUs. The Bifrost gamily includes the Mali-G3x, Mali-G5x, and Mali-G7x series of products.

    Read the guide

  • The Midgard Shader Core

    The Midgard Shader Core Image

    This guide discusses a typical Mali Midgard GPU programmable core. Midgard is the second-generation Mali GPU architecture, and the first to support OpenGL ES 3.0 and OpenCL. The Midgard family includes the Mali-T600, Mali-T700, and Mali-T800 series products.

    Read the guide

  • The Utgard Shader Core

    The Utgard Shader Core Image

    This guide provides an overview of a typical Mali Utgard GPU programmable core.

    Read the guide

  • Accelerating 2D Applications

    Accelerating 2D Applications Image

    This guide describes how to improve a device's battery life by reducing device energy use, increasing application performance, and preventing thermal throttling by using specific aspects of 3D rendering to accelerate performance in 2D applications.

    Read the guide

  • The Benefits of Buffer Packing

    The Benefits of Buffer Packing Image

    This guide explains how to make best use of the limited memory bandwidth available to your application on your target device and what memory bandwidth areas can be made more efficient.

    Read the guide 

  • Understanding Numerical Precision

    Understanding Numerical Precision Image

    This guide explores the different levels of numerical precision available for a GPU. It explains the advantages of using narrower data types, and when you might consider using the higher precision types available instead.

    Read the guide 

Guides for Mobile Game Artists

Geometry Best Practices for Artists

Developer guides - Artists Guides

Geometry is a main component when creating a 3D game. To make sure a game runs well on all devices it is essential that the geometry considerations of a game are taken seriously, and optimised as much as possible. This guide highlights geometry optimisations for 3D assets, that can make a game more efficient and achieve the overall goal of getting your game to perform better on mobile platforms.

View Geometry Best Practices for Artists

More advanced guides

Arm Mali GPU Best Practices Developer Guide

Mali Best Practices

The best practices guide for developers optimizing for Mali GPUs and recommendations for efficient API usage.

View Guide


Arm Guide for Unity Developers

Unity Guide for Unity Developers

We have collated all the hints, tips, and techniques which have arisen during projects that our demo team have worked on, which we hope will benefit you as a beginner or intermediate level developer.

View Unity Developers Guide


Arm Guide to OpenCL Programming

Arm Guides to OpenCL Programming

These guides provide advice and information to OpenCL developers seeking to improve the performance and use of available hardware in platforms performing complex algorithms. The guides also contain a descriptive list of these algorithms.

View Bifrost and Valhall OpenCL Guide View Midgard OpenCL guide

 OpenGL ES 3.X Developer Programming Guide

OpenGL ES 3.X Developer Programming Guide

Learn the key OpenGL ES 3.x API features and extensions, as well as best practises on how to optimize your OpenGL ES 3.x application for the Arm Mali architecture with our programming guide.

Download Open GL ES 3.X PDF guide


Arm Guide for Unreal Engine 4 Optimizing Mobile Gaming Graphics

Arm Guide for Unreal Engine 4 Optimizing Mobile Gaming Graphics

This guide is designed to help you create applications and content that make the best use of Unreal Engine 4 on mobile platforms, especially those with Arm Mali GPUs.

View Unreal Engine 4 guide


Arm Guide to RenderScript Best Practices

This guide provides advice and information to developers working with RenderScript on Arm Mali GPUs.

View RenderScript guide