驱动开发系列39 - Linux Graphics 3D 绘制流程(二)- 设置渲染管线

一:概述

        Intel 的 Iris 驱动是 Mesa 中的 Gallium 驱动,主要用于 Intel Gen8+ GPU(Broadwell 及更新架构)。它负责与 i915 内核 DRM 驱动交互,并通过 Vulkan(ANV)、OpenGL(Iris Gallium)、或 OpenCL(Clover)来提供 3D 加速。在 Iris 驱动中,GPU Pipeline 设置 涉及多个部分,包括 编译和上传着色器、设置渲染目标、绑定缓冲区、配置固定功能单元 等。

二: 创建GPU上下文

        Iris 驱动使用 Gallium3D 框架,因此 GPU 的 pipeline 配置是通过 iris_context 来管理的。下面结合代码来看看GPU上下文的创建过程:

      驱动开发系列39 - Linux Graphics 3D 绘制流程(二)- 设置渲染管线_第1张图片

/**
 * 上传渲染上下文的初始 GPU 状态。
 *
 * 该函数设置了一些固定的状态,这些状态在整个渲染过程中保持不变。
 */
static void
iris_init_render_context(struct iri

你可能感兴趣的:(GPU驱动专栏,驱动开发)