#include "src/gpu/ganesh/GrProcessorSet.h"
#include "include/private/base/SkDebug.h"
#include "src/gpu/ganesh/GrAppliedClip.h"
#include "src/gpu/ganesh/GrPaint.h"
#include "src/gpu/ganesh/GrXferProcessor.h"
#include "src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h"
const GrProcessorSet& GrProcessorSet::EmptySet() { … }
GrProcessorSet GrProcessorSet::MakeEmptySet() { … }
GrProcessorSet::GrProcessorSet(GrPaint&& paint) : … { … }
GrProcessorSet::GrProcessorSet(SkBlendMode mode) : … { … }
GrProcessorSet::GrProcessorSet(std::unique_ptr<GrFragmentProcessor> colorFP)
: … { … }
GrProcessorSet::GrProcessorSet(GrProcessorSet&& that)
: … { … }
GrProcessorSet::~GrProcessorSet() { … }
#if defined(GPU_TEST_UTILS)
SkString GrProcessorSet::dumpProcessors() const {
SkString result;
if (this->hasColorFragmentProcessor()) {
result.append("Color Fragment Processor:\n");
result += this->colorFragmentProcessor()->dumpTreeInfo();
} else {
result.append("No color fragment processor.\n");
}
if (this->hasCoverageFragmentProcessor()) {
result.append("Coverage Fragment Processor:\n");
result += this->coverageFragmentProcessor()->dumpTreeInfo();
} else {
result.append("No coverage fragment processors.\n");
}
if (this->isFinalized()) {
result.append("Xfer Processor: ");
if (this->xferProcessor()) {
result.appendf("%s\n", this->xferProcessor()->name());
} else {
result.append("SrcOver\n");
}
} else {
result.append("XP Factory dumping not implemented.\n");
}
return result;
}
#endif
bool GrProcessorSet::operator==(const GrProcessorSet& that) const { … }
GrProcessorSet::Analysis GrProcessorSet::finalize(
const GrProcessorAnalysisColor& colorInput, const GrProcessorAnalysisCoverage coverageInput,
const GrAppliedClip* clip, const GrUserStencilSettings* userStencil,
const GrCaps& caps, GrClampType clampType, SkPMColor4f* overrideInputColor) { … }
void GrProcessorSet::visitProxies(const GrVisitProxyFunc& func) const { … }