const GrFragmentProcessor* fp = builder.getColorFragmentProcessor(i);
pipeline->fFragmentProcessors[currFPIdx].reset(fp);
usesLocalCoords = usesLocalCoords || fp->usesLocalCoords();
- fp->gatherCoordTransforms(&pipeline->fCoordTransforms);
}
for (int i = firstCoverageProcessorIdx; i < builder.numCoverageFragmentProcessors();
const GrFragmentProcessor* fp = builder.getCoverageFragmentProcessor(i);
pipeline->fFragmentProcessors[currFPIdx].reset(fp);
usesLocalCoords = usesLocalCoords || fp->usesLocalCoords();
- fp->gatherCoordTransforms(&pipeline->fCoordTransforms);
}
// Setup info we need to pass to GrPrimitiveProcessors that are used with this GrPipeline.
bool readsFragPosition() const { return fReadsFragPosition; }
- const SkTArray<const GrCoordTransform*, true>& coordTransforms() const {
- return fCoordTransforms;
- }
-
private:
GrPipeline() { /** Initialized in factory function*/ }
// This value is also the index in fFragmentProcessors where coverage processors begin.
int fNumColorProcessors;
- SkSTArray<8, const GrCoordTransform*, true> fCoordTransforms;
- GrProgramDesc fDesc;
-
typedef SkRefCnt INHERITED;
};