范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

小米6成功适配GPU经验分享!

  作者:Diemit
  本人使用树莓派 4 和小米 6 进行 OpenHarmony 适配 GPU 时产生过挺多问题,这里回顾以下我移植 GPU 的过程,同时也做一些总结和经验分享,希望大家看过之后能少走一些弯路。
  树莓派 4 的 GPU 移植
  树莓派 4 的 GPU 驱动组成比较复杂,在 Linux 的 GPU 驱动目录中 drm 目录下存放着 vc4 和 v3d 两个目录。
  vc4 既包含 Display 驱动也包含 GPU 驱动,主要用于树莓派 3 及之前的 SoC;而 v3d 则只包含 GPU 驱动,专用于树莓派 4。
  由于 vc4 和 v3d 的 Display 硬件差异不大,为了让树莓派 4 最大化利用 vc4 现有的 Display 驱动,树莓派驱动的开发者并没有分离代码,所以树莓派的 GPU 驱动需要同时启用 vc4 和 v3d。
  同时,我在查阅 mesa3d 的文档中有关 v3d 的描述中也有类似的说明,原文如下:
  The V3D Mesa drivers communicate directly with the V3D kernel DRM driver for scheduling GPU commands. Additionally, on the Raspberry Pi 4, the kernel uses the VC4 DRM driver for display support, so Mesa exposes a vc4_dri.so using the kmsro helpers to do behind-the-scenes buffer management between the two kernel drivers, while executing rendering on the V3D kernel module.
  这时我看到树莓派的 mesa3d 驱动还需要 kmsro,当时我不太理解,经过好几天的网上搜索,最终抱着不确定的心态,使用了以下的参数编译 mesa: -Dplatforms=ohos -Degl-native-platform=ohos -Ddri-drivers= -Dgallium-drivers=v3d,vc4,kmsro  -Dvulkan-drivers= -Dgbm=enabled -Degl=enabled -Dcpp_rtti=false -Dglx=disabled -Dtools= -Ddri-search-path=/vendor/lib/chipsetsdk
  在复制编译好的 lib 文件加入编译框架,并在 config.json 中设置启用 GPU: "graphic_standard_feature_ace_enable_gpu = true",
  编译烧录之后运行黑屏,受到 SIG-OpenGfxDrv 群里的大神指导,调试 GPU 可以先设置 CPU 合成,GPU 渲染的模式,即保持 config.json 中设置启用 GPU,同时修改下面函数,强制使用 CPU 合成: foundation/graphic/graphic_2d/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp中的NeedForceCPU//bool forceCPU = false; bool forceCPU = true;
  再次编译,烧录运行,发现屏幕能点亮,但是显示异常,经过各种探索,仍然无法解决,第一次移植失败。
  经过断断续续的查找资料,对比验证,找到了验证 gpu 工作的方法,就是通过 opengl 的 api 调用一个简单的 gpu 绘图程序,结果仍然撕裂。
  接口能调用成功,但是显示异常,这种 bug 不会报错,没有图形相关经验的我根本定位不到原因。
  最终我想到树莓派 4 有安卓的移植项目,查到安卓也是用 mesa3d,然后我找到了两个树莓派 4 移植项目:【lineage-rpi】和【android-rpi】。
  对比了两个仓中的 mesa3d 代码之后,终于给我在【android-rpi】中发现了关键代码,树莓派 4 适配安卓仅仅修改了下面这些地方:
  然后再看 OpenHarmony 的 mesa3d 的代码,之前我对比过 platform_ohos.c 跟 platform_android.c 的区别,差异是有,但是总体比较类似。
  同时我也发现了注释中有说明 platform_ohos 是基于 platform_android 修改。
  经过对比,我把 android-rpi 对 mesa 的修改手动同步到了 OpenHarmony 的 mesa 中。
  修改如下:
  经过重新编译,烧录,测试例子终于能够正常显示,前后历时四个多月,从 3.2beta3 跨到了 3.2beta4。
  cpu 合成+cpu 渲染组合下,调用 OpenGLApi 进行三角形的绘制:
  启用 GPU 渲染后,能够感知到帧率有提升,打个比方,cpu 合成+cpu 渲染在竖屏旋转下只有 7 帧/秒,cpu 合成+gpu 渲染下能达到 14 帧/秒,有提升但是仍然卡顿严重,经过多方求教仍未解决问题。
  在初步打通 gpu 调用之后,夜里脑子仍在思考着问题的解决办法,不断排列组合,最终想到了 3.2beta4 的一个公告内容,RS 侧支持 GPU 合成。
  然后又联系到了几个月前我看到过的一个关于 gpu 的 issue,描述到了【graphic_standard_feature_rs_enable_eglimage】这个参数。
  最后爬起来把这个参数设置成了 true,编译烧录一套走起,最后居然给干成了,流畅度可感知的达到了 60fps 那种流畅。
  通过树莓派 4 适配 GPU 的经历,我总结出 GPU 适配的思路如下:
  ①不启用 GPU 功能,在 CPU 合成+CPU 渲染的环境下,确认 GPU 驱动正常工作。 foundation/graphic/graphic_2d/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp中的NeedForceCPU 中修改强制cpu合成 //bool forceCPU = false; bool forceCPU = true;  vendor/raspberrypi/rpi4/config.json 中设置不启用gpu "graphic_standard_feature_ace_enable_gpu = false",
  ②启用部分 GPU 功能,在 CPU 合成+GPU 渲染的环境下,确认 GPU 能正确渲染。 foundation/graphic/graphic_2d/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp中的NeedForceCPU 中修改关闭cpu合成 //bool forceCPU = false; bool forceCPU = true;  vendor/raspberrypi/rpi4/config.json 中设置启用gpu "graphic_standard_feature_ace_enable_gpu = true",
  ③启用 GPU 合成+GPU 渲染,加速 OpenHarmony 图形显示。 foundation/graphic/graphic_2d/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp中的NeedForceCPU 中还原关闭cpu合成 bool forceCPU = false;  vendor/raspberrypi/rpi4/config.json 中设置启用gpu,同时启用gpu合成 "graphic_standard_feature_ace_enable_gpu = true", "graphic_standard_feature_rs_enable_eglimage = true"
  同时 OpenHarmony 开源的 GPU 移植也可以参考安卓方面的移植。
  小米 6 的 GPU 移植
  小米 6 的 GPU 是 Adreno 540,经过网上搜索资料 mesa 驱动对应的名字是 freedreno。
  所以编译参数对应为: -Dplatforms=ohos -Degl-native-platform=ohos -Ddri-drivers= -Dgallium-drivers=freedreno  -Dvulkan-drivers= -Dgbm=enabled -Degl=enabled -Dcpp_rtti=false -Dglx=disabled -Dtools= -Ddri-search-path=/vendor/lib64/chipsetsdk
  但是编译烧录之后运行简单的测试 gpu 程序始终无法运行,signal 11 程序崩溃了。
  通过 /data/log/faultlog/temp 下崩溃日志确认 build_id_find_nhdr_callback 存在问题。
  通过在函数内部加 print 打印的方式,对比分析之后确认是 offset 计算不正确,最后我意外发现了 OpenHarmony 的【third_party_libunwind】有修改过 build-id。
  经过查看 pr 提交发现了以下关键代码,原来是 oh 的编译框架在编译出的 elf 文件头增加了一个非标准的 note 段,mesa 使用标准的方式去解析 note 内容导致偏移量计算出错,需要处理一下偏移量问题。
  然而 mesa3d 这个开源 gpu 驱动常年没人维护,这个问题一直没有暴露出来,这给我碰到了…同步修改之后解决调用崩溃问题。
  同时接口调用也能正常显示了:
  但是当我进行移植第二步,CPU 合成+GPU 渲染时黑屏,无法显示内容,又是一番加打印然后调试,最后发现关键代码,freedreno 中有强制设置对齐。
  在 hilog 中发现 Assertion failed:
  查看源码发现 a5xx 系的头文件中有 pitch 的验证,【&0x3f】相当于判断能否被 64 整除。
  然后我往前找到 buffer 设置的某个地方尝试着把 pich 强制 64 对齐,终于能显示出图像。
  不黑屏了,但是仍然显示不正常,很明显能感知到是长度没有对齐导致错位了。
  最终在 SIG-OpenGfxDrv 群里的 lhl 大神指导下,修改 display 适配层中的 WIDTH_ALIGN 参数为 64,成功解决显示问题。
  确认 CPU 合成+GPU 渲染显示能正常工作之后,启用 GPU 合成+GPU 渲染,成功运行,小米 6 终于适配 GPU 成功。
  树莓派 4 和小米 6 的 GPU 适配,从代码量来说,适配代码真的很少,但是又异常困难,在此记录一下我走过的坑,希望我走过的坑,后来者不用再掉下去。

