diff options
author | Robert Phillips <robertphillips@google.com> | 2017-03-14 08:53:02 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-14 13:41:21 +0000 |
commit | b66b42f1749a7a23fd610d90605978537bf4fbb7 (patch) | |
tree | 1e2218cd3de45e6bfe8578f7db93890019e6eaa7 /src/gpu/GrTextureProducer.h | |
parent | f85f2a9c9314242a727afcaee00d07f14c6a48b0 (diff) |
Preparatory Proxification
This is pulled out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)
Change-Id: I93e233cd80d98c848d79272423cb58505d72ff3e
Reviewed-on: https://skia-review.googlesource.com/9559
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrTextureProducer.h')
-rw-r--r-- | src/gpu/GrTextureProducer.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gpu/GrTextureProducer.h b/src/gpu/GrTextureProducer.h index 2284cb4c05..fefdf1969f 100644 --- a/src/gpu/GrTextureProducer.h +++ b/src/gpu/GrTextureProducer.h @@ -13,6 +13,7 @@ class GrColorSpaceXform; class GrTexture; +class GrTextureProxy; /** * Different GPUs and API extensions have different requirements with respect to what texture @@ -118,6 +119,9 @@ protected: static GrTexture* CopyOnGpu(GrTexture* inputTexture, const SkIRect* subset, const CopyParams& copyParams); + static sk_sp<GrTextureProxy> CopyOnGpu(GrContext*, sk_sp<GrTextureProxy> inputProxy, + const SkIRect* subset, const CopyParams& copyParams); + static DomainMode DetermineDomainMode( const SkRect& constraintRect, FilterConstraint filterConstraint, @@ -135,6 +139,15 @@ protected: const SkRect& domain, const GrSamplerParams::FilterMode* filterOrNullForBicubic); + static sk_sp<GrFragmentProcessor> CreateFragmentProcessorForDomainAndFilter( + GrContext* context, + sk_sp<GrTextureProxy> proxy, + sk_sp<GrColorSpaceXform> colorSpaceXform, + const SkMatrix& textureMatrix, + DomainMode, + const SkRect& domain, + const GrSamplerParams::FilterMode* filterOrNullForBicubic); + private: const int fWidth; const int fHeight; |