RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為何說OpenGL ES上使用Vulkan不適合作為SDK

電子設(shè)計(jì) ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-05-17 09:23 ? 次閱讀

我們非常高興的告訴大家最新版本的PowerVR SDK框架5.0和相關(guān)工具第二版本正式推出,這次更新包括很多激動(dòng)人心的變化同時(shí)承諾讓每個(gè)PowerVR GPUs開發(fā)者的工作更加的簡單方便。這個(gè)版本同時(shí)涉及多個(gè)重大的改進(jìn),本篇文章將詳細(xì)向大家介紹。

之前4.x系列框架主要側(cè)重于在OpenGL ES和Vulkan之間提供統(tǒng)一的接口,充當(dāng)跨平臺、跨API引擎解決方案的基礎(chǔ)。在之前的版本中已經(jīng)實(shí)現(xiàn)了這些功能并且這些版本會(huì)繼續(xù)向開發(fā)者提供。然而我們已經(jīng)看到了大家的反饋,因此我們需要作出一些重大改變?yōu)閺V大開發(fā)者提供更大的便利。

首先我們決定先回到最基礎(chǔ)的方面,Vulkan API完全是為了讓開發(fā)人員有更多的自主和控制權(quán),而我們之前的版本包含了對開發(fā)人員更多的手把手指導(dǎo),因此這很可能會(huì)阻礙Vulkan的開發(fā)。

第二我們感覺到在OpenGL ES上使用Vulkan不適合作為SDK,這也同時(shí)干擾了OpenGL ES SDK的功能定位——OpenGL ES API學(xué)習(xí)的輔助工具。

因此現(xiàn)在我們將一切交還到開發(fā)人員的手中,把所有的東西都去除掉只留下有用的實(shí)現(xiàn)和封裝庫。這也意味著它不會(huì)向后兼容,但是你會(huì)真正使用Vulkan在工作而不是在使用基于Vulkan的框架。

下面的介紹一下PowerVR SDK 5.0框架!

PowerVR SDK 5.0框架結(jié)構(gòu)圖PowerVR SDK 5.0框架結(jié)構(gòu)圖

新框架包括三大部分——通用庫文件、Vulkan庫和OpenGL ES庫
? 通用庫文件是PVRShell、PVRCore和PVRAssets
- PVRCore是很多模塊的依賴,它提供很多底層支持代碼,這包括通用類型、數(shù)據(jù)流、日志記錄、引用計(jì)數(shù)等。
- PVRShell是一個(gè)獨(dú)立的抽象平臺,它是API的入口同時(shí)負(fù)責(zé)操作系統(tǒng)特定的窗口和輸入,包括最新版本中對Wayland的支持。
- PVRAssets包括的代碼用于處理資產(chǎn)比如紋理、模型等,它們會(huì)通過文件的方式加載。
? OpenGL ES庫包括PVRUtilsGles(涉及OpenGL ES具體功能的實(shí)現(xiàn)實(shí)例)和PVRCamera庫
? 全新的Vulkan庫包括PVRVk,它主要是Vulkan的SDK和簡單的封裝,同時(shí)還提供PVRUtilsVk,它包含Vulkan的具體使用幫助。

后面我們會(huì)具體介紹這些庫文件,但是首先我們需要了解一下之前PowerVR SDK框架4.x系列版本,這樣我們可以對作出的改變進(jìn)行對比。

PowerVR框架5.0有哪些變化?

首先我們了解一下之前框架版本是如何設(shè)計(jì)的:

探索全新推出的PowerVR 5.0精益求精框架

如上圖所示4.x版本系列的框架結(jié)構(gòu)與全新推出的5.0版本非常的不同,對于OpenGL和Vulkan并沒有進(jìn)行區(qū)分,而且依賴項(xiàng)也更加的復(fù)雜。4.x系列版本的一些庫在5.0版本中進(jìn)行了合并或者融合到5.0版本新的庫中。
? PVRShell與5.0版本的類似,但是它與其他模塊的耦合更加的緊密
? PVRCore和PVRAssets在4.x系列版本和5.0版本中基本是相同的,但是在5.0版本中從各方面進(jìn)行了改進(jìn)
? PVREnegineUtils根據(jù)PVRApi提供通用功能實(shí)現(xiàn)API抽象,在5.0版本中我們對OpenGL ES和Vulkan的實(shí)用工具分別進(jìn)行了版本的調(diào)優(yōu)和優(yōu)化。
? PVRApi包括Vulkan和OpenGL ES API接口抽象資源,在5.0版本中這些抽象設(shè)置被取消了
? PVRNativeApi為底層API提供了實(shí)時(shí)綁定和實(shí)現(xiàn)的程序,在5.0版本中綁定只需要簡單的頭文件,所以不需要類似的工程文件。
? PVRCamera適用于OpenGL ES,并且提供iOS和安卓平臺硬件攝像頭驅(qū)動(dòng)支持——在5.0版本中保持相同。

