Lines Matching refs:BlendFormula
27 class BlendFormula { class
44 constexpr BlendFormula(OutputType primaryOut, OutputType secondaryOut, GrBlendEquation equation, in BlendFormula() function in BlendFormula
53 BlendFormula(const BlendFormula&) = default;
54 BlendFormula& operator=(const BlendFormula&) = default;
56 bool operator==(const BlendFormula& that) const { in operator ==()
142 static_assert(4 == sizeof(BlendFormula));
144 SK_MAKE_BITFIELD_OPS(BlendFormula::Properties) in SK_MAKE_BITFIELD_OPS()
146 constexpr BlendFormula::Properties BlendFormula::GetProperties(OutputType PrimaryOut, in SK_MAKE_BITFIELD_OPS()
184 static constexpr BlendFormula MakeCoeffFormula(GrBlendCoeff srcCoeff, GrBlendCoeff dstCoeff) { in MakeCoeffFormula()
188 ? BlendFormula(BlendFormula::kNone_OutputType, BlendFormula::kNone_OutputType, in MakeCoeffFormula()
190 : BlendFormula(BlendFormula::kModulate_OutputType, BlendFormula::kNone_OutputType, in MakeCoeffFormula()
198 static constexpr BlendFormula MakeSAModulateFormula(GrBlendCoeff srcCoeff, GrBlendCoeff dstCoeff) { in MakeSAModulateFormula()
199 return BlendFormula(BlendFormula::kSAModulate_OutputType, BlendFormula::kNone_OutputType, in MakeSAModulateFormula()
217 static constexpr BlendFormula MakeCoverageFormula( in MakeCoverageFormula()
218 BlendFormula::OutputType oneMinusDstCoeffModulateOutput, GrBlendCoeff srcCoeff) { in MakeCoverageFormula()
219 return BlendFormula(BlendFormula::kModulate_OutputType, oneMinusDstCoeffModulateOutput, in MakeCoverageFormula()
237 static constexpr BlendFormula MakeCoverageSrcCoeffZeroFormula( in MakeCoverageSrcCoeffZeroFormula()
238 BlendFormula::OutputType oneMinusDstCoeffModulateOutput) { in MakeCoverageSrcCoeffZeroFormula()
239 return BlendFormula(oneMinusDstCoeffModulateOutput, BlendFormula::kNone_OutputType, in MakeCoverageSrcCoeffZeroFormula()
253 static constexpr BlendFormula MakeCoverageDstCoeffZeroFormula(GrBlendCoeff srcCoeff) { in MakeCoverageDstCoeffZeroFormula()
254 return BlendFormula(BlendFormula::kModulate_OutputType, BlendFormula::kCoverage_OutputType, in MakeCoverageDstCoeffZeroFormula()
263 static constexpr BlendFormula gBlendTable[2][2][(int)SkBlendMode::kLastCoeffMode + 1] = {
284 /* clear */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kCoverage_OutputType),
290 /* dst-in */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kISAModulate_OutputType),
294 /* dst-atop */ MakeCoverageFormula(BlendFormula::kISAModulate_OutputType, kIDA_GrBlendCoeff),
297 /* modulate */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kISCModulate_OutputType),
320 /* clear */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kCoverage_OutputType),
328 /* dst-out */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kCoverage_OutputType),
333 /* modulate */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kISCModulate_OutputType),
341 static constexpr BlendFormula gLCDBlendTable[(int)SkBlendMode::kLastCoeffMode + 1] = {
342 /* clear */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kCoverage_OutputType),
343 /* src */ MakeCoverageFormula(BlendFormula::kCoverage_OutputType, kOne_GrBlendCoeff),
345 /* src-over */ MakeCoverageFormula(BlendFormula::kSAModulate_OutputType, kOne_GrBlendCoeff),
347 /* src-in */ MakeCoverageFormula(BlendFormula::kCoverage_OutputType, kDA_GrBlendCoeff),
348 /* dst-in */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kISAModulate_OutputType),
349 /* src-out */ MakeCoverageFormula(BlendFormula::kCoverage_OutputType, kIDA_GrBlendCoeff),
351 /* src-atop */ MakeCoverageFormula(BlendFormula::kSAModulate_OutputType, kDA_GrBlendCoeff),
352 /* dst-atop */ MakeCoverageFormula(BlendFormula::kISAModulate_OutputType, kIDA_GrBlendCoeff),
353 /* xor */ MakeCoverageFormula(BlendFormula::kSAModulate_OutputType, kIDA_GrBlendCoeff),
355 /* modulate */ MakeCoverageSrcCoeffZeroFormula(BlendFormula::kISCModulate_OutputType),
359 static BlendFormula get_blend_formula(bool isOpaque, in get_blend_formula()
366 static BlendFormula get_lcd_blend_formula(SkBlendMode xfermode) { in get_lcd_blend_formula()
376 PorterDuffXferProcessor(BlendFormula blendFormula, GrProcessorAnalysisCoverage coverage) in PorterDuffXferProcessor()
385 BlendFormula getBlendFormula() const { return fBlendFormula; } in getBlendFormula()
404 const BlendFormula fBlendFormula;
413 BlendFormula::OutputType outputType, const char* output, in append_color_output()
418 case BlendFormula::kNone_OutputType: in append_color_output()
421 case BlendFormula::kCoverage_OutputType: in append_color_output()
424 case BlendFormula::kModulate_OutputType: in append_color_output()
427 case BlendFormula::kSAModulate_OutputType: in append_color_output()
430 case BlendFormula::kISAModulate_OutputType: in append_color_output()
433 case BlendFormula::kISCModulate_OutputType: in append_color_output()
444 static_assert(BlendFormula::kLast_OutputType < 8); in onAddToKey()
454 const BlendFormula& blendFormula = xp.fBlendFormula; in makeProgramImpl()
703 BlendFormula blendFormula = [&](){ in makeXferProcessor()
734 BlendFormula formula = [&](){ in analysis_properties()
810 BlendFormula blendFormula = static_cast<const PorterDuffXferProcessor*>(xp)->getBlendFormula(); in TestGetXPOutputTypes()
819 static BlendFormula gSrcOverBlendFormula = in SimpleSrcOverXP()
836 BlendFormula blendFormula = get_blend_formula(true, false, SkBlendMode::kSrc); in MakeSrcOverXferProcessor()
864 BlendFormula blendFormula = get_lcd_blend_formula(SkBlendMode::kSrcOver); in MakeSrcOverXferProcessor()
874 BlendFormula formula = get_blend_formula(false, false, blendmode); in MakeNoCoverageXP()