Forums - Are Nexus 6/Adreno 4XX GPus OpenGL ES 3.1 devices ?

5 posts / 0 new
Last post
Are Nexus 6/Adreno 4XX GPus OpenGL ES 3.1 devices ?
RelativeGames
Profile picture
Join Date: 16 Apr 13
Posts: 56
Posted: Sat, 2014-11-15 10:31

 

The Adreno 4XX GPU family has been advertised to feature OpenGL ES 3.1 and Android Extension Package. A quick look on gfxbench.com shows that Adreno 420 is just a OpenGL ES 3.0 GPUs with AEP, and Adreno 405 doesn't even feature AEP

Nexus 6 .- GLES 3.0 + AEP

http://gfxbench.com/device.jsp?benchmark=gfx30&os=Android&api=gl&D=Google+Nexus+6&testgroup=info

HTC Desire D820 - GLES 3.0, no AEP
http://gfxbench.com/device.jsp?benchmark=gfx30&os=Android&api=gl&D=HTC+Desire+D820&testgroup=info

Do they both support GLES 3.1 + AEP  or just GLES 3.0 + AEP ? Is this real, is it a mistake ?

  • Up0
  • Down0
Dave Astle
Profile picture
Join Date: 19 Oct 12
Location: San Diego, CA
Posts: 99
Posted: Tue, 2014-11-18 10:37

I'm going to have to check on a few things before I can provide a more detailed response. I can say that the entire Adreno 400 line is capable of OpenGL ES 3.1 + AEP support, but our drivers for 3.1/AEP are only recently commercializing. It's odd that the Nexus 6 is reporting AEP but not 3.1, since these will always be present together.

  • Up0
  • Down0
TyphonRT
Join Date: 21 Nov 13
Location: San Francisco
Posts: 2
Posted: Sat, 2014-11-29 20:21

Sadly I can confirm that the Nexus 6 / Adreno 420 ships with only GLES 3.0 drivers. I have confirmed this via "eglQueryContext" with "EGL_CONTEXT_MAJOR_VERSION_KHR" and "EGL_CONTEXT_MINOR_VERSION_KHR" after creating a context with EGL 1.4 using the same major / minor versions in the attrib list. All the NVidia Tegra K1 devices I have work correctly w/ GLES 3.1 support. I'm working with compute shaders. Trying to create a "3" / "1" context will fail on the Nexus 6.  Using "3" / "0" works fine.

Defaulting back to "
EGL_CONTEXT_CLIENT_VERSION" using "3" creates a 3.0 context on the Nexus 6 and 3.1 with all Tegra K1 devices as per the general guidelines of creating the highest major / minor context the devices supports for the "major" version specified by "EGL_CONTEXT_CLIENT_VERSION".


Strangely enough compiling compute shaders with the Android 5.0 Java SDK doesn't complain on the N6 and silently fails when invoked. I wasted many hours due to the the N6 shipping only with GLES 3.0. I should have checked the context version, but believed the marketing literature. 

Please Qualcomm update firmware / drivers for all Adreno 420 devices; you know how long it takes OEMs to do so and consumers are not going to be able to understand why their brand new devices can't run OpenGL 3.1 based apps and will blame us the developers!  To hear that things are in the pipeline and not available on launch despite all marketing materials stating that the 420 supports OpenGL ES 3.1 / AEP is a dissapointment in general.  I specifically bought the Nexus 6 to test OpenGL ES 3.1 / Adreno 420 / compute shaders on a phone form factor device. 

  • Up0
  • Down0
TyphonRT
Join Date: 21 Nov 13
Location: San Francisco
Posts: 2
Posted: Sun, 2014-11-30 19:06

I just checked... The Nexus 6 / Adreno 420 does show that AEP is likely supported with a check for "ANDROID_extension_pack_es31a" in via searching the GL_EXTENSIONS strings returned by glGetString. What that means in regard to only having a GLES 3.0 context w/ AEP is a bit unclear as far as usability goes.

  • Up0
  • Down0
Dave Astle
Profile picture
Join Date: 19 Oct 12
Location: San Diego, CA
Posts: 99
Posted: Wed, 2014-12-03 11:54

ANDROID_extension_pack_es31a being returned as part of the extensions string is a bug. AEP support will only be included as part of a 3.1 driver.

As mentioned above, the GPUs in these devices support OpenGL ES 3.1/AEP, but they obviously need a driver to access that functionality. Currently, the commercially shipping drivers on these devices are OpenGL ES 3.0. Unfortunately, I can't comment on the availablity of a OpenGL ES 3.1/AEP driver on these devices because ultimately that's a product decision made by our customers.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.