Panfrost为Mali-G57 (Valhall) GPU提供了完全符合的OpenGL ES 3.1实现

原文链接:Panfrost now offers a fully-conformant OpenGL ES 3.1 implementation for Mali-G57 (Valhall) GPU 由Jean-Luc Aufranc撰写。
本文共计627字,预计阅读2分钟

目前,已经有几款Arm处理器中集成了Valhall系列的Mali-G57 GPU了,例如某些Chromebook搭载的就是联发科MT8192 和 MT8195 SoC,他们都是由“符合OpenGL ES 3.1实现”的Panfrost开源驱动程序提供支持的。

去年,Collabora更新了Panfrost,使其在Midgard(Mali T760和更新版本)和Bifrost(Mali G31、G52、G76)GPU 上可以支持OpenGL ES 3.1,而且他们还宣布要开始开发Valhall GPU了。据我了解,他们其中的一部分工作是在去年夏天就已经完成了的,比如:对Mali-G78 GPU的指令集进行了一些逆向工程,最终成功得到了一个完全符合Mali-G57 GPU的OpenGL3.1。

Panfrost符合Mali-G57 GPU的OpenGL ES 3.1
Panfrost符合Mali-G57 GPU的OpenGL ES 3.1

不过有一点特别有趣,它不是由Collabora直接发布的,而是通过一个名为“Software in the Public Intenerest, Inc(简称 SPI)”的组织发布的。我了解到这个组织是一个在1997年6月16日成立的非营利组织,他们的介绍如下所示:

我们一家在纽约州注册的非营利性公司,成立的目的是为开发开源软件和硬件的组织提供财政赞助。我们通过处理非技术性管理任务来帮助大量的开源项目,这样他们就不需要经营自己的法人实体

大家对Panfrost 的讨论也挺多的,Collabora的软件工程师Alyssa Rosenzweig就撰写了一篇文章探讨在Panfrost中实现OpenGL ES 3.1 Valhall所需要的一些技术内容,以及在开发过程中遇到的挑战。我特别了解到Valhall基于的是Bifrost,因此他们能够重复使用一些代码,但是Valhall硬件主要针对Vulkan进行优化,所以有一些功能被破坏了。例如:Collabora对转换反馈的实现,这个“捕捉顶点着色器输出到应用程序缓冲区”的功能被弃用了,所以需要重写该功能,才能使用计算着色器。

对于Panfrost的OpenGL ES 3.1我得到了一个较大的结论就是:使用Mesa 22.2和适当的内核,图形加速就能够在带有MT8192 和MT8195 SoC的联发科Chromebook上运行Linux ,而且是拆开就能用。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论