• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 GrAlphaThresholdFragmentProcessor.fp; do not modify.
10  **************************************************************************************************/
11 #ifndef GrAlphaThresholdFragmentProcessor_DEFINED
12 #define GrAlphaThresholdFragmentProcessor_DEFINED
13 
14 #include "include/core/SkM44.h"
15 #include "include/core/SkTypes.h"
16 
17 #include "src/gpu/GrFragmentProcessor.h"
18 
19 class GrAlphaThresholdFragmentProcessor : public GrFragmentProcessor {
20 public:
Make(std::unique_ptr<GrFragmentProcessor> inputFP,std::unique_ptr<GrFragmentProcessor> maskFP,float innerThreshold,float outerThreshold)21     static std::unique_ptr<GrFragmentProcessor> Make(std::unique_ptr<GrFragmentProcessor> inputFP,
22                                                      std::unique_ptr<GrFragmentProcessor> maskFP,
23                                                      float innerThreshold,
24                                                      float outerThreshold) {
25         return std::unique_ptr<GrFragmentProcessor>(new GrAlphaThresholdFragmentProcessor(
26                 std::move(inputFP), std::move(maskFP), innerThreshold, outerThreshold));
27     }
28     GrAlphaThresholdFragmentProcessor(const GrAlphaThresholdFragmentProcessor& src);
29     std::unique_ptr<GrFragmentProcessor> clone() const override;
name()30     const char* name() const override { return "AlphaThresholdFragmentProcessor"; }
31     float innerThreshold;
32     float outerThreshold;
33 
34 private:
GrAlphaThresholdFragmentProcessor(std::unique_ptr<GrFragmentProcessor> inputFP,std::unique_ptr<GrFragmentProcessor> maskFP,float innerThreshold,float outerThreshold)35     GrAlphaThresholdFragmentProcessor(std::unique_ptr<GrFragmentProcessor> inputFP,
36                                       std::unique_ptr<GrFragmentProcessor> maskFP,
37                                       float innerThreshold,
38                                       float outerThreshold)
39             : INHERITED(kGrAlphaThresholdFragmentProcessor_ClassID,
40                         (OptimizationFlags)ProcessorOptimizationFlags(inputFP.get()) &
41                                 ((outerThreshold >= 1.0) ? kPreservesOpaqueInput_OptimizationFlag
42                                                          : kNone_OptimizationFlags))
43             , innerThreshold(innerThreshold)
44             , outerThreshold(outerThreshold) {
45         this->registerChild(std::move(inputFP), SkSL::SampleUsage::PassThrough());
46         this->registerChild(std::move(maskFP), SkSL::SampleUsage::PassThrough());
47     }
48     std::unique_ptr<GrGLSLFragmentProcessor> onMakeProgramImpl() const override;
49     void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override;
50     bool onIsEqual(const GrFragmentProcessor&) const override;
51 #if GR_TEST_UTILS
52     SkString onDumpInfo() const override;
53 #endif
54     GR_DECLARE_FRAGMENT_PROCESSOR_TEST
55     using INHERITED = GrFragmentProcessor;
56 };
57 #endif
58