提升對Vulkan的支持

那么有哪些變化呢?現(xiàn)在這個(gè)框架更加專注于Vulkan并且變得更加的流暢,它提供了大量新的功能,幫助手冊等并且變得簡單。

PVRVk是一個(gè)獨(dú)立的C++ Vulkan封裝庫(沒有外部依賴),增加了智能指針支持、命名空間和強(qiáng)類型枚舉等。這些特性讓開發(fā)過程變得更加的容易,它是在4.x版本的PVRApi基礎(chǔ)上對于Vulkan部分進(jìn)行了精簡和改進(jìn)。

與4.x系列版本相比它具有更底層的功能抽象,并且已經(jīng)接近于像Vulkan HPP這樣的底層抽象,但是仍然也保留著PowerVR框架 讓開發(fā)盡可能的簡單的根本定位。現(xiàn)在大部分工作都是開發(fā)人員來負(fù)責(zé)實(shí)現(xiàn),像Vulkan API的使用具有更多的自主權(quán),但是在4.x系列版本中這些功能都是由框架來管理的。

談到這里那么PVRUtilsVk是一個(gè)新的模塊,它提供一些簡單通用任務(wù)的幫助手冊,不需要開發(fā)人員編寫事例代碼,包括的常用任務(wù)如下:
? 創(chuàng)建實(shí)例
? 創(chuàng)建設(shè)備
? 管理隊(duì)列
? 創(chuàng)建轉(zhuǎn)換鏈
? 以單行的形式管理接口
? 上傳紋理

PVRUtilsVk依賴于PVRVk、PVRCore和PVRAssets。

我們同時(shí)也向開發(fā)人員提供vulkan_IMG.h頭文件,它是對Khronos_vulkan.h文件的修改b版本,但是使用了強(qiáng)類型枚舉。我們同時(shí)也移除了全局命名空間原型,這樣做是為了盡可能減少全局命名空間的使用。

PVRVk具有自己的命名空間——pvrvk::而不是pvr::,它覆蓋了該框架的其余部分。

簡化后的框架設(shè)計(jì)

OpenGL ES框架已經(jīng)回到了它的教育定位,跨平臺的交叉API引用解決方案無疑會(huì)阻礙它的教育功能定位。這意味著PVRGles也不再存在,替代它的是OpenGL ES版本的PVRUtils(PVRUtilsGles)能提供所需要的一切,它提供的工具可以直接操作OpenGL ES而不是引用中間的抽象接口。

很多函數(shù)庫是動(dòng)態(tài)加載的,而且都采用gl命名空間,DynamicEGL.h和DynamicGles.h頭文件是用于加載EGL和OpenGL ES函數(shù)指針的獨(dú)立頭文件,開發(fā)人員將學(xué)習(xí)并享受對功能的完全控制,在后面的開發(fā)過程中會(huì)使用原生的OpenGL ES代碼,比如gl::BindTexture()。

模塊簡化設(shè)計(jì)總結(jié)

一些部分已經(jīng)與其他模塊進(jìn)行的合并或者完全移除,現(xiàn)在的依賴項(xiàng)減少了很多。PVRCore保持不變,但是一些通用的接口API進(jìn)行了重新整理,比如IGraphicsContext、IPlatformContext等等。

PVRShell目前只依賴于PVRCore,它是一個(gè)獨(dú)立的平臺抽象層,前面提到過目前已經(jīng)支持Wayland。

