README.android updates regarding the use of dirty rectangles rendering technique
authorGabriel Jacobo <gabomdq@gmail.com>
Fri, 08 Mar 2013 11:30:25 -0300
changeset 6979 8d6ab3bdc08b
parent 6978 e851407e9294
child 6980 1d3565d686f1
README.android updates regarding the use of dirty rectangles rendering technique
README.android
--- a/README.android	Thu Mar 07 20:42:55 2013 -0800
+++ b/README.android	Fri Mar 08 11:30:25 2013 -0300
@@ -348,12 +348,30 @@
 ================================================================================
 
 Support for OpenGL ES/ES2 applications was introduced in the NDK for API level 9, 
-which has since then been obsoleted, and the recommendation to developers was to 
+which has since then been obsoleted, with the recommendation to developers to 
 bump the required level to 10.
 As of this writing, according to http://developer.android.com/about/dashboards/index.html
 about 90% of the existing Android devices support an API level 10 or higher.
 
 ================================================================================
+ A note regarding the use of the "dirty rectangles" rendering technique
+================================================================================
+
+If your app uses a variation of the "dirty rectangles" rendering technique,
+where you only update a portion of the screen on each frame, you may notice a
+variety of visual glitches on Android, that are not present on other platforms.
+This is caused by SDL's use of EGL as the support system to handle OpenGL ES/ES2
+contexts, in particular the use of the eglSwapBuffers function. As stated in the
+documentation for the function "The contents of ancillary buffers are always 
+undefined after calling eglSwapBuffers".
+Setting the EGL_SWAP_BEHAVIOR attribute of the surface to EGL_BUFFER_PRESERVED
+is not possible for SDL as it requires EGL 1.4, available only on the API level
+17+, so the only workaround available on this platform is to redraw the entire
+screen each frame.
+
+Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
+
+================================================================================
  Known issues
 ================================================================================