I finally got around to digging into OpenGL ES on the BeagleBone Black using

I finally got around to digging into OpenGL ES on the BeagleBone Black using the 3.14 kernel. I have a variety of different emulators that I have been tuning to the BBB, and rendering to textures for hardware-accelerated scaling has been on my to-do list for quite a while. Overall, I’m pretty happy with the performance. Profiling shows that pushing the pixels into the texture on each frame is a minor bottleneck, and I’m sure that I could use a pbuffer or FBO to improve performance. Since I develop on a desktop PC and then port my work to the BBB, I prefer to stick with using the “portable” method of using glTexImage2D().

I initialize the framebuffer using SDL 1.2 and then establish an EGLContext for all future GLES rendering. Audio and input are done via SDL. As long as you don’t call an SDL_UpdateRect() or SDL_Flip(), SDL will not fight with EGL over control of the framebuffer pixels. Since I can hardware scale and filter the triangles that the texture is mapped to, I leave it to the kernel to select the framebuffer resolution for me. Before, I had to force a resolution via the “video=” kernel command line argument in uEnv.txt. Since not every display supports 720x480, this was always a problem. But now, I get hardware scaling to any resolution for free.

I am also finding out that by profiling and tweaking the emulator, Gameboy Advance games perform well enough to be playable. The poor performance of GBA emulators has been a sore point for the Raspberry Pi community for some time, so it is nice to see that those extra clock cycles on the BBB are making the difference.
http://www.youtube.com/watch?v=W15_aTr7Rwo

Nice. We might be able to get Minecraft working on the BBB yet if SGX acceleration is a real possibility.