if(context)
{
- if(program == 0)
+ es2::Program *programObject = context->getProgram(program);
+
+ if(!programObject)
{
- return error(GL_INVALID_VALUE);
+ if(context->getShader(program))
+ {
+ return error(GL_INVALID_OPERATION);
+ }
+ else
+ {
+ return error(GL_INVALID_VALUE);
+ }
}
- es2::Program *programObject = context->getProgram(program);
-
- if(!programObject || !programObject->isLinked())
+ if(!programObject->isLinked())
{
return error(GL_INVALID_OPERATION);
}
if(context)
{
- if(program == 0)
+ es2::Program *programObject = context->getProgram(program);
+
+ if(!programObject)
{
- return error(GL_INVALID_VALUE);
+ if(context->getShader(program))
+ {
+ return error(GL_INVALID_OPERATION);
+ }
+ else
+ {
+ return error(GL_INVALID_VALUE);
+ }
}
- es2::Program *programObject = context->getProgram(program);
-
- if(!programObject || !programObject->isLinked())
+ if(!programObject->isLinked())
{
return error(GL_INVALID_OPERATION);
}
if(context)
{
- if(program == 0)
- {
- return error(GL_INVALID_VALUE);
- }
-
es2::Program *programObject = context->getProgram(program);
- if(!programObject || !programObject->isLinked())
+ if(!programObject)
{
- return error(GL_INVALID_OPERATION);
+ if(context->getShader(program))
+ {
+ return error(GL_INVALID_OPERATION);
+ }
+ else
+ {
+ return error(GL_INVALID_VALUE);
+ }
}
- if(!programObject)
+ if(!programObject->isLinked())
{
return error(GL_INVALID_OPERATION);
}
if(context)
{
- if(program == 0)
- {
- return error(GL_INVALID_VALUE);
- }
-
es2::Program *programObject = context->getProgram(program);
- if(!programObject || !programObject->isLinked())
+ if(!programObject)
{
- return error(GL_INVALID_OPERATION);
+ if(context->getShader(program))
+ {
+ return error(GL_INVALID_OPERATION);
+ }
+ else
+ {
+ return error(GL_INVALID_VALUE);
+ }
}
- if(!programObject)
+ if(!programObject->isLinked())
{
return error(GL_INVALID_OPERATION);
}