Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
README.android updates regarding the use of dirty rectangles renderin…
Browse files Browse the repository at this point in the history
…g technique
  • Loading branch information
gabomdq committed Mar 8, 2013
1 parent 62ca1a4 commit a2a777e
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion README.android
Expand Up @@ -348,11 +348,29 @@ When you're done instrumenting with valgrind, you can disable the wrapper:
================================================================================

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
================================================================================
Expand Down

0 comments on commit a2a777e

Please sign in to comment.