int Extensions3DOpenGLES::getGraphicsResetStatusARB() { // FIXME: This does not call getGraphicsResetStatusARB, but instead getGraphicsResetStatusEXT. // The return codes from the two extensions are identical and their purpose is the same, so it // may be best to rename getGraphicsResetStatusARB() to getGraphicsResetStatus(). if (m_contextResetStatus != GL_NO_ERROR) return m_contextResetStatus; if (m_glGetGraphicsResetStatusEXT) { m_context->makeContextCurrent(); int reasonForReset = m_glGetGraphicsResetStatusEXT(); if (reasonForReset != GL_NO_ERROR) { #if PLATFORM(BLACKBERRY) // We cannot yet recreate our compositing thread, so just quit. BlackBerry::Platform::logAlways(BlackBerry::Platform::LogLevelCritical, "Robust OpenGL context has been reset. Aborting."); CRASH(); #endif ASSERT(m_contextLostCallback); if (m_contextLostCallback) m_contextLostCallback->onContextLost(); m_contextResetStatus = reasonForReset; } return reasonForReset; } m_context->synthesizeGLError(GL_INVALID_OPERATION); return false; }
int Extensions3DOpenGLES::getGraphicsResetStatusARB() { // FIXME: This does not call getGraphicsResetStatusARB, but instead getGraphicsResetStatusEXT. // The return codes from the two extensions are identical and their purpose is the same, so it // may be best to rename getGraphicsResetStatusARB() to getGraphicsResetStatus(). if (m_contextResetStatus != GL_NO_ERROR) return m_contextResetStatus; if (m_glGetGraphicsResetStatusEXT) { m_context->makeContextCurrent(); int reasonForReset = m_glGetGraphicsResetStatusEXT(); if (reasonForReset != GL_NO_ERROR) { ASSERT(m_contextLostCallback); if (m_contextLostCallback) m_contextLostCallback->onContextLost(); m_contextResetStatus = reasonForReset; } return reasonForReset; } m_context->synthesizeGLError(GL_INVALID_OPERATION); return false; }