• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Little 3D -- Implement New Hardware Accelerated OpenGL for Android
 

A Little 3D -- Implement New Hardware Accelerated OpenGL for Android

on

  • 4,571 views

(COSCUP 2009) olv talked about the internals inside Android OpenGL|ES stack and how to implement a new hardware accelerated GL|ES for Android. The reference hardware is Intel Integrated Graphics ...

(COSCUP 2009) olv talked about the internals inside Android OpenGL|ES stack and how to implement a new hardware accelerated GL|ES for Android. The reference hardware is Intel Integrated Graphics chip, and software stack is based on Mesa3D.

Statistics

Views

Total Views
4,571
Views on SlideShare
4,550
Embed Views
21

Actions

Likes
1
Downloads
201
Comments
0

2 Embeds 21

http://www.slideshare.net 20
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A Little 3D -- Implement New Hardware Accelerated OpenGL for Android A Little 3D -- Implement New Hardware Accelerated OpenGL for Android Presentation Transcript

    • 關於我 libEGL and libGLESv1 CM GEM and KMS Android Wave Is Not Google Wave A little 3D Chia-I Wu olv@0xlab.org Aug 16, 2009 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS Outline 關於我 libEGL and libGLESv1 CM libagl libhgl GEM and KMS Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS 3D and Me 不會OpenGL 不會演算法 不會硬體 不會驅動程式 沒有在玩3D 遊戲 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS Who am I? 0xlab 成員 數學系畢業 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS Hurry Porter 把Intel DRI 驅動程式移植到Android Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS Outline 關於我 libEGL and libGLESv1 CM libagl libhgl GEM and KMS Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS libGLESv1 CM frameworks/base/opengl/libs/GLES CM/ OpenGL ES API Entry points void glClear ( void ) { gl hooks t : : g l t const ∗ const c = &g e t G l T h r e a d S p e c i f i c ()−> g l ; r e t u r n c −>g l C l e a r ( ) ; } Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS libEGL frameworks/base/opengl/libs/EGL/ dlopen libagl 跟libhgl libagl 提供軟體實作 libhgl 提供硬體實作 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 身為libhgl Android 傳過來的是egl native window t Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 身為libhgl Android 傳過來的是egl native window t egl native window t 是EGLNativeWindowSurface Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 身為libhgl Android 傳過來的是egl native window t egl native window t 是EGLNativeWindowSurface EGLNativeWindowSurface 是Surface Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 身為libhgl Android 傳過來的是egl native window t egl native window t 是EGLNativeWindowSurface EGLNativeWindowSurface 是Surface Surface 是... Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS Surface Surface 是buffer Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體 硬體要的也是buffer Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體 硬體要的也是buffer 放座標 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體 硬體要的也是buffer 放座標 放材質 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體 硬體要的也是buffer 放座標 放材質 放shader Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體 硬體要的也是buffer 放座標 放材質 放shader 放硬體指令 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體 硬體要的也是buffer 放座標 放材質 放shader 放硬體指令 但是... Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS 硬體限制 硬體要的是它能存取的buffer Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libagl libEGL and libGLESv1 CM libhgl GEM and KMS Intel a.k.a GEM Object 讓Android 產生GEM object based Surface Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS Outline 關於我 libEGL and libGLESv1 CM libagl libhgl GEM and KMS Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS GEM in CPU GEM object 只是shared memory (man shmget(2)) X server 配置 應用程式繪圖 compiz 合成 跨process! Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS GEM in GPU 映射到AGP aperture CPU cache GPU cache Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS KMS Kernel Mode Setting 叫kernel 做解晰度設定 Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS KMS i n t drmModeSetCrtc ( i n t fd , uint32 t crtcId , uint32 t bufferId , uint32 t x , uint32 t y , u i n t 3 2 t ∗ c o n n e c t o r s , i n t count , drmModeModeInfoPtr mode ) ; Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS gitorious http://gitorious.org/android-eeepc/pages/Home Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D
    • 關於我 libEGL and libGLESv1 CM GEM and KMS Q&A Questions? Chia-I Wu olv@0xlab.org Android Wave Is Not Google Wave A little 3D