GPU Architecture Introduction

The pipelines of modern GPU architectures can be coarsely split into two categories - IMRs and TBRs.

Immediate-Mode Renderers (IMRs)

IMR-style architectures are dominant in desktops, laptops and consoles. The key characteristic of an IMR is that primitives are processed immediately through the graphics pipeline. This means that each primitive travels through the entire GPU pipeline without any knowledge of the primitives that came before or after it.

Tile-Based Renderers (TBRs)

TBR-style architectures are dominant in mobile and embedded devices. The key characteristic of a TBR is that the scene is divided into fixed-sized, screen-space regions. The pixel colours in the scene are calculated a tile at a time. Once a tile render is complete, its attachments are written out to system memory.

The benefit of TBRs is that a tile-sized cache can be used to store intermediate attachment data during the rendering process. Caching this information on-chip avoids costly system memory bandwidth transfers. The downside of TBRs is that the entire scene's geometry needs to be transformed and binned into tiled regions before per-tile rasterization can begin. This increases the complexity of the GPUs and increases memory requirements, as an intermediate buffer to store the transformed primitives and binning information that the per-tile operations can read later in the GPU execution process.

Further reading