| 144 | } |
| 145 | |
| 146 | void GLArbGpuProgram::loadFromSource(void) |
| 147 | { |
| 148 | if (GL_INVALID_OPERATION == glGetError()) { |
| 149 | LogManager::getSingleton().logMessage("Invalid Operation before loading program "+mName, LML_CRITICAL); |
| 150 | |
| 151 | } |
| 152 | glBindProgramARB(getProgramType(), mProgramID); |
| 153 | glProgramStringARB(getProgramType(), GL_PROGRAM_FORMAT_ASCII_ARB, (GLsizei)mSource.length(), mSource.c_str()); |
| 154 | |
| 155 | if (GL_INVALID_OPERATION == glGetError()) |
| 156 | { |
| 157 | GLint errPos; |
| 158 | glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errPos); |
| 159 | const char* errStr = (const char*)glGetString(GL_PROGRAM_ERROR_STRING_ARB); |
| 160 | OGRE_EXCEPT(Exception::ERR_RENDERINGAPI_ERROR, "'" + mName + "' " + errStr); |
| 161 | } |
| 162 | glBindProgramARB(getProgramType(), 0); |
| 163 | } |
| 164 | |
| 165 | |
| 166 | } |
nothing calls this directly
no test coverage detected