写点什么

OpenHarmony 开源 GPU 库 Mesa3D 适配说明

作者:Laval小助手
  • 2024-01-18
    上海
  • 本文字数:635 字

    阅读完需:约 2 分钟

本文档主要讲解在 OpenHarmony 中,Mesa3D 的适配方法及原理说明。

环境说明:

  • OHOS 版本: 适用 3.2-Beta3 及以上

  • 内核版本: linux-5.10

  • 硬件环境: Dayu200-rk3568

     

一、背景介绍

OpenHarmony 对图形的渲染,支持 CPU 和 GPU 两种方式。为了支持流畅的用户体现,GPU 适配是必不可少的。OpenHarmony 使用 GPU 渲染,就必须依赖 OpenGL 接口。

OpenGL(Open Graphics Library) 开放图形库,是用于渲染 2D、3D 矢量图形的跨语言、跨平台的应用程序编程接口(仅定义了接口及规范,没有实现)。OpenGL 的高效性(利用了图形加速硬件)依赖于显示设备厂家的硬件及实现。

OpenGL API 实现的方式又分为闭源及开源两种方式。闭源实现一般由设备厂家完成,这种方式充分保证了它的高效性,但移植起来比较麻烦。今天我们要重点介绍的是另外一种开源实现的方式:mesa3D。

Mesa3D 图形库就是 OpenGL API 的一种开源实现。新版本还支持 OpenCL、OpenGL ES 等等。Mesa3D 对上提供标准的 OpenGL 接口,对下使用 Gallium 框架,屏蔽驱动差异。在 RK3568 中,panfrost 对 ARM GPU 提供了非常好的开源驱动支持。

 

二、适配方法

在 RK3568 GPU 开源库 mesa3D 适配时,我们同时依赖了 drm panfrost 的实现。目前 OpenHarmony 3.2-Release 基线中,支持 4.19 及 5.10 两个 Linux 版本,而只有 5.10 才提供了对 panfrost 的支持。如果当前 Linux 版本不支持 panfrost,那就需要升级内核版本,或者把 panfrost 移植到当前版本上。

2.1 适配框架说明

以下是我们这次适配的框架示意图:


阅读全文,请移步至 Laval 社区:https://laval.csdn.net/64804567ade290484cb2ed06.html

用户头像

还未添加个人签名 2023-12-25 加入

还未添加个人简介

评论

发布
暂无评论
OpenHarmony开源GPU库Mesa3D适配说明_OpenHarmony_Laval小助手_InfoQ写作社区