| David Li | aa1f54d | 2011-03-01 16:54:04 -0800 | [diff] [blame] | 1 | libAgl2 provides software GL ES 2.0 implementation using Pixelflinger2 in external/mesa3d | 
 | 2 |  | 
 | 3 | To build, enable Android.mk, which builds libGLES_android.so, then replace the one built from libAgl in system/lib/egl. | 
 | 4 | ES 1.0 functions are not implemented and will cause exit, so do not setprop debug.egl.hw 0 until launcher is loaded. | 
 | 5 |  | 
 | 6 | All functions have little to none error checking. | 
 | 7 | Not thread safe, Pixelflinger2 uses some static data. | 
 | 8 |  | 
 | 9 | Most shader functions are implemented, however, most Get* functions for shaders/programs/uniforms/attribs are not. | 
 | 10 | No name system for shaders/programs, just using the pointers as names. | 
 | 11 |  | 
 | 12 | Basic glTexImage2D, glTexSubImage2D, glCopyImage2D and glCopySubImage2D are implemented, with a range of 8/16/24/32bpp formats. | 
 | 13 | Cube map support is minimal. No mipmapping. | 
 | 14 | TexParameter is mostly implemented, supports texcoord wrap modes, and only linear for both min and mag, or nearest for both min and mag filtering. | 
 | 15 | Texture names are implemented, but bad. | 
 | 16 |  | 
 | 17 | Frame buffer and render buffers are not implemented. | 
 | 18 |  | 
 | 19 | Depth and stencil are implemented, but not tested. | 
 | 20 | Blending seems to work. | 
 | 21 | Colorbuffer supports RGBA_8888 and RGB_565. | 
 | 22 |  | 
 | 23 | Vertex buffer objects are implemented. | 
 | 24 | Some GL_TRIANGLES and GL_TRIANGLE_STRIPS modes for glDrawArrays and glDrawElements are implemented, but vertex order is probably wrong so culling is disabled. | 
 | 25 |  | 
 | 26 | Basic apps should work, and some libhwui should work, except for frame buffer operations, which will cause exit. |