diff options
author | Brian Salomon <bsalomon@google.com> | 2017-07-28 13:41:51 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-28 18:02:52 +0000 |
commit | b17e63938fdd466e43c8f15ae19b051f3f2679bf (patch) | |
tree | 96493177e23b4ef6736063b3668fe4d7f63a1804 /tests/GLProgramsTest.cpp | |
parent | eee5183a322dd902de743ac02f33a5fd3181b0b6 (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.cpp | 7 |
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: |