Lines Matching refs:GrFragmentProcessor
34 class GrFragmentProcessor; variable
35 using GrFPResult = std::tuple<bool /*success*/, std::unique_ptr<GrFragmentProcessor>>;
41 class GrFragmentProcessor : public GrProcessor {
52 static std::unique_ptr<GrFragmentProcessor> MakeColor(SkPMColor4f color);
59 static std::unique_ptr<GrFragmentProcessor> MulInputByChildAlpha(
60 std::unique_ptr<GrFragmentProcessor> child);
66 static std::unique_ptr<GrFragmentProcessor> ApplyPaintAlpha(
67 std::unique_ptr<GrFragmentProcessor> child);
74 static std::unique_ptr<GrFragmentProcessor> ModulateRGBA(
75 std::unique_ptr<GrFragmentProcessor> child, const SkPMColor4f& color);
82 static std::unique_ptr<GrFragmentProcessor> OverrideInput(std::unique_ptr<GrFragmentProcessor>,
90 static std::unique_ptr<GrFragmentProcessor> DisableCoverageAsAlpha(
91 std::unique_ptr<GrFragmentProcessor>);
98 static std::unique_ptr<GrFragmentProcessor> UseDestColorAsInput(
99 std::unique_ptr<GrFragmentProcessor>);
105 static std::unique_ptr<GrFragmentProcessor> SwizzleOutput(std::unique_ptr<GrFragmentProcessor>,
112 static std::unique_ptr<GrFragmentProcessor> ClampOutput(std::unique_ptr<GrFragmentProcessor>);
119 static std::unique_ptr<GrFragmentProcessor> Compose(std::unique_ptr<GrFragmentProcessor> f,
120 std::unique_ptr<GrFragmentProcessor> g);
126 static std::unique_ptr<GrFragmentProcessor> ColorMatrix(
127 std::unique_ptr<GrFragmentProcessor> child,
137 static std::unique_ptr<GrFragmentProcessor> SurfaceColor();
143 static std::unique_ptr<GrFragmentProcessor> DeviceSpace(std::unique_ptr<GrFragmentProcessor>);
150 static std::unique_ptr<GrFragmentProcessor> Rect(std::unique_ptr<GrFragmentProcessor>,
154 static GrFPResult Circle(std::unique_ptr<GrFragmentProcessor>,
159 static GrFPResult Ellipse(std::unique_ptr<GrFragmentProcessor>,
169 static std::unique_ptr<GrFragmentProcessor> HighPrecision(std::unique_ptr<GrFragmentProcessor>);
175 virtual std::unique_ptr<GrFragmentProcessor> clone() const = 0;
178 const GrFragmentProcessor* parent() const { return fParent; } in parent()
194 GrFragmentProcessor* childProcessor(int index) { return fChildProcessors[index].get(); } in childProcessor()
195 const GrFragmentProcessor* childProcessor(int index) const { in childProcessor()
282 bool isEqual(const GrFragmentProcessor& that) const;
288 void visitWithImpls(const std::function<void(const GrFragmentProcessor&, ProgramImpl&)>&,
340 GrFragmentProcessor(ClassID classID, OptimizationFlags optimizationFlags) in GrFragmentProcessor() function
345 explicit GrFragmentProcessor(const GrFragmentProcessor& src) in GrFragmentProcessor() function
355 static OptimizationFlags ProcessorOptimizationFlags(const GrFragmentProcessor* fp) { in ProcessorOptimizationFlags()
364 static SkPMColor4f ConstantOutputForConstantInput(const GrFragmentProcessor* fp, in ConstantOutputForConstantInput()
385 void registerChild(std::unique_ptr<GrFragmentProcessor> child,
392 void cloneAndRegisterAllChildProcessors(const GrFragmentProcessor& src);
435 virtual bool onIsEqual(const GrFragmentProcessor&) const = 0;
456 SkSTArray<1, std::unique_ptr<GrFragmentProcessor>, true> fChildProcessors;
457 const GrFragmentProcessor* fParent = nullptr;
466 class GrFragmentProcessor::ProgramImpl {
499 const GrFragmentProcessor& fp, in EmitArgs()
513 const GrFragmentProcessor& fFp;
523 void setData(const GrGLSLProgramDataManager& pdman, const GrFragmentProcessor& processor);
637 virtual void onSetData(const GrGLSLProgramDataManager&, const GrFragmentProcessor&) {} in onSetData() argument
644 friend class GrFragmentProcessor; variable
649 SK_MAKE_BITFIELD_OPS(GrFragmentProcessor::OptimizationFlags) in SK_MAKE_BITFIELD_OPS()
651 static inline GrFPResult GrFPFailure(std::unique_ptr<GrFragmentProcessor> fp) { in SK_MAKE_BITFIELD_OPS()
654 static inline GrFPResult GrFPSuccess(std::unique_ptr<GrFragmentProcessor> fp) { in GrFPSuccess()