I'm trying to debug my OpenGL game using RenderDoc, but if I launch from RenderDoc, then no graphics are shown and Cg outputs errors on startup. How can I get RenderDoc to work with my game?
I get a couple of errors:
cgGLGetLatestProfile(CG_GL_VERTEX)
returnsCG_PROFILE_ARBVP1
(a much lower profile than is returned when not launching from RenderDoc)cgGLGetLatestProfile(CG_GL_FRAGMENT)
returnsCG_PROFILE_UNKNOWN
- When trying to load a shader with this profile, or with a hardcoded newer one, it says
The profile is not supported
. - After that an additional error is output:
fatal error C9999: InitHAL failed
.
RenderDoc documentation mentions that dbghelp.dll shouldn't be used in combination with RenderDoc, so I removed our inclusion of dbghelp.lib and all references to the dll and the header from our code, so I think I'm not using dbghelp.dll anymore.
The GPU being used is a GeForce GTX 560 and on startup of the game GL_VERSION is reported as 4.6.0 NVIDIA 391.35
. I've also tried running on a different computer with a newer videocard (Nvidia 1050ti) and I've tried installing the newest drivers but this didn't make any difference. This is all on Windows 10 64bit.
We also have a DirectX9 option in our engine. When I use this and launch the game from RenderDoc it starts fine and shows the RenderDoc overlay over the game. However, since RenderDoc doesn't actually support DirectX9 I can't capture a frame that way (which is as expected).