From b6643fb0eedfc95a7990cba21769ceded5bfccaf Mon Sep 17 00:00:00 2001
From: reveman <reveman@chromium.org>
Date: Mon, 25 May 2015 23:05:34 -0700
Subject: gpu: Extend CopyTextureCHROMIUM with support for copying part of
 source texture.

This makes it possible to specify the area of the source texture
that is copied to the destination texture.

BUG=490889
TEST=gl_tests
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1143373004

Cr-Commit-Position: refs/heads/master@{#331326}
---
 gpu/blink/webgraphicscontext3d_impl.cc | 8 ++++++--
 gpu/blink/webgraphicscontext3d_impl.h  | 6 +++++-
 2 files changed, 11 insertions(+), 3 deletions(-)

(limited to 'gpu/blink')

diff --git a/gpu/blink/webgraphicscontext3d_impl.cc b/gpu/blink/webgraphicscontext3d_impl.cc
index 61aac86..f2e1434 100644
--- a/gpu/blink/webgraphicscontext3d_impl.cc
+++ b/gpu/blink/webgraphicscontext3d_impl.cc
@@ -827,13 +827,17 @@ DELEGATE_TO_GL_5(copyTextureCHROMIUM,
                  WGC3Denum,
                  WGC3Denum);
 
-DELEGATE_TO_GL_5(copySubTextureCHROMIUM,
+DELEGATE_TO_GL_9(copySubTextureCHROMIUM,
                  CopySubTextureCHROMIUM,
                  WGC3Denum,
                  WebGLId,
                  WebGLId,
                  WGC3Dint,
-                 WGC3Dint);
+                 WGC3Dint,
+                 WGC3Dint,
+                 WGC3Dint,
+                 WGC3Dsizei,
+                 WGC3Dsizei);
 
 DELEGATE_TO_GL_3(bindUniformLocationCHROMIUM, BindUniformLocationCHROMIUM,
                  WebGLId, WGC3Dint, const WGC3Dchar*)
diff --git a/gpu/blink/webgraphicscontext3d_impl.h b/gpu/blink/webgraphicscontext3d_impl.h
index 552f5fb..b11c1f4 100644
--- a/gpu/blink/webgraphicscontext3d_impl.h
+++ b/gpu/blink/webgraphicscontext3d_impl.h
@@ -528,7 +528,11 @@ class GPU_BLINK_EXPORT WebGraphicsContext3DImpl
                               blink::WebGLId source_id,
                               blink::WebGLId dest_id,
                               blink::WGC3Dint xoffset,
-                              blink::WGC3Dint yoffset) override;
+                              blink::WGC3Dint yoffset,
+                              blink::WGC3Dint x,
+                              blink::WGC3Dint y,
+                              blink::WGC3Dsizei width,
+                              blink::WGC3Dsizei height) override;
 
   virtual void bindUniformLocationCHROMIUM(blink::WebGLId program,
                                            blink::WGC3Dint location,
-- 
cgit v1.1