NVIDIA GeForce FX“NV30”显卡已有近二十年的历史,而通过开源、社区驱动的 Nouveau 项目,即使这些旧 GPU 仍然偶尔会看到 Linux 显卡驱动程序的改进。今天推出 Mesa 22.1-devel 是我们多年来看到的开源 NV30 和 NV40(GeForce 6 / 7 系列)显卡最引人注目的驱动程序工作。
使用最新的 Mesa 代码,NV30/NV40 开源 Gallium3D 驱动程序现在默认使用 NIR-to-TGSI 路径。这允许通过更多的内部驱动程序处理来使用 NIR 中间表示,然后再返回到 TGSI IR,然后由着色器编译器使用——这比调整重写驱动程序以使用 NIR 本身还差一步。
GeForce 5/FX 到 GeForce 7 系列受到 Nouveau NV30 驱动程序代码中这种 NIR 到 TGSI 更改的影响。
利用 NIR 可以从较新的图形驱动程序之间共享的更多常见优化中受益,并且如今,与 TGSI 作为原始的 Gallium3D IR 相比,全方位的优化和适用性要好得多。去年Radeon 的 R300 驱动程序也添加了 NIR-to-TGSI。
去年的 R300 NIR-to-TGSI 工作以及这次 NV30 驱动程序活动均由 Mesa 的长期开发人员 Emma Anholt 处理。现代 Mesa GPU 驱动程序都适用于 NIR,并且随着更多这些老式的、很少维护的驱动程序转移到 NIR 到 TGSI,它可能允许更多的代码清理和对代码库的改进。
NVIDIA 的 Nalu 宣传材料来自 GeForce 6 天。
随着默认使用 NIR-to-TGSI 的更改,如果想要比较性能或二等分回归,仍然有一个仅使用 TGSI 的调试选项。在使用 Shader-DB 进行测试时,使用 NIR-to-TGSI 导致 NV30 GPU 需要生成的指令减少了约 13%,而 NV30 则节省了约 12%。使用 NIR-to-TGSI 后,受影响的着色器程序中的 GPR 寄存器使用量也减少了约 25%。对于这个较旧的 Nouveau 驱动程序代码,这是一个非常好的胜利和增量改进。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun130697.html