summaryrefslogtreecommitdiffstats
path: root/opengl/libagl2/README
diff options
context:
space:
mode:
authorDavid Li <davidxli@google.com>2011-03-01 16:54:04 -0800
committerDavid Li <davidxli@google.com>2011-03-08 17:41:29 -0800
commitaf94ceb5df8c7ee21d84a58caa5f632663d4e1b0 (patch)
treed4d71fbdd5d9119619d35a3a933f892a50124853 /opengl/libagl2/README
parentb57af729808cc33f470afaf266b857a3e91ca3e7 (diff)
downloadframeworks_base-af94ceb5df8c7ee21d84a58caa5f632663d4e1b0.zip
frameworks_base-af94ceb5df8c7ee21d84a58caa5f632663d4e1b0.tar.gz
frameworks_base-af94ceb5df8c7ee21d84a58caa5f632663d4e1b0.tar.bz2
Initial commit of libAgl2 using Pixelflinger2 in external/mesa3d
Somewhat functional, refer to README for details. Need to enable Android.mk to build. It builds libGLES_android.so, which needs to replace the one in system/lib/egl built by libagl. Change-Id: Iec3aaa8f3963a4185d81955cd24019eb0c4a5850 Signed-off-by: David Li <davidxli@google.com>
Diffstat (limited to 'opengl/libagl2/README')
-rw-r--r--opengl/libagl2/README26
1 files changed, 26 insertions, 0 deletions
diff --git a/opengl/libagl2/README b/opengl/libagl2/README
new file mode 100644
index 0000000..34746d3
--- /dev/null
+++ b/opengl/libagl2/README
@@ -0,0 +1,26 @@
+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.