1. 程式人生 > >海思晶片圖形層的開發指南與方案

海思晶片圖形層的開發指南與方案

海思開發指南:

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配置。(見下個筆記)。