aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrSimpleTextureEffect.h
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-01-24 16:24:41 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-24 22:03:40 +0000
commit901f29ad3e38b7072a2abef5ff1665cd755d21a2 (patch)
tree8b231c4cf579b0c591014c5287790b40d38e8868 /src/gpu/effects/GrSimpleTextureEffect.h
parentc8c901fc36816b9a2603a8c129cdca1d2b4d7fe2 (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.h44
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;