| Index: src/gpu/gl/GrGLGpu.cpp
|
| diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
|
| index 9981b66075427de65e4af3a28258095bad4b81e2..1370bf992b9c70b226b73284e23537d85dd32bd4 100644
|
| --- a/src/gpu/gl/GrGLGpu.cpp
|
| +++ b/src/gpu/gl/GrGLGpu.cpp
|
| @@ -3586,7 +3586,7 @@ void GrGLGpu::unbindTextureFBOForCopy(GrGLenum fboTarget, GrSurface* surface) {
|
| }
|
| }
|
|
|
| -bool GrGLGpu::initCopySurfaceDstDesc(const GrSurface* src, GrSurfaceDesc* desc) const {
|
| +bool GrGLGpu::initDescForDstCopy(const GrRenderTarget* src, GrSurfaceDesc* desc) const {
|
| // If the src is a texture, we can implement the blit as a draw assuming the config is
|
| // renderable.
|
| if (src->asTexture() && this->caps()->isConfigRenderable(src->config(), false)) {
|
| @@ -3625,13 +3625,10 @@ bool GrGLGpu::initCopySurfaceDstDesc(const GrSurface* src, GrSurfaceDesc* desc)
|
| return true;
|
| }
|
| return false;
|
| - } else if (nullptr == src->asRenderTarget()) {
|
| - // CopyTexSubImage2D or fbo blit would require creating a temp fbo for the src.
|
| - return false;
|
| }
|
|
|
| - const GrGLRenderTarget* srcRT = static_cast<const GrGLRenderTarget*>(src->asRenderTarget());
|
| - if (srcRT && srcRT->renderFBOID() != srcRT->textureFBOID()) {
|
| + const GrGLRenderTarget* srcRT = static_cast<const GrGLRenderTarget*>(src);
|
| + if (srcRT->renderFBOID() != srcRT->textureFBOID()) {
|
| // It's illegal to call CopyTexSubImage2D on a MSAA renderbuffer. Set up for FBO blit or
|
| // fail.
|
| if (this->caps()->isConfigRenderable(src->config(), false)) {
|
|
|