Edit

kc3-lang/angle/src/libANGLE/renderer/TextureImpl.cpp

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2020-11-03 13:33:44
    Hash : 5b419533
    Message : GL: Implement EXT_YUV_target Add test coverage of YUV format sampling as RGB or directly as YUV and rendering as YUV using layout(yuv). Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must be compiled with: android32_ndk_api_level = 29 android64_ndk_api_level = 29 The following tests can still run with Android API 26 because they don't need to initialize the buffer: ImageTestES3.ClearYUVAHB ImageTestES3.YUVValidation Bug: angleproject:4852 Bug: b/172649538 Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

  • src/libANGLE/renderer/TextureImpl.cpp
  • //
    // Copyright 2016 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // TextureImpl.cpp: Defines the abstract rx::TextureImpl classes.
    
    #include "libANGLE/renderer/TextureImpl.h"
    
    namespace rx
    {
    TextureImpl::TextureImpl(const gl::TextureState &state) : mState(state) {}
    
    TextureImpl::~TextureImpl() {}
    
    void TextureImpl::onDestroy(const gl::Context *context) {}
    
    angle::Result TextureImpl::copyTexture(const gl::Context *context,
                                           const gl::ImageIndex &index,
                                           GLenum internalFormat,
                                           GLenum type,
                                           GLint sourceLevel,
                                           bool unpackFlipY,
                                           bool unpackPremultiplyAlpha,
                                           bool unpackUnmultiplyAlpha,
                                           const gl::Texture *source)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::copySubTexture(const gl::Context *context,
                                              const gl::ImageIndex &index,
                                              const gl::Offset &destOffset,
                                              GLint sourceLevel,
                                              const gl::Box &sourceBox,
                                              bool unpackFlipY,
                                              bool unpackPremultiplyAlpha,
                                              bool unpackUnmultiplyAlpha,
                                              const gl::Texture *source)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::copyRenderbufferSubData(const gl::Context *context,
                                                       const gl::Renderbuffer *srcBuffer,
                                                       GLint srcLevel,
                                                       GLint srcX,
                                                       GLint srcY,
                                                       GLint srcZ,
                                                       GLint dstLevel,
                                                       GLint dstX,
                                                       GLint dstY,
                                                       GLint dstZ,
                                                       GLsizei srcWidth,
                                                       GLsizei srcHeight,
                                                       GLsizei srcDepth)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::copyTextureSubData(const gl::Context *context,
                                                  const gl::Texture *srcTexture,
                                                  GLint srcLevel,
                                                  GLint srcX,
                                                  GLint srcY,
                                                  GLint srcZ,
                                                  GLint dstLevel,
                                                  GLint dstX,
                                                  GLint dstY,
                                                  GLint dstZ,
                                                  GLsizei srcWidth,
                                                  GLsizei srcHeight,
                                                  GLsizei srcDepth)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::copyCompressedTexture(const gl::Context *context,
                                                     const gl::Texture *source)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::copy3DTexture(const gl::Context *context,
                                             gl::TextureTarget target,
                                             GLenum internalFormat,
                                             GLenum type,
                                             GLint sourceLevel,
                                             GLint destLevel,
                                             bool unpackFlipY,
                                             bool unpackPremultiplyAlpha,
                                             bool unpackUnmultiplyAlpha,
                                             const gl::Texture *source)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::copy3DSubTexture(const gl::Context *context,
                                                const gl::TextureTarget target,
                                                const gl::Offset &destOffset,
                                                GLint sourceLevel,
                                                GLint destLevel,
                                                const gl::Box &srcBox,
                                                bool unpackFlipY,
                                                bool unpackPremultiplyAlpha,
                                                bool unpackUnmultiplyAlpha,
                                                const gl::Texture *source)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::setImageExternal(const gl::Context *context,
                                                const gl::ImageIndex &index,
                                                GLenum internalFormat,
                                                const gl::Extents &size,
                                                GLenum format,
                                                GLenum type)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    angle::Result TextureImpl::setBuffer(const gl::Context *context, GLenum internalFormat)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    GLint TextureImpl::getMemorySize() const
    {
        return 0;
    }
    
    GLint TextureImpl::getLevelMemorySize(gl::TextureTarget target, GLint level)
    {
        return 0;
    }
    
    GLint TextureImpl::getNativeID() const
    {
        UNREACHABLE();
        return 0;
    }
    
    GLenum TextureImpl::getColorReadFormat(const gl::Context *context)
    {
        UNREACHABLE();
        return GL_NONE;
    }
    
    GLenum TextureImpl::getColorReadType(const gl::Context *context)
    {
        UNREACHABLE();
        return GL_NONE;
    }
    
    angle::Result TextureImpl::getTexImage(const gl::Context *context,
                                           const gl::PixelPackState &packState,
                                           gl::Buffer *packBuffer,
                                           gl::TextureTarget target,
                                           GLint level,
                                           GLenum format,
                                           GLenum type,
                                           void *pixels)
    {
        UNREACHABLE();
        return angle::Result::Stop;
    }
    
    GLint TextureImpl::getRequiredExternalTextureImageUnits(const gl::Context *context)
    {
        UNREACHABLE();
        return 0;
    }
    
    }  // namespace rx