\r
if(!programObject)\r
{\r
- return error(GL_INVALID_VALUE);\r
+ if(context->getShader(program))\r
+ {\r
+ return error(GL_INVALID_OPERATION);\r
+ }\r
+ else\r
+ {\r
+ return error(GL_INVALID_VALUE);\r
+ }\r
}\r
\r
GLint clientVersion = egl::getClientVersion();\r
\r
if(!programObject)\r
{\r
- return error(GL_INVALID_VALUE);\r
+ if(context->getShader(program))\r
+ {\r
+ return error(GL_INVALID_OPERATION);\r
+ }\r
+ else\r
+ {\r
+ return error(GL_INVALID_VALUE);\r
+ }\r
}\r
\r
programObject->getInfoLog(bufsize, length, infolog);\r
\r
if(!shaderObject)\r
{\r
- return error(GL_INVALID_VALUE);\r
+ if(context->getProgram(shader))\r
+ {\r
+ return error(GL_INVALID_OPERATION);\r
+ }\r
+ else\r
+ {\r
+ return error(GL_INVALID_VALUE);\r
+ }\r
}\r
\r
switch(pname)\r
\r
if(!shaderObject)\r
{\r
- return error(GL_INVALID_VALUE);\r
+ if(context->getProgram(shader))\r
+ {\r
+ return error(GL_INVALID_OPERATION);\r
+ }\r
+ else\r
+ {\r
+ return error(GL_INVALID_VALUE);\r
+ }\r
}\r
\r
shaderObject->getInfoLog(bufsize, length, infolog);\r
\r
if(!shaderObject)\r
{\r
- return error(GL_INVALID_OPERATION);\r
+ if(context->getProgram(shader))\r
+ {\r
+ return error(GL_INVALID_OPERATION);\r
+ }\r
+ else\r
+ {\r
+ return error(GL_INVALID_VALUE);\r
+ }\r
}\r
\r
shaderObject->getSource(bufsize, length, source);\r