Esempio n. 1
0
void WebGLContextGroup::loseContextGroup(WebGLRenderingContext::LostContextMode mode)
{
    for (HashSet<WebGLRenderingContext*>::iterator it = m_contexts.begin(); it != m_contexts.end(); ++it)
        (*it)->loseContextImpl(mode);

    detachAndRemoveAllObjects();
}
void WebGLContextGroup::removeContext(WebGLRenderingContext* context)
{
    // We must call detachAndRemoveAllObjects before removing the last context.
    if (m_contexts.size() == 1 && m_contexts.contains(context))
        detachAndRemoveAllObjects();

    m_contexts.remove(context);
}
void WebGLContextGroup::loseContextGroup(WebGLRenderingContext::LostContextMode mode)
{
    // Detach must happen before loseContextImpl, which destroys the GraphicsContext3D
    // and prevents groupObjects from being properly deleted.
    detachAndRemoveAllObjects();

    for (HashSet<WebGLRenderingContext*>::iterator it = m_contexts.begin(); it != m_contexts.end(); ++it)
        (*it)->loseContextImpl(mode);
}
Esempio n. 4
0
void WebGLContextGroup::loseContextGroup(WebGLRenderingContextBase::LostContextMode mode, WebGLRenderingContextBase::AutoRecoveryMethod autoRecoveryMethod)
{
    // Detach must happen before loseContextImpl, which destroys the GraphicsContext3D
    // and prevents groupObjects from being properly deleted.
    detachAndRemoveAllObjects();

    for (WebGLRenderingContextBase* const context : m_contexts)
        context->loseContextImpl(mode, autoRecoveryMethod);
}
WebGLContextGroup::~WebGLContextGroup()
{
    detachAndRemoveAllObjects();
}
Esempio n. 6
0
CanvasRenderingContext3D::~CanvasRenderingContext3D()
{
    detachAndRemoveAllObjects();
}