| Index: src/gpu/gl/GrGpuGL.cpp
|
| diff --git a/src/gpu/gl/GrGpuGL.cpp b/src/gpu/gl/GrGpuGL.cpp
|
| index cdf9be9547ab91432e9115500ecef344c9305b14..05f6e0d8aabf59254ed12fe463824a62f4be480d 100644
|
| --- a/src/gpu/gl/GrGpuGL.cpp
|
| +++ b/src/gpu/gl/GrGpuGL.cpp
|
| @@ -2398,8 +2398,8 @@ inline bool can_blit_framebuffer(const GrSurface* dst,
|
| const GrSurface* src,
|
| const GrGpuGL* gpu,
|
| bool* wouldNeedTempFBO = NULL) {
|
| - if (gpu->glCaps().isConfigRenderable(dst->config()) &&
|
| - gpu->glCaps().isConfigRenderable(src->config()) &&
|
| + if (gpu->glCaps().isConfigRenderable(dst->config(), dst->desc().fSampleCnt > 0) &&
|
| + gpu->glCaps().isConfigRenderable(src->config(), src->desc().fSampleCnt > 0) &&
|
| gpu->glCaps().usesMSAARenderBuffers()) {
|
| // ES3 doesn't allow framebuffer blits when the src has MSAA and the configs don't match
|
| // or the rects are not the same (not just the same size but have the same edges).
|
| @@ -2439,8 +2439,10 @@ inline bool can_copy_texsubimage(const GrSurface* dst,
|
| if (NULL != srcRT && srcRT->renderFBOID() != srcRT->textureFBOID()) {
|
| return false;
|
| }
|
| - if (gpu->glCaps().isConfigRenderable(src->config()) && NULL != dst->asTexture() &&
|
| - dst->origin() == src->origin() && kIndex_8_GrPixelConfig != src->config()) {
|
| + if (gpu->glCaps().isConfigRenderable(src->config(), src->desc().fSampleCnt > 0) &&
|
| + NULL != dst->asTexture() &&
|
| + dst->origin() == src->origin() &&
|
| + kIndex_8_GrPixelConfig != src->config()) {
|
| if (NULL != wouldNeedTempFBO) {
|
| *wouldNeedTempFBO = NULL == src->asRenderTarget();
|
| }
|
|
|