Graphics Reference
In-Depth Information
3
IV
Bandwidth E cient Graphics
with ARM ￿ Mali ￿ GPUs
Marius Bjørge
3.1 Introduction
GPUs in mobile devices today are becoming increasingly powerful. The biggest
concern in the mobile space is battery life and one of the biggest consumers of
battery is external memory access. Modern mobile games use post-processing
effects in various ways and while the GPU itself is capable of doing this, the
bandwidth available to the GPU is typically not.
A major strength of Mali and other tile-based architectures is that a lot of
operations can be performed on-chip without having to access external memory.
For an application to run eciently on such architectures it is beneficial to try
and keep the processing on-chip for as long as possible. Flushing tile-buffer data
to a framebuffer that is subsequently read by sampling a texture can be expensive
and consume a lot of bandwidth.
ARM have implemented extensions for OpenGL ES 2.0 and OpenGL ES 3.0
to reduce the requirement of accessing external memory for doing post-processing
and other operations. This chapter introduces these extensions as well as use-
cases for them.
3.2 Shader Framebuffer Fetch Extensions
The Mali-T600 series and Mali-400 series of GPUs support a fragment shader
extension that allows applications to read existing framebuffer color, depth, and
stencil of the current pixel being processed. Since the data is in the tile buffer,
reading it is practically free and you avoid the bandwidth consuming write-read
loop that otherwise would be required.
ARM is a registered trademark of ARM Limited (or its subsidiaries) in the EU and/or
elsewhere. Mali is a trademark of ARM Limited (or its subsidiaries) in the EU and/or elsewhere.
All rights reserved.
 
 
Search WWH ::




Custom Search