コード例 #1
0
WebGLRenderbuffer::~WebGLRenderbuffer()
{
    // This render buffer (heap) object must finalize itself.
    m_emulatedStencilBuffer.clear();

    // See the comment in WebGLObject::detachAndDeleteObject().
    detachAndDeleteObject();
}
コード例 #2
0
WebGLVertexArrayObjectBase::~WebGLVertexArrayObjectBase()
{
    m_destructionInProgress = true;

    // Delete the platform framebuffer resource, in case
    // where this vertex array object isn't detached when it and
    // the WebGLRenderingContextBase object it is registered with
    // are both finalized.
    detachAndDeleteObject();
}
コード例 #3
0
WebGLFramebuffer::~WebGLFramebuffer()
{
    // Attachments in |m_attachments| will be deleted from other
    // places, and we must not touch that map in deleteObjectImpl once
    // the destructor has been entered.
    m_destructionInProgress = true;

    // See the comment in WebGLObject::detachAndDeleteObject().
    detachAndDeleteObject();
}
コード例 #4
0
WebGLSampler::~WebGLSampler()
{
    // Always call detach here to ensure that platform object deletion
    // happens with Oilpan enabled. It keeps the code regular to do it
    // with or without Oilpan enabled.
    //
    // See comment in WebGLBuffer's destructor for additional
    // information on why this is done for WebGLSharedObject-derived
    // objects.
    detachAndDeleteObject();
}
コード例 #5
0
ファイル: WebGLFramebuffer.cpp プロジェクト: RobinWuDev/Qt
WebGLFramebuffer::~WebGLFramebuffer()
{
    // Delete the platform framebuffer resource. Explicit detachment
    // is for the benefit of Oilpan, where the framebuffer object
    // isn't detached when it and the WebGLRenderingContextBase object
    // it is registered with are both finalized. Without Oilpan, the
    // object will have been detached.
    //
    // To keep the code regular, the trivial detach()ment is always
    // performed.
    detachAndDeleteObject();
}
コード例 #6
0
WebGLRenderbuffer::~WebGLRenderbuffer()
{
#if ENABLE(OILPAN)
    // This render buffer (heap) object must finalize itself.
    m_emulatedStencilBuffer.clear();
#endif
    // Always call detach here to ensure that platform object deletion
    // happens with Oilpan enabled. It keeps the code regular to do it
    // with or without Oilpan enabled.
    //
    // See comment in WebGLBuffer's destructor for additional
    // information on why this is done for WebGLSharedObject-derived
    // objects.
    detachAndDeleteObject();
}
コード例 #7
0
WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES()
{
#if ENABLE(OILPAN)
    m_destructionInProgress = true;
#endif

    // Delete the platform framebuffer resource. Explicit detachment
    // is for the benefit of Oilpan, where this vertex array object
    // isn't detached when it and the WebGLRenderingContextBase object
    // it is registered with are both finalized. Without Oilpan, the
    // object will have been detached.
    //
    // To keep the code regular, the trivial detach()ment is always
    // performed.
    detachAndDeleteObject();
}
コード例 #8
0
WebGLProgram::~WebGLProgram()
{
#if ENABLE(OILPAN)
    // These heap objects handle detachment on their own. Clear out
    // the references to prevent deleteObjectImpl() from trying to do
    // same, as we cannot safely access other heap objects from this
    // destructor.
    m_vertexShader = nullptr;
    m_fragmentShader = nullptr;
#endif
    // Always call detach here to ensure that platform object deletion
    // happens with Oilpan enabled. It keeps the code regular to do it
    // with or without Oilpan enabled.
    //
    // See comment in WebGLBuffer's destructor for additional
    // information on why this is done for WebGLSharedObject-derived
    // objects.
    detachAndDeleteObject();
}
コード例 #9
0
WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES()
{
#if ENABLE(OILPAN)
    // These heap objects must not be accessed by deleteObjectImpl(),
    // clear them out before a call to it is triggered below. The
    // finalizers of these two (and their elements) will themselves
    // handle detachment.
    m_boundElementArrayBuffer.clear();
    m_vertexAttribState.clear();
#endif
    // Delete the platform framebuffer resource. Explicit detachment
    // is for the benefit of Oilpan, where this vertex array object
    // isn't detached when it and the WebGLRenderingContextBase object
    // it is registered with are both finalized. Without Oilpan, the
    // object will have been detached.
    //
    // To keep the code regular, the trivial detach()ment is always
    // performed.
    detachAndDeleteObject();
}
コード例 #10
0
ファイル: WebGLSync.cpp プロジェクト: dstockwell/blink
WebGLSync::~WebGLSync()
{
    // See the comment in WebGLObject::detachAndDeleteObject().
    detachAndDeleteObject();
}
コード例 #11
0
WebGLSampler::~WebGLSampler()
{
    // See the comment in WebGLObject::detachAndDeleteObject().
    detachAndDeleteObject();
}
コード例 #12
0
ファイル: WebGLQuery.cpp プロジェクト: dstockwell/blink
WebGLQuery::~WebGLQuery()
{
    // See the comment in WebGLObject::detachAndDeleteObject().
    detachAndDeleteObject();
}