Currently the entry point for all GLSL shaders must be called "main". This can make shader management in your code something of a pain in the ass, as you can't just drop a bunch of related shaders into a single source file and have glCompileShader pick up the correct one without doing some fancy footwork to get around it.
So a simple proposal: glCompileShaderNamedEntryPoint (GLuint shader, const GLchar *entrypoint) to allow user-supplied named entry points. This is proposed for glCompileShader rather than glShaderSource as convenience can be had by specifying a single glShaderSource call followed by a bunch of glCompileShaderNamedEntryPoint calls, thereby allowing shader source to be read from and specified from a single file for multiple shaders. The orginal glCompileShader is functionally identical to glCompileShaderNamedEntryPoint (shader, "main").




