diff options
author | Robert Phillips <robertphillips@google.com> | 2017-01-24 16:24:41 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-24 22:03:40 +0000 |
commit | 901f29ad3e38b7072a2abef5ff1665cd755d21a2 (patch) | |
tree | 8b231c4cf579b0c591014c5287790b40d38e8868 /src/gpu/effects/GrSimpleTextureEffect.h | |
parent | c8c901fc36816b9a2603a8c129cdca1d2b4d7fe2 (diff) |
Allow GrSingleTextureEffect to take GrTextureProxies
Change-Id: I1dd441a5838f665c6815a5c629f5763f43f66e09
Reviewed-on: https://skia-review.googlesource.com/7429
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/effects/GrSimpleTextureEffect.h')
-rw-r--r-- | src/gpu/effects/GrSimpleTextureEffect.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/gpu/effects/GrSimpleTextureEffect.h b/src/gpu/effects/GrSimpleTextureEffect.h index 90f39acba0..bf013e9c83 100644 --- a/src/gpu/effects/GrSimpleTextureEffect.h +++ b/src/gpu/effects/GrSimpleTextureEffect.h @@ -9,6 +9,7 @@ #define GrSimpleTextureEffect_DEFINED #include "GrSingleTextureEffect.h" +#include "GrTextureProxy.h" class GrInvariantOutput; @@ -28,6 +29,14 @@ public: GrSamplerParams::kNone_FilterMode)); } + static sk_sp<GrFragmentProcessor> Make(GrContext* ctx, sk_sp<GrTextureProxy> proxy, + sk_sp<GrColorSpaceXform> colorSpaceXform, + const SkMatrix& matrix) { + return sk_sp<GrFragmentProcessor>( + new GrSimpleTextureEffect(ctx, std::move(proxy), std::move(colorSpaceXform), matrix, + GrSamplerParams::kNone_FilterMode)); + } + /* clamp mode */ static sk_sp<GrFragmentProcessor> Make(GrTexture* tex, sk_sp<GrColorSpaceXform> colorSpaceXform, @@ -37,6 +46,15 @@ public: new GrSimpleTextureEffect(tex, std::move(colorSpaceXform), matrix, filterMode)); } + static sk_sp<GrFragmentProcessor> Make(GrContext* ctx, sk_sp<GrTextureProxy> proxy, + sk_sp<GrColorSpaceXform> colorSpaceXform, + const SkMatrix& matrix, + GrSamplerParams::FilterMode filterMode) { + return sk_sp<GrFragmentProcessor>( + new GrSimpleTextureEffect(ctx, std::move(proxy), std::move(colorSpaceXform), + matrix, filterMode)); + } + static sk_sp<GrFragmentProcessor> Make(GrTexture* tex, sk_sp<GrColorSpaceXform> colorSpaceXform, const SkMatrix& matrix, @@ -45,6 +63,15 @@ public: matrix, p)); } + static sk_sp<GrFragmentProcessor> Make(GrContext* ctx, sk_sp<GrTextureProxy> proxy, + sk_sp<GrColorSpaceXform> colorSpaceXform, + const SkMatrix& matrix, + const GrSamplerParams& p) { + return sk_sp<GrFragmentProcessor>(new GrSimpleTextureEffect(ctx, std::move(proxy), + std::move(colorSpaceXform), + matrix, p)); + } + virtual ~GrSimpleTextureEffect() {} const char* name() const override { return "SimpleTexture"; } @@ -58,6 +85,15 @@ private: this->initClassID<GrSimpleTextureEffect>(); } + GrSimpleTextureEffect(GrContext* ctx, sk_sp<GrTextureProxy> proxy, + sk_sp<GrColorSpaceXform> colorSpaceXform, + const SkMatrix& matrix, + GrSamplerParams::FilterMode filterMode) + : GrSingleTextureEffect(ctx, std::move(proxy), std::move(colorSpaceXform), + matrix, filterMode) { + this->initClassID<GrSimpleTextureEffect>(); + } + GrSimpleTextureEffect(GrTexture* texture, sk_sp<GrColorSpaceXform> colorSpaceXform, const SkMatrix& matrix, @@ -66,6 +102,14 @@ private: this->initClassID<GrSimpleTextureEffect>(); } + GrSimpleTextureEffect(GrContext* ctx, sk_sp<GrTextureProxy> proxy, + sk_sp<GrColorSpaceXform> colorSpaceXform, + const SkMatrix& matrix, + const GrSamplerParams& params) + : GrSingleTextureEffect(ctx, std::move(proxy), std::move(colorSpaceXform), matrix, params) { + this->initClassID<GrSimpleTextureEffect>(); + } + GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override; |