diff options
author | 2014-09-23 09:50:21 -0700 | |
---|---|---|
committer | 2014-09-23 09:50:21 -0700 | |
commit | b0a8a377f832c59cee939ad721e1f87d378b7142 (patch) | |
tree | 7edeac33c817af28d73f3fbe1b31776ac34e8773 /src/effects/SkColorFilters.cpp | |
parent | e51ac563de24ed4b25fde97c225580a30a55e9ca (diff) |
Patch to create a distinct geometry processor. The vast majority of this patch
is just a rename. The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/582963002
Diffstat (limited to 'src/effects/SkColorFilters.cpp')
-rw-r--r-- | src/effects/SkColorFilters.cpp | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp index 3d89d0b52a..bd0d2aa6c8 100644 --- a/src/effects/SkColorFilters.cpp +++ b/src/effects/SkColorFilters.cpp @@ -74,7 +74,7 @@ public: #endif #if SK_SUPPORT_GPU - virtual GrEffect* asNewEffect(GrContext*) const SK_OVERRIDE; + virtual GrFragmentProcessor* asFragmentProcessor(GrContext*) const SK_OVERRIDE; #endif SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkModeColorFilter) @@ -123,10 +123,10 @@ SkFlattenable* SkModeColorFilter::CreateProc(SkReadBuffer& buffer) { /////////////////////////////////////////////////////////////////////////////// #if SK_SUPPORT_GPU #include "GrBlend.h" -#include "GrEffect.h" -#include "GrEffectUnitTest.h" -#include "GrTBackendEffectFactory.h" -#include "gl/GrGLEffect.h" +#include "GrProcessor.h" +#include "GrProcessorUnitTest.h" +#include "GrTBackendProcessorFactory.h" +#include "gl/GrGLProcessor.h" #include "gl/builders/GrGLProgramBuilder.h" #include "SkGr.h" @@ -182,9 +182,9 @@ static inline ColorExpr color_filter_expression(const SkXfermode::Mode& mode, } -class ModeColorFilterEffect : public GrEffect { +class ModeColorFilterEffect : public GrFragmentProcessor { public: - static GrEffect* Create(const GrColor& c, SkXfermode::Mode mode) { + static GrFragmentProcessor* Create(const GrColor& c, SkXfermode::Mode mode) { // TODO: Make the effect take the coeffs rather than mode since we already do the // conversion here. SkXfermode::Coeff srcCoeff, dstCoeff; @@ -207,8 +207,8 @@ public: return true; } - virtual const GrBackendEffectFactory& getFactory() const SK_OVERRIDE { - return GrTBackendEffectFactory<ModeColorFilterEffect>::getInstance(); + virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERRIDE { + return GrTBackendFragmentProcessorFactory<ModeColorFilterEffect>::getInstance(); } static const char* Name() { return "ModeColorFilterEffect"; } @@ -216,24 +216,24 @@ public: SkXfermode::Mode mode() const { return fMode; } GrColor color() const { return fColor; } - class GLEffect : public GrGLEffect { + class GLProcessor : public GrGLFragmentProcessor { public: - GLEffect(const GrBackendEffectFactory& factory, const GrEffect&) + GLProcessor(const GrBackendProcessorFactory& factory, const GrProcessor&) : INHERITED(factory) { } virtual void emitCode(GrGLProgramBuilder* builder, - const GrEffect& effect, - const GrEffectKey& key, + const GrFragmentProcessor& fp, + const GrProcessorKey&, const char* outputColor, const char* inputColor, - const TransformedCoordsArray& coords, - const TextureSamplerArray& samplers) SK_OVERRIDE { - SkXfermode::Mode mode = effect.cast<ModeColorFilterEffect>().mode(); + const TransformedCoordsArray&, + const TextureSamplerArray&) SK_OVERRIDE { + SkXfermode::Mode mode = fp.cast<ModeColorFilterEffect>().mode(); SkASSERT(SkXfermode::kDst_Mode != mode); const char* colorFilterColorUniName = NULL; - if (effect.cast<ModeColorFilterEffect>().willUseFilterColor()) { + if (fp.cast<ModeColorFilterEffect>().willUseFilterColor()) { fFilterColorUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, kVec4f_GrSLType, "FilterColor", &colorFilterColorUniName); @@ -247,18 +247,18 @@ public: codeAppendf("\t%s = %s;\n", outputColor, filter.c_str()); } - static void GenKey(const GrEffect& effect, const GrGLCaps&, - GrEffectKeyBuilder* b) { - const ModeColorFilterEffect& colorModeFilter = effect.cast<ModeColorFilterEffect>(); + static void GenKey(const GrProcessor& fp, const GrGLCaps&, + GrProcessorKeyBuilder* b) { + const ModeColorFilterEffect& colorModeFilter = fp.cast<ModeColorFilterEffect>(); // The SL code does not depend on filter color at the moment, so no need to represent it // in the key. b->add32(colorModeFilter.mode()); } virtual void setData(const GrGLProgramDataManager& pdman, - const GrEffect& effect) SK_OVERRIDE { + const GrProcessor& fp) SK_OVERRIDE { if (fFilterColorUni.isValid()) { - const ModeColorFilterEffect& colorModeFilter = effect.cast<ModeColorFilterEffect>(); + const ModeColorFilterEffect& colorModeFilter = fp.cast<ModeColorFilterEffect>(); GrGLfloat c[4]; GrColorToRGBAFloat(colorModeFilter.color(), c); pdman.set4fv(fFilterColorUni, 1, c); @@ -268,10 +268,10 @@ public: private: GrGLProgramDataManager::UniformHandle fFilterColorUni; - typedef GrGLEffect INHERITED; + typedef GrGLFragmentProcessor INHERITED; }; - GR_DECLARE_EFFECT_TEST; + GR_DECLARE_FRAGMENT_PROCESSOR_TEST; private: ModeColorFilterEffect(GrColor color, SkXfermode::Mode mode) @@ -288,7 +288,7 @@ private: } } - virtual bool onIsEqual(const GrEffect& other) const SK_OVERRIDE { + virtual bool onIsEqual(const GrProcessor& other) const SK_OVERRIDE { const ModeColorFilterEffect& s = other.cast<ModeColorFilterEffect>(); return fMode == s.fMode && fColor == s.fColor; } @@ -296,7 +296,7 @@ private: SkXfermode::Mode fMode; GrColor fColor; - typedef GrEffect INHERITED; + typedef GrFragmentProcessor INHERITED; }; namespace { @@ -396,11 +396,11 @@ void ModeColorFilterEffect::getConstantColorComponents(GrColor* color, uint32_t* *validFlags = result.getValidComponents(); } -GR_DEFINE_EFFECT_TEST(ModeColorFilterEffect); -GrEffect* ModeColorFilterEffect::TestCreate(SkRandom* rand, - GrContext*, - const GrDrawTargetCaps&, - GrTexture*[]) { +GR_DEFINE_FRAGMENT_PROCESSOR_TEST(ModeColorFilterEffect); +GrFragmentProcessor* ModeColorFilterEffect::TestCreate(SkRandom* rand, + GrContext*, + const GrDrawTargetCaps&, + GrTexture*[]) { SkXfermode::Mode mode = SkXfermode::kDst_Mode; while (SkXfermode::kDst_Mode == mode) { mode = static_cast<SkXfermode::Mode>(rand->nextRangeU(0, SkXfermode::kLastCoeffMode)); @@ -409,7 +409,7 @@ GrEffect* ModeColorFilterEffect::TestCreate(SkRandom* rand, return ModeColorFilterEffect::Create(color, mode); } -GrEffect* SkModeColorFilter::asNewEffect(GrContext*) const { +GrFragmentProcessor* SkModeColorFilter::asFragmentProcessor(GrContext*) const { if (SkXfermode::kDst_Mode != fMode) { return ModeColorFilterEffect::Create(SkColor2GrColor(fColor), fMode); } |