Interception layers throwing GL error where GL driver does not

Running a GL app that uses NV assembly shaders with Parameter Buffer Objects, I find that code which executes the following sequence of calls causes the Nsight Graphics GL interception layer to throw a GL_INVALID_OPERATION error in the glProgramBufferParametersfvNV () call, though the underlying NVIDIA GL driver does not:

glBindBufferBaseNV            ( target, index, bufObjHandle ); 
glProgramBufferParametersfvNV ( target, index, 0, 288, ptr );


index        = 3;
bufObjHandle = 2841

Here is the error message generated by the Nsight Graphics interception layers and fed to the app GL error callback:

ERROR[ HIGH ]: GL_INVALID_OPERATION error generated. Cannot modify the default binding for <target>.

and I’ve attached the call stack below.

As I said, this same GL call sequence executes properly without throwing a GL error when the app is run outside of Nsight Graphics.

It’s as if the Nsight Graphics interception layers are trying modify the default (non-indexed) binding point for this target, and this doesn’t exist in the interception layer for some reason.

Also, other Parameter Buffer object bindings and settings seem to work fine. So I’m at a loss to understand why Nsight Graphics is throwing an error for this one.

Any insight? If you need more info on this, just let me know!

... application frame: GLDebugCallback ...
00007FFC3BC630A8 (Nvda.Graphics.Interception): (filename not available): OpenGLExtensionDispatchTable
00007FFC5FBBCD70 (nvoglv64): (filename not available): (function-name not available)
00007FFC5FBBCE5C (nvoglv64): (filename not available): (function-name not available)
00007FFC5FBBCE05 (nvoglv64): (filename not available): (function-name not available)
00007FFC5FB8D284 (nvoglv64): (filename not available): (function-name not available)
00007FFC3BBDC7C3 (Nvda.Graphics.Interception): (filename not available): OpenGLExtensionDispatchTable
00007FFC3BF13533 (Nvda.Graphics.Interception): (filename not available): CWinDrawableBase::GetFormatInfo
... application frame calling glProgramBufferParametersfvNV() ...
... more application frames here ...

Sorry you ran into this issue with Nsight Graphics. I will file a bug for our engineering team to take action on this issue.

Best Regards,