title: OpenGL 3 on Galaxy S4 Android 4.4.2
body: <p>I am new to Android development so I may be missing something. My understanding is that a Samsung Galaxy S4 running Android 4.4.2 should support OpenGL ES 3. However, when I call <code>glGetString(GL_VERSION)</code> (after getting an OpenGL ES 2.0 context) I get <code>OpenGL ES 2.0 build 1.10@235947.</code> I would expect to get an <code>OpenGL ES 3.0</code> string if it was supported.</p>
  
  <p>If I try to force getting a OpenGL ES 3.0 context my render thread is given an exception and the Log message is <code>throwEglException tid=1477 createContext failed:</code> .</p>
  
  <p>The really odd thing is that if I use a 2.0 context, openGL ES 3.0 calls work fine (like Array Buffers), I just get Log messages that the call is <code>not implemented.</code> !!??</p>
  
  <p>My <code>AndroidManifest.xml</code> has:</p>
  
  <pre><code>&lt;uses-sdk
      android:minSdkVersion="19"
      android:targetSdkVersion="19" /&gt;
  &lt;uses-feature android:glEsVersion="0x00030000" android:required="true" /&gt;
  </code></pre>
  
  <p>Is there something I'm not setting to get me OpenGL 3.0? Does Android 4.4.2 on a Galaxy S4 (Verizon BTW) not really support OpenGL ES 3?</p>
  
  <p>Here is my renderer setup in my GLSurfaceView constructor:</p>
  
  <pre><code>public BasicGLSurfaceview(Context context) {
      super(context);
      setEGLContextClientVersion(2);
      MyRenderer renderer = new MyRenderer(context);
      setRenderer(renderer);
      ...
  </code></pre>
  
  <p>If I pass a 3 to setEGLContextClientVersion() instead of 2, my render thread is given a 'createContext failed:' exception. I have also created my own context factory and used setEGLContextFactory(), but the results are the same. Asking for a version greater than 2 results in my render thread getting an exception.</p>