专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

小米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的描述中也有类似的说明,原文如下:
  TheV3DMesadriverscommunicatedirectlywiththeV3DkernelDRMdriverforschedulingGPUcommands。Additionally,ontheRaspberryPi4,thekernelusestheVC4DRMdriverfordisplaysupport,soMesaexposesavc4dri。sousingthekmsrohelperstodobehindthescenesbuffermanagementbetweenthetwokerneldrivers,whileexecutingrenderingontheV3Dkernelmodule。
  这时我看到树莓派的mesa3d驱动还需要kmsro,当时我不太理解,经过好几天的网上搜索,最终抱着不确定的心态,使用了以下的参数编译mesa:DplatformsohosDeglnativeplatformohosDdridriversDgalliumdriversv3d,vc4,kmsroDvulkandriversDgbmenabledDeglenabledDcpprttifalseDglxdisabledDtoolsDdrisearchpathvendorlibchipsetsdk
  在复制编译好的lib文件加入编译框架,并在config。json中设置启用GPU:graphicstandardfeatureaceenablegputrue,
  编译烧录之后运行黑屏,受到SIGOpenGfxDrv群里的大神指导,调试GPU可以先设置CPU合成,GPU渲染的模式,即保持config。json中设置启用GPU,同时修改下面函数,强制使用CPU合成:foundationgraphicgraphic2drosenmodulesrenderservicecorepipelinersbaserenderengine。cpp中的NeedForceCPUboolforceCPUfalse;boolforceCPUtrue;
  再次编译,烧录运行,发现屏幕能点亮,但是显示异常,经过各种探索,仍然无法解决,第一次移植失败。
  经过断断续续的查找资料,对比验证,找到了验证gpu工作的方法,就是通过opengl的api调用一个简单的gpu绘图程序,结果仍然撕裂。
  接口能调用成功,但是显示异常,这种bug不会报错,没有图形相关经验的我根本定位不到原因。
  最终我想到树莓派4有安卓的移植项目,查到安卓也是用mesa3d,然后我找到了两个树莓派4移植项目:【lineagerpi】和【androidrpi】。
  对比了两个仓中的mesa3d代码之后,终于给我在【androidrpi】中发现了关键代码,树莓派4适配安卓仅仅修改了下面这些地方:
  然后再看OpenHarmony的mesa3d的代码,之前我对比过platformohos。c跟platformandroid。c的区别,差异是有,但是总体比较类似。
  同时我也发现了注释中有说明platformohos是基于platformandroid修改。
  经过对比,我把androidrpi对mesa的修改手动同步到了OpenHarmony的mesa中。
  修改如下:
  经过重新编译,烧录,测试例子终于能够正常显示,前后历时四个多月,从3。2beta3跨到了3。2beta4。
  cpu合成cpu渲染组合下,调用OpenGLApi进行三角形的绘制:
  启用GPU渲染后,能够感知到帧率有提升,打个比方,cpu合成cpu渲染在竖屏旋转下只有7帧秒,cpu合成gpu渲染下能达到14帧秒,有提升但是仍然卡顿严重,经过多方求教仍未解决问题。
  在初步打通gpu调用之后,夜里脑子仍在思考着问题的解决办法,不断排列组合,最终想到了3。2beta4的一个公告内容,RS侧支持GPU合成。
  然后又联系到了几个月前我看到过的一个关于gpu的issue,描述到了【graphicstandardfeaturersenableeglimage】这个参数。
  最后爬起来把这个参数设置成了true,编译烧录一套走起,最后居然给干成了,流畅度可感知的达到了60fps那种流畅。
  通过树莓派4适配GPU的经历,我总结出GPU适配的思路如下:
  不启用GPU功能,在CPU合成CPU渲染的环境下,确认GPU驱动正常工作。foundationgraphicgraphic2drosenmodulesrenderservicecorepipelinersbaserenderengine。cpp中的NeedForceCPU中修改强制cpu合成boolforceCPUfalse;boolforceCPUtrue;vendorraspberrypirpi4config。json中设置不启用gpugraphicstandardfeatureaceenablegpufalse,
  启用部分GPU功能,在CPU合成GPU渲染的环境下,确认GPU能正确渲染。foundationgraphicgraphic2drosenmodulesrenderservicecorepipelinersbaserenderengine。cpp中的NeedForceCPU中修改关闭cpu合成boolforceCPUfalse;boolforceCPUtrue;vendorraspberrypirpi4config。json中设置启用gpugraphicstandardfeatureaceenablegputrue,
  启用GPU合成GPU渲染,加速OpenHarmony图形显示。foundationgraphicgraphic2drosenmodulesrenderservicecorepipelinersbaserenderengine。cpp中的NeedForceCPU中还原关闭cpu合成boolforceCPUfalse;vendorraspberrypirpi4config。json中设置启用gpu,同时启用gpu合成graphicstandardfeatureaceenablegputrue,graphicstandardfeaturersenableeglimagetrue
  同时OpenHarmony开源的GPU移植也可以参考安卓方面的移植。
  小米6的GPU移植
  小米6的GPU是Adreno540,经过网上搜索资料mesa驱动对应的名字是freedreno。
  所以编译参数对应为:DplatformsohosDeglnativeplatformohosDdridriversDgalliumdriversfreedrenoDvulkandriversDgbmenabledDeglenabledDcpprttifalseDglxdisabledDtoolsDdrisearchpathvendorlib64chipsetsdk
  但是编译烧录之后运行简单的测试gpu程序始终无法运行,signal11程序崩溃了。
  通过datalogfaultlogtemp下崩溃日志确认buildidfindnhdrcallback存在问题。
  通过在函数内部加print打印的方式,对比分析之后确认是offset计算不正确,最后我意外发现了OpenHarmony的【thirdpartylibunwind】有修改过buildid。
  经过查看pr提交发现了以下关键代码,原来是oh的编译框架在编译出的elf文件头增加了一个非标准的note段,mesa使用标准的方式去解析note内容导致偏移量计算出错,需要处理一下偏移量问题。
  然而mesa3d这个开源gpu驱动常年没人维护,这个问题一直没有暴露出来,这给我碰到了同步修改之后解决调用崩溃问题。
  同时接口调用也能正常显示了:
  但是当我进行移植第二步,CPU合成GPU渲染时黑屏,无法显示内容,又是一番加打印然后调试,最后发现关键代码,freedreno中有强制设置对齐。
  在hilog中发现Assertionfailed:
  查看源码发现a5xx系的头文件中有pitch的验证,【0x3f】相当于判断能否被64整除。
  然后我往前找到buffer设置的某个地方尝试着把pich强制64对齐,终于能显示出图像。
  不黑屏了,但是仍然显示不正常,很明显能感知到是长度没有对齐导致错位了。
  最终在SIGOpenGfxDrv群里的lhl大神指导下,修改display适配层中的WIDTHALIGN参数为64,成功解决显示问题。
  确认CPU合成GPU渲染显示能正常工作之后,启用GPU合成GPU渲染,成功运行,小米6终于适配GPU成功。
  树莓派4和小米6的GPU适配,从代码量来说,适配代码真的很少,但是又异常困难,在此记录一下我走过的坑,希望我走过的坑,后来者不用再掉下去。