透视装,紧身裙,死亡芭比粉,过去10个月,内娱红毯太卷了如今的娱乐圈帅哥美女集体扎堆,内卷十分严重。红毯上的争奇斗艳已达到白热化阶段,美出新高度似乎成为了女明星的统一口号。2022年的余额只剩下两个月,根据过去10个月娱乐圈活动,阿西巴被传婚变,小31岁的娇妻杜星霖转移3亿财产,71岁张纪中发声辟谣头条创作挑战赛娱乐圈中有不少岁数相差很大的情侣夫妻,而张纪中和杜星霖这对更是其中的典范。众所周知,张纪中是50后,现已经71岁了,而他娇妻杜星霖是位80后,才刚刚40岁。但哪怕两人联想推出小新Air142023笔记本电脑,配备2。8K120Hz显示屏联想宣布推出小新Air142023笔记本电脑,采用轻巧设计,2。8K屏幕和120Hz显示屏刷新率。新的联想笔记本电脑很薄,重量仅为1。34kg左右。它的厚度在14。9到15。9毫米研究大型蜂群能产生与风暴云一样多的电荷众所周知,昆虫可以感知和利用电场,但一项新研究表明,蜂群实际上可以产生大气电荷。通过测量这种影响的程度,科学家们发现大型蜂群可以产生与风暴云一样多的电荷。蜜蜂与电的关系比你想象的更一个五十女人的心路历程作为一个女人到了五十岁的年龄,真的有惶恐,有失落,有遗憾,有迷茫。惶恐的是我们正在迈向愈来愈老的路途上,回首再看前几十年的岁月真的觉得恍然如梦一场,前半生的点点滴滴仿佛还在昨天一样人到中年,做一个冷漠的女人,余生会越来越好前言过年之后就不要想着再交朋友,也不要想着人生还会有很多美好的时光。在这个时候我们不要浪费时间,一定要认真的对待自己的生活。不要觉得人生没有意义,其实生活真的是很美好的。这个时候还两性交往,女人高情商的12个表现,你占了几个?俗话说人非圣贤,孰能无过?,但是有多少人又能做到绝对的体谅?不单单是为自己考虑,更要站在别人的角度看问题。事出有因,不要轻易说出自认为不疼不痒的批判,因为事情没发生在你身上。把负面女人深爱一个人的样子图片来自网络,图文无关女人深爱一个人,就会害怕失去对方。由爱生忧,由爱生怖。因为太在乎,投入的心血太多,所以也害怕失去。比如你和别人多说了几句话,多看了别人几眼,她的内心就上演一场女人,人生路上,有一个人不能随意辜负作者闻秋声原创文章,抄袭必究01女人,也需要呵护人生之路漫漫,匆匆忙忙就是一辈子。岁月的流逝,改变了女人精致的容颜,渐渐满面风霜。女人到中年,站在镜子前,看到的是一张憔悴,逐渐衰老随笔请远离这样的人头条里呆久了,便遇上形形色色的人。有的人睿知,有的人很博学,有的人很幽默,有的人很滑稽,有人很开朗,有的人很忧郁。但是,看得出这些人都很善良,他们用自己的笔触,给我们讲着生活的酸甜下到教堂的地下墓室,我们被眼前的一切惊呆了今天早上,小张一来就告诉我们一个坏消息,因为签证的原因,他不能陪我们去黑山,他把我们指派给了一个塞尔维亚帅哥。一听到这个消息,很是郁闷,中途变卦,总归不好,更何况换的是一位不会汉语本想搞清楚ESM和CJS模块的转换问题,没想到写完我的问题更多了本来只是好奇打包工具是如何转换ESM和CJS模块的,没想到带着这个问题阅读完编译的代码后,我的问题更多了。目前主流的有两种模块语法,一是Node。js专用的CJS,另一种是浏览器和iOS16。1正式发布,续航大幅提升,信号极大改善,建议升级今天凌晨,苹果发布了iOS16。1正式版系统升级,内部版本号20B82,距离上次发布时隔14天时间,目前已经向用户进行了推送,此次更新官方表示推出了iCloud共享照片图库,轻轻松安徽多地最新通过审批的建设工程项目清单来了,共50个围绕建筑住宅,石化化学制品,市政供水等,一个个民生项目暖心上线1。蚌埠市品途金属工艺品有限公司年制作150万枚五金徽章项目2。安徽兰琪儿艾业有限公司年加工10000吨艾草项目3。安卡塔尔世界杯最新夺冠赔率排名巴西法国阿根廷英格兰2022年卡塔尔世界杯将于11月20日12月18日举行,进入一个月倒计时,基于各国球员在联赛中的状态伤病情况等影响,本届赛事的夺冠赔率也随之更新赔率榜前6位都是历届世界杯冠军得主,WTT新乡世界杯决赛,选手赛程积分奖金一文全知道2022年10月27日30日将在新乡举行WTT世界杯总决赛,澳门冠军赛之后的世界排名发生了新的变化,新的16强选手将参加总决赛。今天已经是比赛倒计时第2天,在比赛前,我们再了解一下就在今晚24时!油价最新调整第20轮国内成品油零售价将于10月24日24时开启本轮油价或迎来今年第12次上涨根据机构数据,截至本周期第九个工作日,目前原有变化率为3。98,预测累计上涨幅度为175元吨,折算上争老大?火箭19岁探花刚打4场就向新核心发脾气,戈登表情亮了NBA常规赛,火箭在主场以114108险胜爵士,结束3连败的同时,终结爵士的三连胜,然而相比胜利,火箭在比赛最后时刻队中出现不和谐一幕,成为球迷热议的焦点,新科探花小贾巴里史密斯不重整,收归国有,海南机场海南自贸港建设者,东方夏威夷领航员(报告出品方分析师东吴证券吴劲草石旖瑄)1。海南机场重整完成收归国有,脱星摘帽进入发展新篇章1。1。海南机场历史沿革海南机场隶属于海南省属最大的国资平台海南省发展控股有限公司(以下微信聊天,建议你冷淡一点不知道你的微信列表里,有没有过这样一个人。好像只要你找他,他都随时有空。从清晨早安到深夜的晚安,从儿时的糗事到未来的规划,从诗词歌赋到娱乐八卦,从一日三餐到气候变幻可就是这么重要的中国癌症高发,或是蚝油惹的祸吗?医生这3种调味品,建议少吃现代生活水平的不断提高,人们的饮食习惯也随着改变。正所谓民以食为天,饮食在我们中国人看来是最重要的一件事。我国人民对于饮食的需求也随着生活水平的提高而提高,色香味俱全的美食,离不开身体若有4个变化时,注意对应营养补充,或能让您不治而愈自然界生命体的生存与繁衍,都离不开物质能量补充与吸收,而对于人们来说,吃饭是最为常见的营养补充路径,若是营养不良或营养过剩,都会给身体带来一系列的不适与病症表现。虽说现代社会的工农
要什么iOS?MIUI14升级后,小米11又能重新焕发青春为什么你去询问别人买什么手机的时候,那么多人直接就给你推荐苹果手机,苹果手机真的就有那么好吗?论手机的综合实力我觉得还是安卓手机的体验会更好一些,毕竟像充电,信号这些都是安卓的拿手你家还有功放机吗?你见过它吗?盘点10大功放机品牌及其代表产品提起功放机,估计很多00后的小伙伴一头雾水,这是什么东东?练功用的健身器材?大家也别怪年轻一代对这玩意陌生,就是上了年纪的人估计也好多年没有见过它了,虽然这玩意曾经风头无两,是有钱7分险胜!八连胜代表不了什么,但是哈登的心声却说明了一切今天76人再次以7分优势战胜了强敌尼克斯,比赛过程也是大开大合,第一节76人就迎来了巨大的劣势12分,第二节76人重整旗鼓扭转战局,第三节双方一时间难分胜负,末节尼克斯球员开始神游今冬该怎么穿打底裤?街拍会告诉你答案选深不选浅,露袜不露踝冬天不想露腿,又想穿得美美哒,时尚达人都会将这个重担交给打底裤。一条百搭高级的打底裤,加上时尚有亮点的穿搭,就组成了冬季抗冻又高级的不露腿穿搭不过,想知道打底裤最佳穿法的答案,还得大数据Hive技术全面解析本文目录(本文约六万五千字)(一)基本概念安装数据类型(二)DDL数据定义DML数据操作(三)查询分区表和分桶表(四)函数压缩和存储(五)企业级调优Hive实战(一)基本概念安装数用户画像数据的价值分析及场景应用什么是用户画像用户画像是通过合规方式明确识别其特征属性的用户,并对这些特征分析统计挖掘潜在价值信息。完美地抽象出一个用户的信息全貌,可以看作企业应用大数据的根基。用户画像使用标签来增长8。4!国家统计局公布去年GDP最终数据原标题国家统计局经最终核实2021年GDP现价总量为1149237亿元统计局统计年报财政部财政决算和有关部门年度财务资料等,国家统计局对2021年GDP数据进行了最终核实,主要结果进入马来西亚海外奇遇见闻录第七期我们来到了马来西亚的机场了,我们先去办理了入境的手续花了五百马来西亚的钱是使用信用卡的。弄完毕后就去寻找车了我发现那里的时间与北京时间一样了。我们进入酒店了,那央视文联春晚录制画面流出,主持阵容完成调整,朱迅担任门面文丨希希就在市场观众持续关注央视跨年晚会央视春晚制作的同时,另外一档晚会已经悄然进入到录制阶段,这档名为文联春晚的晚会或许在知名度方面不如春晚,但也算是文艺圈的代表活动之一。文联晚一文道清语音转文字市场(AudioText)关于语音转文字,大部分想起接触过的会是在聊天软件中出现。除此之外,语音转文字还有许多应用场景。对此,本文将以国内市场为支点,以全球市场视为目标,探寻语音转写产品的诸多可能性。推荐对最舒服的关系三寸,三尺,三丈德国著名哲学家叔本华曾经说过人就像寒冬里的刺猬,互相靠得太紧,会觉得刺痛彼此离得太远,却又会感觉寒冷。人与人之间,真正好的关系,从来不是天天联系,也不是形影不离,而是留有恰当的距离