Mesa 的 Virgl 代码作为 Virgil 3D GPU 项目的一部分允许在 QEMU 虚拟机中进行 OpenGL/3D 加速,然后将驱动程序调用传递到主机 GPU。Mesa 在这个阶段的 Virgl 代码依赖于 Gallium3D TGSI 中间表示,同时他们正在努力将其转移到现代和优越的 NIR。
这是通过使用 NIR-to-TGSI 代码路径将更多更旧和更小的 Mesa 驱动程序移动到 NIR 的趋势的一部分,最终返回到 TGSI 以供驱动程序使用(目前至少避免重写其驱动程序着色器编译器后端),但形式更优化。使用 NIR 允许在驱动程序之间共享更多优化,并且 NIR 生成通常优于 TGSI,因此它可以提高驱动程序的效率,并将更多驱动程序整合到使用 NIR 的代码路径上,以便更轻松地进行代码维护。Mesa 的 Virgl 正在努力赶上这股潮流。
Emma Anholt 一直致力于为较小/较年长的驾驶员采用 NIR 到 TGSI。本周,她提出了一个合并请求,该请求已经登陆 Mesa 22.1-devel,以获取更多 Virgl 代码以支持 NIR-to-TGSI 路线。
该准备工作包括对 Virgl 的更改以及对 nir_to_tgsi 的一些更改,以便在将来的提交中为 Virgl 与 NIR-to-TGSI 一起准备代码。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun131872.html