
On my Galaxy Tab 8.9 it fails before that, glGenTextures failing with the same code. On my Kindle Fire HD it seems to be able to create the buffers and load the texture OK, but fails just prior to rendering, glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, …) failing with GL_INVALID_OPERATION. The background is red and the grass is pink. On my Samsung Galaxy S3 phone it sort of works, but the colours are all wrong. The test just renders a flat square with a grassy texture and spins it slowly against a black background. The symptoms are different depending on which device I run it on.


My first test works OK in Linux with “full fat” OpenGL, but won’t work properly on Android. So basically, games are going to get prettier in Android L, but they will be backward compatible with devices running older versions of OpenGL.I’m writing a cross-platform game with SDL2 and OpenGL/OpenGL ES. This is all in addition to the Android Extension Pack, which adds some advanced capabilities like tessellation to Android.

For example, this allows a compute shader running on the GPU to perform a physics simulation and then generate the draw command information needed to display the results, without CPU synchronization Indirect draw commands - the GPU can be instructed to take draw command data from GPU mapped memory rather than passing that data through drivers.Separate shader objects – applications can program the vertex and fragment shader stages of the GPU independently, and can mix and match vertex and fragment programs without an explicit linking step.

Compute shaders are written in the GLSL ES shading language, and can share data with the graphics pipeline Compute shaders – applications can use the GPU to perform general computing tasks, tightly coupled with graphics rendering.
