自从两年前 Apple 推出 M1 作为其用于笔记本电脑和台式机的内部 Apple Silicon 以来,它具有强大的 AArch64 处理器和定制设计的图形处理器,关于 Apple M1(现在是 M2)图形是否干净的猜测一直存在。 -sheet Apple 设计或源自 Apple 在早期 SoC 中使用的 Imagination PowerVR 图形。之前,Asahi Linux 团队致力于在 Linux 下启用 Apple M1/M2 时出现了一些相似之处,而最新的 Mesa 驱动程序活动指出了 PowerVR 图形硬件和 Apple AGX 图形之间更常见的位。
由于 Asahi Linux 团队的工作以及他们对 Apple Silicon 对 Linux 的支持进行逆向工程的工作,包括他们围绕开源 GPU 驱动程序支持的雄心壮志,仍然有迹象表明 Apple 图形将一些血统带回了 PowerVR。
昨天引起我注意的是这个 Mesa 合并请求:asahi: Rewrite state emit code using information from the Mesa PowerVR driver。一直领导 Apple 开源 Mesa Gallium3D/OpenGL 驱动程序支持工作的 Alyssa Rosenzweig 在 MR 中解释说:
查看 Mesa (src/imagination/csbgen/) 中的树中 PowerVR 的 PPP 定义,我们发现 AGX 的“标记”数据结构实际上是状态项序列,其前缀是指定哪个状态的标头。我们不需要对 Apple 驱动程序选择捆绑状态的序列进行硬编码,而是需要 XML 足够灵活,以编码或解码任何有效的状态组合。这意味着重新设计 XML。这样做时,我们会发现 RGX 和 AGX 之间有许多相同的字段,并在其中固定名称(例如,W Clamp 浮点)。
名称来自 Mesa 中合理的 PowerVR 代码。
…
自从今年早些时候Imagination 发布了一个开源的 PowerVR Vulkan 驱动程序,该驱动程序被合并到主线 Mesa 中,这种洞察力现在成为可能。(Imagination 也一直在为 PowerVR Rogue开发开源 DRM 内核图形驱动程序。)通过查看 PowerVR Mesa 代码,发现了与 Apple 图形硬件的最新相似之处。诚然,它的范围有限,仍然不清楚 Apple M1/M2 图形最终在多大程度上源自 PowerVR IP。
目前在 Apple M1/M2 上运行 (Asahi) Linux 意味着基于 LLVMpipe CPU 的软件光栅化,直到开源 GPU 驱动程序的工作进一步推进 Mesa 代码和开发内核 Direct Rendering Manager 驱动程序。
Apple 开源图形驱动程序的编写和工程工作仍在进行中。最新表达的目标是希望在 2022 年底之前看到对 OpenGL 2.1 的支持,尽管这可能比 DRM 内核驱动程序在主线内核中的上游化需要更多时间。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun187647.html