印媒003航母被美列为最危险战舰,中国海军也被视为最强战对手中国在航空母舰领域再次创下新纪录,超越英法等老牌资本主义国家,其航空母舰数量是英法两国航空母舰之和。英国海军装备着两艘伊丽莎白女王级航空母舰,而法国海军装备着一艘戴高乐号核动力航空幸福到万家婚闹险遭性侵的何幸运,撕开了4个男人的伪善何幸福通过相亲认识了王庆来,两人都对彼此很有好感,何幸福怀揣着对美好婚姻的向往,决定嫁给王庆来。何幸福盛装出嫁,脸上是喜悦的表情,妹妹何幸运送姐姐出嫁,何幸运说姐姐嫁给王庆来是亏大红色故事里的情感力量原标题红色故事里的情感力量(深观察)杨洪涛近年来,随着创作语态和艺术视角的转换,影视作品中的红色故事越来越注重情感元素的开掘。情感是艺术的重要缘起,艺术是情感的符号创造。用情用力讲东北人从三亚退场,从而代替的是憋坏的上海人刘妍进入三亚后海村的第一天,就感觉到自己和整个村子格格不入,无论是表情还是肢体,她太紧绷了,有一个坚硬的外壳裹住了她。但第二天,她穿上了花衬衫,扔掉了口罩,融入了人群,她感觉到那一探索制造业高质量发展新路径来源经济日报经过多年持续快速增长,我国制造业在规模体量结构体系技术水平开放合作等方面取得显著成就,成为我国建设现代产业体系的主导力量和参与国际合作竞争的优势力量。进入工业化中后期,女子为亡父按时交话费被停机却仍扣费!中国电信60天未通话,网友吃相难看中国经济周刊经济网讯据媒体报道,近日,江西俞女士称,父亲过世后想留个念想,所以每月给父亲的手机号缴费。但日前发现号码被无故关停,每月却仍扣取最低消费金额。对此,电信回应女子为亡父交市场监管总局通告7批次食品抽检不合格情况来源央视网央视网消息据市场监管总局网站消息,近期,市场监管总局组织食品安全监督抽检,抽取粮食加工品食用农产品食糖茶叶及相关制品乳制品饮料酒类糕点炒货食品及坚果制品饼干淀粉及淀粉制品周琦真大腿,可惜还不够中国男篮69中国男篮于今天正式开启2023世预赛第三窗口期的比赛,本次第三窗口期比赛结束后,各小组的前三名晋级下一阶段的比赛。在5天时间内,中国男篮要与澳大利亚中国台北分别进行两场比赛。在第三摆烂?唐嫣三个月没公开露面,只愿意待上海工作,被曝在备孕二胎7月1日,新的一个月开始了!娱乐圈中不少明星也发布了新的行程图。其中事业心爆棚的85花,自然是最受瞩目的。赵丽颖工作室头一天就发了行程,她刚进组与凤行,自然是要在剧组度过,不过工作中国的双休工作制度是怎么没的?为什么就难以实行八小时双休工作制呢?这是个老生常谈的话题,也是很多人都有过类似感受。但是,这个问题到底怎么解决呢?最主要原因是职业圈内属性所然,就是要通过加班,精简人员构成,更好地河南中医一附院举办庆祝中国共产党成立101周年七一表彰大会不忘初心跟党走,昂首迈进新征程。为热烈庆祝中国共产党成立101周年,表彰先进,鼓舞干劲,2022年6月30日,河南中医药大学第一附属医院第一临床医学院(中西医结合学院)儿科医学院在
探讨一下,在三国时期,曹操为啥喜欢结过婚的女人?曹操是三国中最复杂的人物,他是功大于过的,但是说实话,这种认知只是近几年来建立的,因为随着人类认知或者价值观的发展,人们的认知更加的深刻,更加的客观,更加的人性了,更加的功过分明。有人竟然说以后的人寿命可能会相对的缩短,这不瞎扯嘛!有人说特别是八四年之后的八零后,很多人可能寿命不会太长,特别是男性!我问他为什么?他说,很多人压力太大了,过于焦虑,烦恼太多焦虑太多,这影响了寿命的延长,况且有很多男性饮食作息特别别吃芝麻汤圆了,试试这个口味的汤圆,比甜品还美味!都说不到正月十五还是过年,这个年即将结束的时候,来点汤圆祝福未来一年都团团圆圆,还是很不错的。虽说平时都可以吃汤圆,但是这个时候的汤圆更加有意义哦!普通汤圆吃腻了,不妨试试更有特色怀上了!6次胚胎移植都失败了,这个新技术让她成功当上妈妈6次胚胎移植均告失败原来是土壤太贫瘠当38岁的杨女士第一次在检查仪器上看到宝宝的超声影像时,她的泪水几乎是不受控制地涌了出来。宝宝一切正常。拿着三维超声检查报告,杨女士的手都在微微为什么大部分女性比男性更长寿?主要有以下几个原因现在高龄年轻化越来越多了,你会发现很多人明明已经上了岁数却依然显得非常年轻,像林志颖就是典型的长寿男性,从古至今大部分都是女性比男性活得更久更长寿,那么其中原因是什么呢,男性想要更经常喝水还口渴?可能是你的身体在报警!赶紧对照自查口渴喝水就行了,但如果总是感觉到口渴就需要注意了,很有可能是身体在释放信号向你呼救。经常口渴是病吗?一般情况下,口渴就是因为你的身体缺水了。1。生理性口渴1)运动过量致使身体内的水PS5首次登顶日本游戏主机销量月榜PS5是上个月日本本土市场最畅销的游戏机。这也是索尼当前游戏机销量首次超过此前在该市场占据主导地位的任天堂Switch。根据Fami通最新一期发布的1月30日至2月26日日本游戏零2999元国产显卡抢疯了,Steam游戏实测能玩,老黄旧将打造梦晨发自凹非寺量子位公众号QbitAI显卡还能搞国潮?没错,国产显卡品牌摩尔线程宣布旗下游戏显卡最近上了一批货,不再限制购买资格,而是先抢先得。这样一条消息吸引了不少显卡爱好者关注改善睡眠,从饮食和生活入手良好的睡眠对于我们的身体健康非常重要,但现代人普遍存在睡眠质量不佳的问题。除了一些病因导致的失眠外,饮食和生活习惯也会影响睡眠。以下是一些饮食和生活方面的改善措施,有助于提高睡眠质男人过了50岁,如果还爱喝酒,建议牢记这3点,早知道有好处在传统的认知里,50岁是人生的一道坎,过了这个知天命的年纪,从心态到生活习惯,都要有所调整。心态方面,要放平和,凡事看开,如此才可过得潇洒生活方面,尽量改变以往养成的不良习惯,比如防治慢性萎缩性胃炎,针灸来助力随着现代人生活节奏的不断加快,工作压力加重,不规律的饮食结构和习惯,使身体逐渐呈现出一种亚健康的状态。在这其中,各种消化道症状首当其冲,包括胃痛胃胀嗳气恶心泛酸等等。当这些不适感开
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网