VS2013 Nsight - Unsupported operation glClientActiveTextureARB (glEnableClientState)

Hi,

I started to use Nsight to debug and profile my OpenGL programm on Windows 7.

As soon as I start the Graphics Debugging :

Unsupported operation encountered...

My code runs correctly, I press Ctrl + Z then Space :

Unable to capture frame due API usage unsuported by Nsight. Resason:glClientActiveTextureARB...

nvcompatlog.txt :

glClientActiveTextureARB
glEnableClientState (array = 0x00008074) Classic attributes are not supported

I doen’t even make use of glClientActiveTextureARB or glEnableClientState in my code.

What could be the issue causing this error?

Software:

  • Visual Studio 2013
  • Nsight 5.1.0
  • Additional libraries:

  • glew-1.13.0
  • SFML-2.3.2
  • glm-0.9.7.4
  • Hi robbys32,

    That’s hard to say, glClientActiveTextureARB and glEnableClientState might be used in some dependence codes of your project. You might need to check your additional libraries and make sure it doesn’t use these API calls.

    You might need to check SFML/src/SFML/Graphics/RenderTarget.cpp, it use them.

    Thanks
    An

    Hi,

    I greped through all of my additional libraries (*.cpp, *.c, *.h, *hpp files) for “glClientActiveTextureARB” and “glEnableClientState”. Then I uncommented those lines, re-build the libs and linked them static to my project.

    As I start Nsight Debugging again, it still shows me the same error.

    nvcompatlog.txt no longer has glEnableClientState , just this:

    glClientActiveTextureARB
    

    Do you have any idea what else could be the issue?
    Is it possible to suppress this type of error in Nsight?
    Or is there a more detailed log to see where my programm my call this API function?

    Thanks for your help.

    Hi,

    That means you still using some kind of glClientActiveTextureARB. Do you also disable something like ‘GLEXT_glClientActiveTexture’?

    Thanks
    An

    Hi,

    doing a lot of Trial and Error I finally found the code line causing the trouble:

    SFMLRenderWindow->resetGLStates();
    

    Yes, it calls “glCheck(GLEXT_glClientActiveTexture(GLEXT_GL_TEXTURE0));”

    Thanks
    An