海思晶片圖形層的開發指南與方案
海思開發指南:
1:圖形層介面的開發:圖形二維加速器(TDE),硬體對圖形影象的處理
HiFB用於管理疊加圖形層:Hisilicon Framebuffer在framebuffer的基礎上增加層間colorkey,層間Alpha等擴充套件功能。
可以支援2路高清顯示裝置(HD0~HD1)和5個圖形層(G0~G5)(G3,G4為滑鼠層)):
fb裝置檔案有5個/dev/fb0~/dev/fb4(顯示裝置)
Hi3536的裝置檔案/dev/fb0(G0圖形層)(表示可支援驅動HD0裝置上顯示)
/dev/fb3(G3滑鼠層)裝置顯示疊加層的最高層,
*注意:如果HD0上有視訊層:從下往上的層次為:視訊層,G0層,G3層
2:圖形層的開發方案:裝置的使用者介面包括(圖形層的實現):
1:後端OSD:顯示畫面分割線,通道號,時間等資訊,用以界定多畫面顯示佈局。
2:GUI介面:包括各種選單,進度條等元素,通過操作GUI介面進行配置
3:滑鼠
3:但圖層使用者介面方案:
a:1個圖形層完成本裝置的後端OSD,GUI和滑鼠的顯示。
b:每個輸出裝置使用1個圖形層完成本裝置的後端OSD,GUI:GUI畫在獨立的緩衝中去,OSD直接畫在FB視訊記憶體中去,在通過TDE進行ALpha混合,
這樣每個圖形層對應的FB視訊記憶體中繪製分割佈局,通道號時間等引數。
使用獨立的快取繪製GUI畫布,當GUI變更時進行區域性更新
將GUI畫布整體搬移至FB快取中,在此過程中可以利用TDE實現GUi和OSD的疊加透明效果,每次GUi或OSD有變動時,由於是對畫布和OSD整體做疊加,故不需要區域性資訊計算GUI和OSD的疊加區域。
注意::::
c:為了防止FB緩衝邊繪製邊顯示導致繪製過程可見,推薦使用fb雙緩衝機制,fb分配2塊大小相同的緩衝作為視訊記憶體交換繪製和顯示。如VO正在顯示緩衝2,則本次繪製的物件為緩衝1,然後對於FB 標準模式可通過FB 的PAN_DISPLAY或
FBIOFLIP_SURFACE 呼叫通知VO顯示緩衝1,而對於FB 擴充套件模式可通過FB 的
FBIO_REFRESH呼叫通知VO顯示緩衝1。
如果採用同樣的GUI介面時搬移至SD0裝置時,只對TDE做整體搬移操作即可,利用TDE整體進行縮放至和SD0繫結的圖形層對應的FB視訊記憶體中去。
TDE和alpha配置。(見下個筆記)。