replicant-frameworks_native/opengl/libagl2
Iliyan Malchev 697526bc9e frameworks/base: android_native_buffer_t -> ANativeWindowBuffer
Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-05-03 16:40:14 -07:00
..
src frameworks/base: android_native_buffer_t -> ANativeWindowBuffer 2011-05-03 16:40:14 -07:00
Android.mk
libagl2.project
README Initial commit of libAgl2 using Pixelflinger2 in external/mesa3d 2011-03-08 17:41:29 -08:00

libAgl2 provides software GL ES 2.0 implementation using Pixelflinger2 in external/mesa3d

To build, enable Android.mk, which builds libGLES_android.so, then replace the one built from libAgl in system/lib/egl.
ES 1.0 functions are not implemented and will cause exit, so do not setprop debug.egl.hw 0 until launcher is loaded.

All functions have little to none error checking.
Not thread safe, Pixelflinger2 uses some static data.

Most shader functions are implemented, however, most Get* functions for shaders/programs/uniforms/attribs are not.
No name system for shaders/programs, just using the pointers as names.

Basic glTexImage2D, glTexSubImage2D, glCopyImage2D and glCopySubImage2D are implemented, with a range of 8/16/24/32bpp formats.
Cube map support is minimal. No mipmapping.
TexParameter is mostly implemented, supports texcoord wrap modes, and only linear for both min and mag, or nearest for both min and mag filtering.
Texture names are implemented, but bad.

Frame buffer and render buffers are not implemented.

Depth and stencil are implemented, but not tested.
Blending seems to work.
Colorbuffer supports RGBA_8888 and RGB_565.

Vertex buffer objects are implemented.
Some GL_TRIANGLES and GL_TRIANGLE_STRIPS modes for glDrawArrays and glDrawElements are implemented, but vertex order is probably wrong so culling is disabled.

Basic apps should work, and some libhwui should work, except for frame buffer operations, which will cause exit.