PVRNativeAPI和EngineUtils已經(jīng)合并到PVRUtilsGles和PVRUtilsVk中,每一項(xiàng)都負(fù)責(zé)相應(yīng)的抽象接口,它們都依賴于PVRCore和PVRAssets。PVRUtilsVk,沒有意外的,也依賴于PVRVk,兩個(gè)庫文件都提供了初始化的幫助手冊,比如創(chuàng)建EGL/EAGL內(nèi)容(contexts)、著色器(shaders)、Vulkan轉(zhuǎn)換鏈等,此外還有一些功能比如紋理上傳等等。

PVRCamera與之前保持不變,僅支持OpenGL ES。

總結(jié)

正如大家所見我們對SDK框架做出了很多重大的改變,我們只有提供非常好的功能改進(jìn)才能夠替換之前的4.x系列版本。如果你需要更多的信息,我們的框架參考文檔已經(jīng)更新。如果你需要進(jìn)一步的幫助,不要忘記我們的技術(shù)支持論壇,我們的技術(shù)支持團(tuán)隊(duì)隨時(shí)準(zhǔn)備回答你的任何問題。我們希望大家喜歡這個(gè)全新推出的框架版本。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1032

    瀏覽量

    45868
  • powervr
    +關(guān)注

    關(guān)注

    0

    文章

    98

    瀏覽量

    31058
