We can create a separable program for a single shader stage using glCreateShaderProgramv. But the output we get from this API is already a (separable) program object. So if there is any compiling or linking error, the only way I know of to get the compiling state and the info log is to call glGetProgramiv with GL_LINK_STATUS. My questions are:
- From what the pname GL_LINK_STATUS suggests, it seems that we can only get info log about linking. If it is the case, is there any way to get compiling error messages when using glCreateShaderProgramv?
- I tried with some syntactic errors in shaders for shader program. It seems that compiling errors can also be obtained with GL_LINK_STATUS. So, does GL_LINK_STATUS actually contain both compiling and linking info log when using glCreateShaderProgramv? If so, is there any chance to distinguish compiling messages from linking messages, that is, to retrieve ONLY compiling error messages when using glCreateShaderProgramv? PS: I know I can use traditional two-stage compilation process to separate compiling and linking error messages when using separate programs, but I just want to know how to do it with glCreateShaderProgramv API.
I am using nVidia GeForce GTX 780Ti on Windows 10, with latest driver installed.