No OpenGL shader code

I try to inspect a Qt application which uses a Qt3DWindow (thus OpenGL). My shaders are stored and linked as a resource and will be loaded from there at run time. Nearly everything works fine, except that I never can see the shader code. The “Linked Shader State” is always “N/A because linked from binary”. Is there a place where I can copy the shader sources to, to solve this problem?

My environment:
NSight Graphics 2019.6.0.0, Build 27607391
GeForce GT 1030, driver version 441.20, Win7-64

Just some more information:
I’m starting my application per QuickLaunch always and I’m using the FrameDebugger. In very rare cases I can see the shader code. It seems to be under the following conditions:

  • The application is not in the "Application Executables" list already, i.e. has never been started before
  • The application is the first one that will be startet after NSight Graphics has been started, may be even after the PC has been booted

Hello,

Thank you for your feedback on Nsight Graphics. In talking to the engineer unfortunately there is no capability of post-link association at this time.

Sorry about the inconvenience.

Regards,

Darrell

Thank you very much. I see, there is no capability of post-link association at this time, i.e. there is no workaround for the problem. But the problem still exists:

  • In most cases, the "Linked Shader State" is always "N/A because linked from binary"
  • In very rare cases I can see the shader code, for conditions see #3

So this seems to be a bug anyway, isn’t it?

Yes. I will go ahead and file a bug for our internal engineering team to investigate the persistent issue.

Hello,

As a workaround you should be able to compile the shaders on the fly by embedding the source and not a binary version.

Darrell