PowerVR:推动开源 Zink 与 OpenGL ES 支持的发展路径

我很高兴能和大家分享本周实现的一项重要成就:PowerVR 开源 Vulkan 驱动(自 Mesa 26.1 起)现已支持 Zink。借助这一能力,该驱动可以支持更为庞大的应用程序库。

Zink:https://docs.mesa3d.org/drivers/zink.html

Zink 解决了通过 Vulkan 运行 OpenGL 和 OpenGL ES 应用的问题。它是一种转换层,不针对特定 GPU 架构,而是生成 Vulkan API 调用。通过 Zink,原本仅支持 Vulkan 的设备也能够实现完整的桌面级 OpenGL 支持,同时也为移动和嵌入式领域的应用开发者和厂商提供 OpenGL ES 支持。

在业界,转换层已成为一种有价值的解决方案,通过基于更先进、功能更强大且性能更优的图形API(例如Vulkan)构建,从而缓解上一代图形API的淘汰问题。Zink并非唯一的转换层:例如,谷歌就维护着名为ANGLE的自有解决方案,以帮助安卓系统应对WebGL和OpenGL ES的逐步淘汰。

在软件图形行业中,OpenGL 和 OpenGL ES 自 20 世纪 90 年代初以来一直是无可争议的里程碑,也是整整一代 3D 加速应用的基础支柱。其中一些应用至今仍在使用,但可能不会被移植到 Vulkan 平台。

我们希望开源驱动能够为这些基于 OpenGL(ES)的应用提供硬件加速,但由于该驱动仅支持 Vulkan,因此必须具备向后兼容的能力。引入 Zink 支持,是 Imagination 在软件领域做出的最具前瞻性、面向未来的设计决策之一。

截至 2025 年 10 月,我们工程团队已将所有基于 Vulkan 1.2 的工作已合并到上游 Mesa 项目中;

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37761

在过去的几个月里,我们仍在不断的进行适配工作,以全面启用上游对 Zink 的支持。这项工作包括:

  • VK_EXT_dynamic_rendering 带来的挑战:它体积庞大、(从代码角度看)侵入性强,且可能导致大量测试出现回归。我们的目标是以一种简洁的方式添加新代码,确保这些代码仅在动态渲染时被调用,从而缩小潜在回归的范围。未来的改进包括移除旧版渲染通道代码。事实上,得益于 Mesa Vulkan 运行时中的现有实现,我们可以通过动态渲染提供相同的功能

  • VK_EXT_image_drm_format_modifier:在这个扩展上的工作真切地证明了开源软件能够受益于社区的贡献。过去几个月里,Imagination 成功将众多代码更新推送到了上游主线中。我们希望在公共领域推动开发进程,而社区给予的反馈也非常积极------最终,这让更多人能够参与到贡献中来。我们要感谢 Icenowy Zheng 在基于PowerVR的平台(如BXM-4-64 GPU)上提供的帮助与协作,主动测试并将KMSRO相关的修改推向上游,并分享了 VK_EXT_image_drm_format_ modifier 的实现。同样,衷心感谢 Erico Nunes 为Weston上游合入了Vulkan渲染器,并率先将其与PowerVR驱动配合使用。

KMSRO相关的修改:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38810

VK_EXT_image_drm_format_ modifier 的实现

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38991

Vulkan渲染器

https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1679

  • 还要感谢Ella Stanforth在 VK_KHR_sampler_ycbcr_conversion 上提供的帮助,Zink间接需要这个扩展,它实际上是 VK_EXT_image_drm_format_modifier 的一个依赖项。这个YCbCr扩展与硬件密切相关,依赖于GPU如何处理全新类型的像素格式及其在内存中的布局。

  • 我们完成的最后一项重要工作,是扩展 Zink,使其能够利用 KMSRO(Kernel Mode Setting Render Only)Mesa 框架。

随着所有环节就绪,Imagination 的开源驱动程序现在能够支持Zink。目前,我们已启动通过 Khronos Vulkan 1.2 和 OpenGL ES 一致性测试套件的工作,在未来几个月内我们会随时向大家更新进展。

借此机会,我要感谢 Mesa 社区对 Zink 框架的设计、开发和维护工作。

这个项目充分展现了开源开发过程中多方协作后带来的成就。我们感激每一位投入时间和精力,通过审阅代码、提供补丁等方式推动PowerVR向前迈进的开发者!

作者:Luigi Santivetti

英文链接:https://blog.imaginationtech.com/powervr-the-path-to-open-source-zink-and-opengl-es-support

声明:本文为原创文章,转载需注明作者、出处及原文链接。

END

欢迎加入Imagination GPU与人工智能交流2群

入群请加小编微信:eetrend89

(添加请备注公司名和职称)

成功案例:象帝先计算技术与Imagination合作------面向现代图形与计算工作负载的专业GPU

专家洞察:功率而非面积:边缘GPU设计为何迎来新纪元

Imagination Technologies 是一家总部位于英国的公司,致力于研发芯片和软件知识产权(IP),基于Imagination IP的产品已在全球数十亿人的电话、汽车、家庭和工作场所中使用。获取更多物联网、智能穿戴、通信、汽车电子、图形图像开发等前沿技术信息,欢迎关注 Imagination Tech!

相关推荐
F_U_N_2 小时前
轻量化开源知识库落地路径研究:AI赋能、多端集成及合规管理指引
人工智能·开源
AI成长日志2 小时前
【datawhale】hello agents开源课程学习记录第4章:智能体经典范式构建
学习·开源
大雷神3 小时前
HarmonyOS APP<玩转React>开源教程十五:首页完整实现
react.js·开源·harmonyos
wAIxiSeu4 小时前
开源项目分享——CLI-Anything
开源·github
进击monkey4 小时前
2026 年 AI Wiki 推荐:PandaWiki——AI 原生+开源私有化,企业级知识库最优解
人工智能·开源·ai知识库
霪霖笙箫4 小时前
真授之以渔:我是怎么从"想给文章配几张图",一步步做出一个可发布 skill 的
前端·人工智能·开源
亥时科技5 小时前
2026 低空经济政策红利释放!开源 AI 无人机平台成产业落地新引擎
开源·无人机
研究点啥好呢6 小时前
3月19日GitHub热门项目推荐|OpenClaw棋逢对手
人工智能·ai·开源·github
科技圈快讯6 小时前
文多多AIPPT:部分开源+私有化部署重构PPT创作体验
重构·开源·powerpoint