Home | History | Annotate | Download | only in effects
      1 /*
      2  * Copyright 2018 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 /**************************************************************************************************
      9  *** This file was autogenerated from GrLumaColorFilterEffect.fp; do not modify.
     10  **************************************************************************************************/
     11 #include "GrLumaColorFilterEffect.h"
     12 #include "glsl/GrGLSLFragmentProcessor.h"
     13 #include "glsl/GrGLSLFragmentShaderBuilder.h"
     14 #include "glsl/GrGLSLProgramBuilder.h"
     15 #include "GrTexture.h"
     16 #include "SkSLCPP.h"
     17 #include "SkSLUtil.h"
     18 class GrGLSLLumaColorFilterEffect : public GrGLSLFragmentProcessor {
     19 public:
     20     GrGLSLLumaColorFilterEffect() {}
     21     void emitCode(EmitArgs& args) override {
     22         GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder;
     23         const GrLumaColorFilterEffect& _outer = args.fFp.cast<GrLumaColorFilterEffect>();
     24         (void)_outer;
     25         fragBuilder->codeAppendf(
     26                 "\nhalf luma = dot(half3(0.21260000000000001, 0.71519999999999995, 0.0722), "
     27                 "%s.xyz);\n%s = half4(0.0, 0.0, 0.0, luma);\n",
     28                 args.fInputColor, args.fOutputColor);
     29     }
     30 
     31 private:
     32     void onSetData(const GrGLSLProgramDataManager& pdman,
     33                    const GrFragmentProcessor& _proc) override {}
     34 };
     35 GrGLSLFragmentProcessor* GrLumaColorFilterEffect::onCreateGLSLInstance() const {
     36     return new GrGLSLLumaColorFilterEffect();
     37 }
     38 void GrLumaColorFilterEffect::onGetGLSLProcessorKey(const GrShaderCaps& caps,
     39                                                     GrProcessorKeyBuilder* b) const {}
     40 bool GrLumaColorFilterEffect::onIsEqual(const GrFragmentProcessor& other) const {
     41     const GrLumaColorFilterEffect& that = other.cast<GrLumaColorFilterEffect>();
     42     (void)that;
     43     return true;
     44 }
     45 GrLumaColorFilterEffect::GrLumaColorFilterEffect(const GrLumaColorFilterEffect& src)
     46         : INHERITED(kGrLumaColorFilterEffect_ClassID, src.optimizationFlags()) {}
     47 std::unique_ptr<GrFragmentProcessor> GrLumaColorFilterEffect::clone() const {
     48     return std::unique_ptr<GrFragmentProcessor>(new GrLumaColorFilterEffect(*this));
     49 }
     50