| Index: include/gpu/GrFragmentProcessor.h
|
| diff --git a/include/gpu/GrFragmentProcessor.h b/include/gpu/GrFragmentProcessor.h
|
| index e4d9151ccb82bc51a3a2b67297edac2c71bbdd68..097925bb2a4b3d2af0905893f4073843bb8602db 100644
|
| --- a/include/gpu/GrFragmentProcessor.h
|
| +++ b/include/gpu/GrFragmentProcessor.h
|
| @@ -9,6 +9,7 @@
|
| #define GrFragmentProcessor_DEFINED
|
|
|
| #include "GrProcessor.h"
|
| +#include "GrStagedProcessor.h"
|
|
|
| class GrCoordTransform;
|
| class GrGLSLCaps;
|
| @@ -28,14 +29,12 @@
|
| , fNumTexturesExclChildren(0)
|
| , fNumTransformsExclChildren(0) {}
|
|
|
| - ~GrFragmentProcessor() override;
|
| -
|
| GrGLFragmentProcessor* createGLInstance() const;
|
|
|
| void getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
|
| this->onGetGLProcessorKey(caps, b);
|
| for (int i = 0; i < fChildProcessors.count(); ++i) {
|
| - fChildProcessors[i]->getGLProcessorKey(caps, b);
|
| + fChildProcessors[i].processor()->getGLProcessorKey(caps, b);
|
| }
|
| }
|
|
|
| @@ -61,7 +60,9 @@
|
|
|
| int numChildProcessors() const { return fChildProcessors.count(); }
|
|
|
| - const GrFragmentProcessor& childProcessor(int index) const { return *fChildProcessors[index]; }
|
| + const GrFragmentProcessor& childProcessor(int index) const {
|
| + return *fChildProcessors[index].processor();
|
| + }
|
|
|
| /** Do any of the coordtransforms for this processor require local coords? */
|
| bool usesLocalCoords() const { return fUsesLocalCoords; }
|
| @@ -175,9 +176,7 @@
|
| int fNumTexturesExclChildren;
|
| int fNumTransformsExclChildren;
|
|
|
| - // TODO: These must convert their processors to pending-execution refs when the parent is
|
| - // converted (do this automatically in GrProgramElement?).
|
| - SkTArray<const GrFragmentProcessor*, true> fChildProcessors;
|
| + SkTArray<GrFragmentStage, false> fChildProcessors;
|
|
|
| typedef GrProcessor INHERITED;
|
| };
|
|
|