I am using OpenGL SC Version 2.0.1 and while doing the functionality of program objects I found something that is not explicitly stated in the specification. glProgramBinary needs to receive a valid program object created by glCreateProgram, however, the specification does not indicate what should the library do in this case. I assume it would be the same case as glBind* commands, these generate INVALID_OPERATION when the object name is not obtained by its corresponding glGen* command.
Any thoughts on this? Did I miss something in the spec? Should I imply the application programmer knows that first glCreateProgram shall be called?