I'm trying to render from an Android process using OpenGL-ES to an external device that is controlled by a Linux framebuffer fb1. Android normally only supports a single framebuffer, fb0, so I have to transport the rendered image to the device using software. This means I need to access the image from user space application in Android.
One way to obtain the data is using glReadPixels() to copy the framebuffer contents into user space memory. But this is very slow. Since the omap4 uses a unified memory graphics architecture it should be possible to find the location of the rendered image in memory and avoid this copy. OpenGL-ES provides no API to find the framebuffer. Is there another way to locate the origin of the rendered image?
Alternatively, is there a way to direct OpenGL-ES to use a framebuffer of my choosing? (I think not).
thanks