‘glTexEnv’ is not compatible is because Nsight only support OGL 4.2 core profile and the ‘glTexEnv’ is not part of core profile any more.
The OpenGL ES 2.0 application make me confuse, if you are trying to debug a Android OpenGL ES App, you need to use Tegra Graphics Debugger and a Tegra device.
If you use OGL desktop context with ES profile, Nsight don’t support such context unfortunately. If you use ES2_compatibility in a normal desktop OGL context, that depends your OGL call is in OGL 4.2 core profile.
I am afraid these samples on Windows just use the lib which provided by PowerVR named ‘libEGL.lib’, ‘libGLESv2.lib’, etc. That means it might using some way to simulate the EGL/GLES on Window’s WGL/OGL platform.
Unfortunately, Nsight don’t official support these ways. and the glTexEnv might be used in some external libraries we don’t have the source codes at hand.
That really depends how you mean the ‘OpenGL ES 3.1 is based on OpenGL 4.4’:
if you mean using ‘GL_ARB_ES3_1_compatibility’ to achieve some part of job of OGL ES 3.1 on desktop OGL context, then Nsight can support these
if you mean using ‘WGL_EXT_create_context_es_profile’ to have a OGL ES context on desktop environment, Nsight can’t support these unfortunately
You can say OpenGL ES 3.1 is based on OpenGL 4.4, but these are totally two different things.
I am not very understand ‘I have found that glTexEnvi’ api is invoked under glDrawArray API call’, you mean the glDrawArray will call glTexEnvi internally? I just WinDbg the OGLES3HelloAPI.exe, and it never load the symbol named glTexEnv*, are we use the different binary?
Not exactly, glTexEnv means glTexEnvi, glTexEnvf, glTexEnvx these 3 function calls for OGL ES 1.1.
I just launch OGLES3HelloAPI.exe with Nsight, seem it just show me not only glTexEnvi, but also some wglCreatePbufferARB, wglGetPbufferDCARB, etc. these are also not supported by Nsight since it’s using Pbuffer.