diff options
author | Robert Phillips <robertphillips@google.com> | 2017-01-30 08:06:27 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-30 13:40:15 +0000 |
commit | 40fd7c94c24bb30d888c3d85a79cbb96c7fbf800 (patch) | |
tree | 075e886c01de864ba982910f1854f47ba1ae95d8 /src/gpu/effects/GrTextureDomain.h | |
parent | 55b72530fedeb58154635531751a8730982fbf2a (diff) |
Push GrTextureProxy down to more effects
Change-Id: Ie3f32a88f25af082c25bc6daf3fe24e303e80f9e
Reviewed-on: https://skia-review.googlesource.com/7616
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/effects/GrTextureDomain.h')
-rw-r--r-- | src/gpu/effects/GrTextureDomain.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/gpu/effects/GrTextureDomain.h b/src/gpu/effects/GrTextureDomain.h index 6758d9045e..fbc20f1947 100644 --- a/src/gpu/effects/GrTextureDomain.h +++ b/src/gpu/effects/GrTextureDomain.h @@ -44,7 +44,8 @@ public: static const int kModeCount = kLastMode + 1; static const GrTextureDomain& IgnoredDomain() { - static const GrTextureDomain gDomain(nullptr, SkRect::MakeEmpty(), kIgnore_Mode); + static const GrTextureDomain gDomain((GrTextureProxy*)nullptr, + SkRect::MakeEmpty(), kIgnore_Mode); return gDomain; } @@ -54,6 +55,8 @@ public: */ GrTextureDomain(GrTexture*, const SkRect& domain, Mode, int index = -1); + GrTextureDomain(GrTextureProxy*, const SkRect& domain, Mode, int index = -1); + const SkRect& domain() const { return fDomain; } Mode mode() const { return fMode; } @@ -157,6 +160,14 @@ public: GrTextureDomain::Mode, GrSamplerParams::FilterMode filterMode); + static sk_sp<GrFragmentProcessor> Make(GrContext*, + sk_sp<GrTextureProxy>, + sk_sp<GrColorSpaceXform>, + const SkMatrix&, + const SkRect& domain, + GrTextureDomain::Mode, + GrSamplerParams::FilterMode filterMode); + const char* name() const override { return "TextureDomain"; } SkString dumpInfo() const override { @@ -178,7 +189,15 @@ private: GrTextureDomain::Mode, GrSamplerParams::FilterMode); - static OptimizationFlags OptFlags(GrTexture* texture, GrTextureDomain::Mode mode); + GrTextureDomainEffect(GrContext*, + sk_sp<GrTextureProxy>, + sk_sp<GrColorSpaceXform>, + const SkMatrix&, + const SkRect& domain, + GrTextureDomain::Mode, + GrSamplerParams::FilterMode); + + static OptimizationFlags OptFlags(GrPixelConfig config, GrTextureDomain::Mode mode); GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; @@ -198,6 +217,9 @@ public: static sk_sp<GrFragmentProcessor> Make(GrTexture*, const SkIRect& subset, const SkIPoint& deviceSpaceOffset); + static sk_sp<GrFragmentProcessor> Make(GrContext*, sk_sp<GrTextureProxy>, const SkIRect& subset, + const SkIPoint& deviceSpaceOffset); + const char* name() const override { return "GrDeviceSpaceTextureDecalFragmentProcessor"; } SkString dumpInfo() const override { @@ -217,6 +239,9 @@ private: GrDeviceSpaceTextureDecalFragmentProcessor(GrTexture*, const SkIRect&, const SkIPoint&); + GrDeviceSpaceTextureDecalFragmentProcessor(GrContext*, sk_sp<GrTextureProxy>, + const SkIRect&, const SkIPoint&); + GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; // Since we always use decal mode, there is no need for key data. |