3. 渲染管线基础

在移动 GPU 驱动开发中,理解图形渲染管线的硬件实现是性能调优的基石。SA8155 采用的 Adreno GPU 基于 Tile-Based Deferred Rendering (TBDR) 架构,这与桌面 GPU 的 Immediate Mode Rendering (IMR) 有本质区别。本章将深入剖析渲染管线的三大核心阶段——顶点着色器、光栅化、片段着色器——的硬件映射,并重点解析 Tile-Based 架构的工作原理。

3.1 图形渲染管线概览:从 API 到硬件

图形渲染管线是将 3D 场景转换为 2D 图像的一系列可编程与固定功能阶段。在 SA8155 的 Adreno GPU 中,管线被划分为前端(几何处理)和后端(像素处理),中间由 Tile 引擎衔接。

关键概念: 渲染管线在硬件上并非严格的线性流水线,而是通过并行单元(Shader Core、Texture Unit、ROP)和 Tile 缓存实现高吞吐量。
SA8155 Adreno GPU 渲染管线硬件架构总览 顶点着色器 (Shader Core) 图元装配 (固定功能) 光栅化 (Tile Engine) 片段着色器 (Shader Core) 硬件映射说明: • 顶点/片段着色器:运行在统一的 Shader Core 阵列上(Adreno 640 有 2 个 Shader Processor)。 • 图元装配:由固定功能单元(Primitive Assembly Unit)完成,不消耗可编程资源。 • 光栅化:由 Tile Engine 内的 Rasterizer 单元执行,负责将三角形转换为像素块(Tile)。 • 整个管线受 Command Processor (CP) 调度,通过 PM4 包控制状态切换。