On 9 Lis, 10:13, "Michael Leahy (Tactel US)" <[email protected]> wrote: > Greets, > > As with a lot of folks doing OpenGL ES dev it's really a test on > device situation. I'm really trying to get out the Typhon API (http:// > typhon.egrsoftware.com/) which is an open source platform for real > time / game development working on the Droid. It also provides the > basis for a series of OpenGL ES tutorials for Android available that > will be incrementally released starting this week with or without > support for the Droid:http://android-tactelus.com/ > > Of course I'd like to support Android 2.0 / Motorola Droid, but alas a > problem without a clear answer is occurring when I use EGL/GL directly > not using Google/Android provided GLSurfaceView. The following is the > basic setup code and works just fine on all previous Android versions > including 1.6 on the G1 and Ion, but it fails on the Droid. Note > "context.getConfigSpec()" returns a standard configuration: > > new int[] > { > EGL10.EGL_RED_SIZE, 5, > EGL10.EGL_GREEN_SIZE, 6, > EGL10.EGL_BLUE_SIZE, 5, > EGL10.EGL_NONE > > } > > Now for the EGL/GL setup code... > > // > --------------------------------------------------------------------------------------------- > egl = (EGL10) EGLContext.getEGL(); > glDisplay = egl.eglGetDisplay(EGL11.EGL_DEFAULT_DISPLAY); > > int[] version = new int[2]; > egl.eglInitialize(glDisplay, version); > > EGLConfig[] configs = new EGLConfig[1]; > int[] numValue = new int[1]; > > egl.eglChooseConfig(glDisplay, context.getConfigSpec(), configs, 1, > numValue); > glConfig = configs[0];
First of all I have very similar issue (and some other devs as well), in this case returned config will be RGBA8888 D0 S0 (basically 32bit without depth/ stencil buffer), while default window configuration is RGB565, (PixelFormat.OPAQUE which is translated to RGB565 during surface creation). This cause incompatibile pixel format error. So simplest solution was to implement some config matching to select correct config. But there is one more trap, my game uses depth buffer so in my config template I also added DEPTH_SIZE, 16, on droid eglChooseConfig will list folowing: D/GLView ( 1468): Testing config RGBA8888 D24 S8, match distance 24 D/GLView ( 1468): Testing config RGBA8888 D24 S8, match distance 24 D/GLView ( 1468): Testing config RGBA8888 D24 S8, match distance 24 D/GLView ( 1468): Testing config RGBA8888 D24 S8, match distance 24 D/GLView ( 1468): Testing config RGB565 D24 S8, match distance 8 D/GLView ( 1468): Testing config RGB565 D24 S8, match distance 8 D/GLView ( 1468): Testing config RGB565 D16 S0, match distance 0 D/GLView ( 1468): Testing config RGBA8888 D16 S0, match distance 16 D/GLView ( 1468): Choosed config RGB565 D16 S0 D/GLView ( 1468): Surface changed, current format RGB565 E/IMGSRV ( 1468): gralloc.c:102: validate_handle: Unsupported usage bits (0xFHWR=0x47554000) set on handle E/libagl ( 1468): connect() failed to lock buffer 0x13096c (320x569) I/ActivityManager( 1028): Displayed activity com.beepstreet.blockx_trial/.menu.MenuActivity: 809 ms (total 809 ms) E/libEGL ( 1468): call to OpenGL ES API with no current context (logged once per thread) E/libEGL ( 1468): call to OpenGL ES API with no current context (logged once per thread) E/libEGL ( 1468): call to OpenGL ES API with no current context (logged once per thread) E/libEGL ( 1468): call to OpenGL ES API with no current context (logged once per thread) Please note that my code selected RGB565 D16, and unfortunatelly this is no go, since I have no access to droid itself (and above logcat output was provided by google engineer), I'm gessing that both condigs (RGBA8888 D16 and RGB565 D16) are backward compatibility configs which do not support natvie rendering. -- Regards, Bart Janusz www.beepstreet.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