收藏 人收藏

    評論

    相關(guān)推薦

    SN74LVC245APW容易損壞的原因?

    各位大神,我在一款野外使用的設(shè)備使用了SN74LVC245APW來驅(qū)動(dòng)繼電器,但是發(fā)現(xiàn)其容易損壞,是否該款產(chǎn)品不適合野外使用呢?有沒有性能更好的同類產(chǎn)品推薦一下,多謝!
    發(fā)表于 12-10 07:49

    虛擬主機(jī)為什么不適合搭建網(wǎng)站?

    限制網(wǎng)站的靈活性和擴(kuò)展性。 2、功能支持受限: 網(wǎng)站設(shè)計(jì)時(shí)所需要的功能支持需要以虛擬主機(jī)為參考,例如數(shù)據(jù)庫類型、操作系統(tǒng)等。這可能會(huì)限制網(wǎng)站開發(fā)時(shí)的技術(shù)選擇和創(chuàng)新。 3、網(wǎng)站牽連問題: 如果同一臺服務(wù)器的其他網(wǎng)站受到懲罰或
    的頭像 發(fā)表于 11-18 14:09 ?131次閱讀

    D類功放輸出的LC電路的電感選型的時(shí)候需要注意哪些參數(shù)?

    D類功放輸出的LC電路的電感選型的時(shí)候需要注意哪些參數(shù),或者是什么樣的類型電感適合使用哪一些不適合使用
    發(fā)表于 10-12 08:37

    OPA1612作為ADC的差分輸入濾波器,電路無法正常工作的原因?

    芯片溫度很高,兩片1612電流在350mA左右, 我的供電是正負(fù)15V ,電源部分都是正常的, 我換成TL072電路可以正常。 但我覺得OPA1612性能會(huì)好一些,所以選擇這個(gè)芯片,為何會(huì)不適合這個(gè)電路呢?
    發(fā)表于 09-29 07:57

    OPA4376用于ADS7863的前端調(diào)理電路可以嗎?

    OPA4376對電流傳感器的輸出信號進(jìn)行調(diào)理,然后送給ADS7863轉(zhuǎn)換。OPA4376為±2.5V供電,輸入信號頻率小于100Hz。 剛才看到一個(gè)貼帶寬為2M的運(yùn)放不適合用在ADS7863
    發(fā)表于 09-24 08:27

    OPA1641是否可做PA級跨阻放大器?

    的引腳,GUARDRING要做怎么樣的處理?還是OPA1641雖然有很低的電流噪聲,和較寬的增益,但由于某些性能限制,其不適合做跨阻放大器?
    發(fā)表于 08-09 07:16

    TLV9151是否適合作為跟隨器(G=1)使用?

    新的設(shè)計(jì)會(huì)將TLV9151作為跟隨器(G=1)使用,驅(qū)動(dòng)大容性負(fù)載,請問TLV9151是否適合做為跟隨器(G=1)使用? 其指標(biāo)“開環(huán)輸出阻抗Zo”為525Ω@1M, 當(dāng)驅(qū)動(dòng)容性負(fù)載時(shí),引入的fp=1/2πRoCL會(huì)很小,是否會(huì)導(dǎo)致輸出過沖較大,或輸出振蕩?
    發(fā)表于 08-01 06:24

    請問ESP32S2播放MP3時(shí)電流是多大?

    60幾mA 是不是還有哪些地方可以優(yōu)化?還是目前這個(gè)開發(fā)板不適合測試這個(gè)應(yīng)用的功耗?板的其他元器件會(huì)帶來功耗問題? 現(xiàn)在處于方案選型階段,想問一下這樣的應(yīng)用大概多大電流。不開WIFI。只通過SD卡播放MP3或AMR
    發(fā)表于 06-21 16:38

    請問stm32是不是不適合控制有位置要求的交流伺服pmsm電機(jī)?

    stm32很適合控制無傳感器pmsm電機(jī),是否可以認(rèn)為:stm32不適合控制有編碼器的交流伺服電機(jī)
    發(fā)表于 05-16 07:31

    OpenGL+ES+2.0+編程指南

    電子發(fā)燒友網(wǎng)站提供《OpenGL+ES+2.0+編程指南.pdf》資料免費(fèi)下載
    發(fā)表于 05-07 14:20 ?0次下載

    Radeon Vulkan RADV驅(qū)動(dòng)新增支持H.264/H.265編碼

    去年5月,David Airlie提出并實(shí)現(xiàn)了H.264 / H.265 Vulkan Video編碼補(bǔ)丁集,現(xiàn)已融入Mesa 24.1版本之中。針對此次Git主線合并請求,Airlie簡短評論道:“此補(bǔ)丁旨在拓展Vulkan,為RADV驅(qū)動(dòng)增加對
    的頭像 發(fā)表于 04-12 14:59 ?602次閱讀

    零基礎(chǔ)小白適不適合學(xué)鴻蒙開發(fā)?

    在互聯(lián)網(wǎng)不斷發(fā)展以及萬物互聯(lián)時(shí)代的開啟過程中,鴻蒙操作系統(tǒng)的出現(xiàn)無疑是技術(shù)領(lǐng)域的一次重大突破。鴻蒙操作系統(tǒng)是一款“面向未來”的操作系統(tǒng),它創(chuàng)造性地提出了三大技術(shù)理念:一次開發(fā),多端部署;可分可合,自由流轉(zhuǎn);統(tǒng)一生態(tài),原生智能。隨著鴻蒙生態(tài)的壯大,投入鴻蒙開發(fā)的IT專業(yè)人才越來越多,對于從未接觸過此方面零基礎(chǔ)的學(xué)生而言,也是一次很不錯(cuò)的職業(yè)轉(zhuǎn)向和技術(shù)提升的好機(jī)會(huì)。 什么是鴻蒙? ? 鴻蒙系統(tǒng)(HarmonyOS)是華為技
    的頭像 發(fā)表于 03-04 17:50 ?1931次閱讀
    零基礎(chǔ)小白適<b class='flag-5'>不適合</b>學(xué)鴻蒙開發(fā)?

    電阻可以串聯(lián),為何二極管不適合串聯(lián)?

    電阻可以串聯(lián),為何二極管不適合串聯(lián)? 二極管是一種非線性電子元件,其工作原理與電阻截然不同。由于其獨(dú)特的電學(xué)特性,二極管不適合串聯(lián)使用。 首先,我們來了解一下二極管的基本原理。二極管由PN結(jié)構(gòu)組成
    的頭像 發(fā)表于 02-18 10:00 ?1978次閱讀

    請問是否有用軟件控制電阻值的電位器?

    請問是否有用軟件控制電阻值的電位器?看資料數(shù)字電位器內(nèi)部使用MOS鏈接,不適合做純電阻元件?是否是這樣的?我需求一個(gè)電位器,使用軟件控制其阻值,阻值分布在小于1Ω到1KΩ之間,請問有沒有合適的芯片?
    發(fā)表于 12-27 08:15

    AD7175-2適合做高精度數(shù)據(jù)采集嗎?

    壓,精度只有3位半左右,后幾位抖動(dòng)的非常厲害,這是為什么?是不是我使用的不恰當(dāng)?如果AD7175-2不適合做高精度數(shù)據(jù)采集,可以給我推薦一款24bit的ADC做數(shù)采嗎?
    發(fā)表于 12-18 08:29
    RM新时代网站-首页