| Index: third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
|
| index ea452ae747adb9a8e0457ed6de85f77db5de6c32..4023f3420e751291d9cc97de1e9cabda9e7bc632 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
|
| @@ -674,6 +674,8 @@ bool DrawingBuffer::copyToPlatformTexture(gpu::gles2::GLES2Interface* gl,
|
| GLint level,
|
| bool premultiplyAlpha,
|
| bool flipY,
|
| + const IntPoint& destTextureOffset,
|
| + const IntRect& sourceSubRectangle,
|
| SourceDrawingBuffer sourceBuffer) {
|
| ScopedStateRestorer scopedStateRestorer(this);
|
|
|
| @@ -719,9 +721,11 @@ bool DrawingBuffer::copyToPlatformTexture(gpu::gles2::GLES2Interface* gl,
|
| else if (m_wantAlphaChannel && !m_premultipliedAlpha && premultiplyAlpha)
|
| unpackPremultiplyAlphaNeeded = GL_TRUE;
|
|
|
| - gl->CopyTextureCHROMIUM(sourceTexture, texture, internalFormat, destType,
|
| - flipY, unpackPremultiplyAlphaNeeded,
|
| - unpackUnpremultiplyAlphaNeeded);
|
| + gl->CopySubTextureCHROMIUM(
|
| + sourceTexture, texture, destTextureOffset.x(), destTextureOffset.y(),
|
| + sourceSubRectangle.x(), sourceSubRectangle.y(),
|
| + sourceSubRectangle.width(), sourceSubRectangle.height(), flipY,
|
| + unpackPremultiplyAlphaNeeded, unpackUnpremultiplyAlphaNeeded);
|
|
|
| gl->DeleteTextures(1, &sourceTexture);
|
|
|
|
|