First, allow me to say a little about myself. I am a developer for Intel's Linux graphics stack. I have already done significant work in Mesa, and have landed a few patches in xf86-video-intel. However, I am completely unfamiliar with Android (It's Linux, right?), and I need some guidance.
Now, the questions.
* Has anyone also begun porting libEGL? If so, what work has already been done? I don't want to reinvent the wheel if someone has already made significant progress in porting libEGL.
* Does the gingerbread-x86 branch build? I have had no success building it, and do not know if the build failure is due to transient problems or is due to immaturity of the gingerbread-x86.
* Assuming that gingerbread-x86 does build, does it boot? (If it does neither, then I will focus my effors on Froyo for now).
* There is no publicly available specifications for the Android EGL extensions: EGL_ANDROID_swap_rectangle, EGL_ANDROID_get_render_buffer, EGL_ANDROID_image_native_buffer. Has anyone obtained the spec drafts from Google? Or does anyone have a good working definition of these extensions that they have experimentally obtained? As an aside, I've posted a "draft spec" of EGL_ANDROID_swap_rectangle here at git://anongit.freedesktop.org/~chadversary/android-egl-specs.git.
Thanks for your help,
--
Chad Versace
ch...@chad-versace.us
2011/7/26 Chad Versace <ch...@chad-versace.us>:
> I am porting Mesa's libEGL to Android, targeting Gingerbread on Sandy Bridge. I am new to Android development, and so have several questions. Any information and assistance the android-x68 community can give me will be thankfully received.
>
> First, allow me to say a little about myself. I am a developer for Intel's Linux graphics stack. I have already done significant work in Mesa, and have landed a few patches in xf86-video-intel. However, I am completely unfamiliar with Android (It's Linux, right?), and I need some guidance.
> * Has anyone also begun porting libEGL? If so, what work has already been done? I don't want to reinvent the wheel if someone has already made significant progress in porting libEGL.
Yes. We have ported drm & mesa to android-x86.
The drm porting
http://git.android-x86.org/?p=platform/external/drm.git;a=summary
It's based on 2.4.24.
The mesa porting
http://git.android-x86.org/?p=platform/external/mesa.git;a=summary
based on 7.10-devel
Porting to 7.11-rc2 is on the way.
It has been tested and verified to work on
Sandy Bridge notebook, like ASUS K52F.
Most of the porting is done by olv (Chia-I Wu),
who is also a developer of mesa.
> * Does the gingerbread-x86 branch build? I have had no success building it, and do not know if the build failure is due to transient problems or is due to immaturity of the gingerbread-x86.
> * Assuming that gingerbread-x86 does build, does it boot? (If it does neither, then I will focus my effors on Froyo for now).
Gingerbread-x86 should build and boot to work.
What's problem did you encountered?
> * There is no publicly available specifications for the Android EGL extensions: EGL_ANDROID_swap_rectangle, EGL_ANDROID_get_render_buffer, EGL_ANDROID_image_native_buffer. Has anyone obtained the spec drafts from Google? Or does anyone have a good working definition of these extensions that they have experimentally obtained? As an aside, I've posted a "draft spec" of EGL_ANDROID_swap_rectangle here at git://anongit.freedesktop.org/~chadversary/android-egl-specs.git.
Thanks! I'm not the expert.
Maybe olv have some comments.
Regards,
--
Chih-Wei
Android-x86 project
http://www.android-x86.org
http://cgit.freedesktop.org/~olv/mesa/log/?h=android-gingerbread-7.11
http://cgit.freedesktop.org/~olv/drm_gralloc/log/
> It has been tested and verified to work on
> Sandy Bridge notebook, like ASUS K52F.
> Most of the porting is done by olv (Chia-I Wu),
> who is also a developer of mesa.
>
>
>> * Does the gingerbread-x86 branch build? I have had no success building it, and do not know if the build failure is due to transient problems or is due to immaturity of the gingerbread-x86.
>> * Assuming that gingerbread-x86 does build, does it boot? (If it does neither, then I will focus my effors on Froyo for now).
>
> Gingerbread-x86 should build and boot to work.
> What's problem did you encountered?
>
>> * There is no publicly available specifications for the Android EGL extensions: EGL_ANDROID_swap_rectangle, EGL_ANDROID_get_render_buffer, EGL_ANDROID_image_native_buffer. Has anyone obtained the spec drafts from Google? Or does anyone have a good working definition of these extensions that they have experimentally obtained? As an aside, I've posted a "draft spec" of EGL_ANDROID_swap_rectangle here at git://anongit.freedesktop.org/~chadversary/android-egl-specs.git.
EGL_ANDROID_get_render_buffer is not used anywhere, IIRC.
EGL_ANDROID_image_native_buffer allows EGLImage to be created from
android_native_buffer_t, a representation of a HW buffer plus
information such as geometry, pixel format, and etc. I don't have the
spec either.
> Thanks! I'm not the expert.
> Maybe olv have some comments.
>
> Regards,
> --
> Chih-Wei
> Android-x86 project
> http://www.android-x86.org
>
--
o...@LunarG.com
Great. I'll start combing the code to learn how the EGL/Android integration
works. This is my first time encountering gralloc, so I may have some follow
up questions on that later.
>> It has been tested and verified to work on
>> Sandy Bridge notebook, like ASUS K52F.
>> Most of the porting is done by olv (Chia-I Wu),
>> who is also a developer of mesa.
olv, Thanks for you for the hard work of getting Mesa integrated with Android.
>>
>>
>>> * Does the gingerbread-x86 branch build? I have had no success building it, and do not know if the build failure is due to transient problems or is due to immaturity of the gingerbread-x86.
>>> * Assuming that gingerbread-x86 does build, does it boot? (If it does neither, then I will focus my effors on Froyo for now).
>>
>> Gingerbread-x86 should build and boot to work.
>> What's problem did you encountered?
It must have been just a transient build error. I will `repo sync` and try again today.
--
Chad Versace
ch...@chad-versace.us
Thanks mariuz. My build problem was likely due to user error ;). I'll `repo sync` and retry the build today.
--
Chad Versace
ch...@chad-versace.us
>
>>