blob: f5d70003e674ed226d17211fd54fd37a395917a1 [file] [log] [blame]
tomhudson@google.comd0c1a062012-07-12 17:23:52 +00001/*
2 * Copyright 2012 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "effects/GrSingleTextureEffect.h"
tomhudson@google.comaa72eab2012-07-19 18:01:07 +00009
Robert Phillips901f29a2017-01-24 16:24:41 -050010#include "GrTextureProxy.h"
11
Robert Phillips296b1cc2017-03-15 10:42:12 -040012GrSingleTextureEffect::GrSingleTextureEffect(GrResourceProvider* resourceProvider,
13 OptimizationFlags optFlags,
Brian Salomon587e08f2017-01-27 10:59:27 -050014 sk_sp<GrTextureProxy> proxy,
Ethan Nicholas052fd512017-01-27 15:34:34 +000015 sk_sp<GrColorSpaceXform> colorSpaceXform,
16 const SkMatrix& m)
Brian Salomon587e08f2017-01-27 10:59:27 -050017 : INHERITED(optFlags)
Brian Osman5869ea92017-04-03 16:36:58 -040018 , fCoordTransform(resourceProvider, m, proxy.get())
Robert Phillips296b1cc2017-03-15 10:42:12 -040019 , fTextureSampler(resourceProvider, std::move(proxy))
Brian Salomon587e08f2017-01-27 10:59:27 -050020 , fColorSpaceXform(std::move(colorSpaceXform)) {
Ethan Nicholas052fd512017-01-27 15:34:34 +000021 this->addCoordTransform(&fCoordTransform);
22 this->addTextureSampler(&fTextureSampler);
23}
24
Robert Phillips296b1cc2017-03-15 10:42:12 -040025GrSingleTextureEffect::GrSingleTextureEffect(GrResourceProvider* resourceProvider,
26 OptimizationFlags optFlags,
Brian Salomon587e08f2017-01-27 10:59:27 -050027 sk_sp<GrTextureProxy> proxy,
Ethan Nicholas052fd512017-01-27 15:34:34 +000028 sk_sp<GrColorSpaceXform> colorSpaceXform,
29 const SkMatrix& m,
30 GrSamplerParams::FilterMode filterMode)
Brian Salomon587e08f2017-01-27 10:59:27 -050031 : INHERITED(optFlags)
Brian Osman5869ea92017-04-03 16:36:58 -040032 , fCoordTransform(resourceProvider, m, proxy.get())
Robert Phillips296b1cc2017-03-15 10:42:12 -040033 , fTextureSampler(resourceProvider, std::move(proxy), filterMode)
Brian Salomon587e08f2017-01-27 10:59:27 -050034 , fColorSpaceXform(std::move(colorSpaceXform)) {
Ethan Nicholas052fd512017-01-27 15:34:34 +000035 this->addCoordTransform(&fCoordTransform);
36 this->addTextureSampler(&fTextureSampler);
37}
38
Robert Phillips296b1cc2017-03-15 10:42:12 -040039GrSingleTextureEffect::GrSingleTextureEffect(GrResourceProvider* resourceProvider,
40 OptimizationFlags optFlags,
Brian Salomon587e08f2017-01-27 10:59:27 -050041 sk_sp<GrTextureProxy> proxy,
Ethan Nicholas052fd512017-01-27 15:34:34 +000042 sk_sp<GrColorSpaceXform> colorSpaceXform,
Brian Salomon587e08f2017-01-27 10:59:27 -050043 const SkMatrix& m, const GrSamplerParams& params)
44 : INHERITED(optFlags)
Brian Osman5869ea92017-04-03 16:36:58 -040045 , fCoordTransform(resourceProvider, m, proxy.get())
Robert Phillips296b1cc2017-03-15 10:42:12 -040046 , fTextureSampler(resourceProvider, std::move(proxy), params)
Brian Salomon587e08f2017-01-27 10:59:27 -050047 , fColorSpaceXform(std::move(colorSpaceXform)) {
Ethan Nicholas052fd512017-01-27 15:34:34 +000048 this->addCoordTransform(&fCoordTransform);
49 this->addTextureSampler(&fTextureSampler);
50}