aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/GLProgramsTest.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-07-28 13:41:51 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-28 18:02:52 +0000
commitb17e63938fdd466e43c8f15ae19b051f3f2679bf (patch)
tree96493177e23b4ef6736063b3668fe4d7f63a1804 /tests/GLProgramsTest.cpp
parenteee5183a322dd902de743ac02f33a5fd3181b0b6 (diff)
Add clone methods to unit test GrFragmentProcessor classes
Also adds testing of copying ImageStorageAccess and ref counts of proxies held by cloned FPs. Change-Id: Ia23220bf65b4df83d1c874b46d8525cc3540f716 Reviewed-on: https://skia-review.googlesource.com/28004 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'tests/GLProgramsTest.cpp')
-rw-r--r--tests/GLProgramsTest.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
index 8b07568fdc..aca548cdf8 100644
--- a/tests/GLProgramsTest.cpp
+++ b/tests/GLProgramsTest.cpp
@@ -75,6 +75,8 @@ public:
return new GLBigKeyProcessor;
}
+ sk_sp<GrFragmentProcessor> clone() const override { return Make(); }
+
private:
BigKeyProcessor() : INHERITED(kNone_OptimizationFlags) { this->initClassID<BigKeyProcessor>(); }
virtual void onGetGLSLProcessorKey(const GrShaderCaps& caps,
@@ -108,6 +110,11 @@ public:
GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { return new GLFP; }
+ sk_sp<GrFragmentProcessor> clone() const override {
+ auto child = this->childProcessor(0).clone();
+ return child ? Make(std::move(child)) : nullptr;
+ }
+
private:
class GLFP : public GrGLSLFragmentProcessor {
public: