aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrTextureProducer.h
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-03-14 08:53:02 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-14 13:41:21 +0000
commitb66b42f1749a7a23fd610d90605978537bf4fbb7 (patch)
tree1e2218cd3de45e6bfe8578f7db93890019e6eaa7 /src/gpu/GrTextureProducer.h
parentf85f2a9c9314242a727afcaee00d07f14c6a48b0 (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.h13
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;