void WebGLProgram::cacheInfoIfNeeded() { if (m_infoValid) return; if (!object()) return; GraphicsContext3D* context = getAGraphicsContext3D(); if (!context) return; GC3Dint linkStatus = 0; context->getProgramiv(object(), GraphicsContext3D::LINK_STATUS, &linkStatus); m_linkStatus = linkStatus; if (m_linkStatus) cacheActiveAttribLocations(context); m_infoValid = true; }
void WebGLObject::deleteObject(GraphicsContext3D* context3d) { m_deleted = true; if (!m_object) return; if (!hasGroupOrContext()) return; if (!m_attachmentCount) { if (!context3d) context3d = getAGraphicsContext3D(); if (context3d) deleteObjectImpl(context3d, m_object); m_object = 0; } }