This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why my Android 4.3 Emulator could not support the OpenGL ES 3.0

The SDK and ADT have been updated in my IDE, and I create an Android 4.3 Emulator successfully. Then I run the OpenGL ES 3.0 demo code on the Emulator , but the Logcat output "OpenGL ES3.0 not supported on device...", The reason seems to be the OpenGL ES 3.0 context could not be created successfully. The demo comes from  book " The OpenGL ES 3.0 Programming guide". Settings have been done in the XML file.

     My PC : windows 7, 4GB RAM, Intel Core i3, GPU NVIDIA Geforce G7X550 Ti.  The information of the Emulator is Android 4.3.

     Code of creating  OpenGL ES3.0 context:

public class SimpleTexture2D extends Activity
{


   private final int CONTEXT_CLIENT_VERSION = 3;


   @Override
   protected void onCreate ( Bundle savedInstanceState )
   {
      super.onCreate ( savedInstanceState );
      mGLSurfaceView = new GLSurfaceView ( this );


      if ( detectOpenGLES30() )
      {
         // Tell the surface view we want to create an OpenGL ES 3.0-compatible
         // context, and set an OpenGL ES 3.0-compatible renderer.
         mGLSurfaceView.setEGLContextClientVersion ( CONTEXT_CLIENT_VERSION );
         mGLSurfaceView.setRenderer ( new SimpleTexture2DRenderer ( this ) );
      }
      else
      {
         Log.e ( "SimpleTexture2D", "OpenGL ES 3.0 not supported on device.  Exiting..." );
         finish();
      }


      setContentView ( mGLSurfaceView );
   }


   private boolean detectOpenGLES30()
   {
      ActivityManager am =
         ( ActivityManager ) getSystemService ( Context.ACTIVITY_SERVICE );
      ConfigurationInfo info = am.getDeviceConfigurationInfo();
      return ( info.reqGlEsVersion >= 0x30000 );
   }


   @Override
   protected void onResume()
   {
      // Ideally a game should implement onResume() and onPause()
      // to take appropriate action when the activity looses focus
      super.onResume();
      mGLSurfaceView.onResume();
   }


   @Override
   protected void onPause()
   {
      // Ideally a game should implement onResume() and onPause()
      // to take appropriate action when the activity looses focus
      super.onPause();
      mGLSurfaceView.onPause();
   }


   private GLSurfaceView mGLSurfaceView;
}
Parents
  • Hi autman,

    You might have better luck asking on the Android forums, as this is not Mali related. That said, have you made sure to enable GPU emulation in the AVD? What SDK version are you targeting? Does the AVD support GLES 2?

    Thanks,

    Chris

Reply
  • Hi autman,

    You might have better luck asking on the Android forums, as this is not Mali related. That said, have you made sure to enable GPU emulation in the AVD? What SDK version are you targeting? Does the AVD support GLES 2?

    Thanks,

    Chris

Children