A brief guide into the Vulkan API and its
applications on PowerVR hardware.

Tile-Based Deferred Rendering (TBDR)

An introduction to PowerVR's TBDR architecture

The usual rendering technique on most GPUs is known as Immediate Mode Rendering (IMR)
where geometry is sent to the GPU, and gets drawn straight away. This simple
architecture is somewhat inefficient, resulting in wasted processing power and memory
bandwidth. Pixels are often still rendered despite never being visible on the screen,
such as when a tree is completely obscured by a closer building.

PowerVR's Tile-Based Deferred Rendering architecture works in a much smarter way. It
captures the whole scene before starting to render, so occluded pixels can be identified
and rejected before they are processed. The hardware starts splitting up the geometry
data into small rectangular regions that will be processed as one image, which we call
“tiles”. Each tile is rasterized and processed separately, and as the size of the render
is so small, this allows all data to be kept on very fast chip memory.

Deferred rendering means that the architecture will defer all texturing and shading
operations until all objects have been tested for visibility. The efficiency of PowerVR
Hidden Surface Removal (HSR) is high enough to allow overdraw to be removed entirely for
completely opaque renders. This significantly reduces system memory bandwidth
requirements, which in turn increases performance and reduces power requirements. This
is a critical advantage for phones, tablets, and other devices where battery life makes
all the difference.

Generally, the parts up to and including "Tiling" are considered part of the Tiler, and
the parts from "Raster" onwards are considered part of the Renderer. These are described
in more detail on the following pages.