android 4.0 ics的openGLES2.0 – mesa 3d

這是最近工研院丟給我的工作

基本上參考的簡報
2012/2/21 0xlab Jim Huang 黃敬群

2009/6/21 0xlab Chia-I Wu吳佳一 的簡報

2012/2/13MagicLEGOWalter Wu的簡報

杜文涛 的研究文獻
android surfaceflinger研究显示系统
android surfaceflinger研究-Surface机制
android surfaceflinger研究SurfaceFlinger loop

maxleng的专栏
Android核心分析(25——Android GDI之共享缓冲区机制
• Android核心分析(26—–Android GDISurfaceFlinger

.

目前的結論是

1.android有幾種畫圖方式

例如創造view,畫出canvas物件(按鈕、text)。使用skia圖形引擎(SGL)去跑

或是我這個計畫facus在openGL,會先透過EGL要一塊空間,然後透過hgl去呼叫GPU(或是當沒有硬體支援時,android內建的agl呼叫pixelflinger)

這兩個輸出到surface上,每個app都有自己的surface

.

android會有個surfaceflinger用來composite各surface,

而surfaceflinger用到了opengles 2.0

這部分使用了pixelflinger2,是android4.0才有的

.

幾個檔案的目錄

Libagl
•Frameworks\base\opengl\libagl

Libpixelflinger
•system\core\libpixelflinger
 pixelflinger2
•external\mesa3d\src\pixelflinger2
如果只想下載external\mesa3d,可以去這個網址下載
廣告

One thought on “android 4.0 ics的openGLES2.0 – mesa 3d

  1. mesa-ics seems just support on x86 device.
    The surfaceflinger use OpenGL1.x as his compositor backend
    not the ES 2.0.

迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s