Exemple #1
0
ImageSibling::~ImageSibling()
{
    // EGL images should hold a ref to their targets and siblings, a Texture should not be deletable
    // while it is attached to an EGL image.
    ASSERT(mSourcesOf.empty());
    orphanImages();
}
Exemple #2
0
Error Renderbuffer::onDestroy(const Context *context)
{
    ANGLE_TRY(orphanImages(context));

    if (mImplementation)
    {
        ANGLE_TRY(mImplementation->onDestroy(context));
    }

    return NoError();
}
Exemple #3
0
Error Renderbuffer::setStorageEGLImageTarget(const Context *context, egl::Image *image)
{
    ANGLE_TRY(orphanImages(context));
    ANGLE_TRY(mImplementation->setStorageEGLImageTarget(context, image));

    setTargetImage(context, image);

    mState.update(static_cast<GLsizei>(image->getWidth()), static_cast<GLsizei>(image->getHeight()),
                  Format(image->getFormat()), 0, image->sourceInitState());
    mDirtyChannel.signal(mState.mInitState);

    return NoError();
}
Exemple #4
0
Error Renderbuffer::setStorage(const Context *context,
                               GLenum internalformat,
                               size_t width,
                               size_t height)
{
    ANGLE_TRY(orphanImages(context));
    ANGLE_TRY(mImplementation->setStorage(context, internalformat, width, height));

    mState.update(static_cast<GLsizei>(width), static_cast<GLsizei>(height), Format(internalformat),
                  0, InitState::MayNeedInit);
    mDirtyChannel.signal(mState.mInitState);

    return NoError();
}