diff options
Diffstat (limited to 'src/effects/gradients')
-rw-r--r-- | src/effects/gradients/SkLinearGradient.cpp | 42 | ||||
-rw-r--r-- | src/effects/gradients/SkLinearGradient.h | 10 | ||||
-rw-r--r-- | src/effects/gradients/SkRadialGradient.cpp | 44 | ||||
-rw-r--r-- | src/effects/gradients/SkRadialGradient.h | 10 | ||||
-rw-r--r-- | src/effects/gradients/SkSweepGradient.cpp | 45 | ||||
-rw-r--r-- | src/effects/gradients/SkSweepGradient.h | 10 | ||||
-rw-r--r-- | src/effects/gradients/SkTwoPointConicalGradient.cpp | 35 | ||||
-rw-r--r-- | src/effects/gradients/SkTwoPointConicalGradient.h | 10 | ||||
-rw-r--r-- | src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp | 61 |
9 files changed, 112 insertions, 155 deletions
diff --git a/src/effects/gradients/SkLinearGradient.cpp b/src/effects/gradients/SkLinearGradient.cpp index 86142fda73..e36a569562 100644 --- a/src/effects/gradients/SkLinearGradient.cpp +++ b/src/effects/gradients/SkLinearGradient.cpp @@ -439,6 +439,7 @@ void SkLinearGradient::LinearGradientContext::shadeSpan16(int x, int y, #if SK_SUPPORT_GPU +#include "effects/GrExtractAlphaFragmentProcessor.h" #include "gl/builders/GrGLProgramBuilder.h" #include "SkGr.h" @@ -507,7 +508,7 @@ private: GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrLinearGradient); -GrFragmentProcessor* GrLinearGradient::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* GrLinearGradient::TestCreate(GrProcessorTestData* d) { SkPoint points[] = {{d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}, {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}}; @@ -519,12 +520,9 @@ GrFragmentProcessor* GrLinearGradient::TestCreate(GrProcessorTestData* d) { SkAutoTUnref<SkShader> shader(SkGradientShader::CreateLinear(points, colors, stops, colorCount, tm)); - SkPaint paint; - GrColor paintColor; - GrFragmentProcessor* fp; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } @@ -541,40 +539,32 @@ void GrGLLinearGradient::emitCode(EmitArgs& args) { ///////////////////////////////////////////////////////////////////// -bool SkLinearGradient::asFragmentProcessor(GrContext* context, const SkPaint& paint, - const SkMatrix& viewm, const SkMatrix* localMatrix, - GrColor* paintColor, - GrProcessorDataManager* procDataManager, - GrFragmentProcessor** fp) const { +const GrFragmentProcessor* SkLinearGradient::asFragmentProcessor( + GrContext* context, + const SkMatrix& viewm, + const SkMatrix* localMatrix, + SkFilterQuality, + GrProcessorDataManager* procDataManager) const { SkASSERT(context); SkMatrix matrix; if (!this->getLocalMatrix().invert(&matrix)) { - return false; + return nullptr; } if (localMatrix) { SkMatrix inv; if (!localMatrix->invert(&inv)) { - return false; + return nullptr; } matrix.postConcat(inv); } matrix.postConcat(fPtsToUnit); - *paintColor = SkColor2GrColorJustAlpha(paint.getColor()); - *fp = GrLinearGradient::Create(context, procDataManager, *this, matrix, fTileMode); - - return true; + SkAutoTUnref<const GrFragmentProcessor> inner( + GrLinearGradient::Create(context, procDataManager, *this, matrix, fTileMode)); + return GrExtractAlphaFragmentProcessor::Create(inner); } -#else - -bool SkLinearGradient::asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix&, - const SkMatrix*, GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const { - SkDEBUGFAIL("Should not call in GPU-less build"); - return false; -} #endif diff --git a/src/effects/gradients/SkLinearGradient.h b/src/effects/gradients/SkLinearGradient.h index eddb35512f..af1088b369 100644 --- a/src/effects/gradients/SkLinearGradient.h +++ b/src/effects/gradients/SkLinearGradient.h @@ -29,9 +29,13 @@ public: }; GradientType asAGradient(GradientInfo* info) const override; - bool asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix& viewM, - const SkMatrix*, GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const override; +#if SK_SUPPORT_GPU + const GrFragmentProcessor* asFragmentProcessor(GrContext*, + const SkMatrix& viewM, + const SkMatrix*, + SkFilterQuality, + GrProcessorDataManager*) const override; +#endif SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLinearGradient) diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp index c7e7308251..13b45101cf 100644 --- a/src/effects/gradients/SkRadialGradient.cpp +++ b/src/effects/gradients/SkRadialGradient.cpp @@ -415,6 +415,7 @@ void SkRadialGradient::RadialGradientContext::shadeSpan(int x, int y, #if SK_SUPPORT_GPU #include "SkGr.h" +#include "effects/GrExtractAlphaFragmentProcessor.h" #include "gl/builders/GrGLProgramBuilder.h" class GrGLRadialGradient : public GrGLGradientEffect { @@ -479,7 +480,7 @@ private: GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrRadialGradient); -GrFragmentProcessor* GrRadialGradient::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* GrRadialGradient::TestCreate(GrProcessorTestData* d) { SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkScalar radius = d->fRandom->nextUScalar1(); @@ -491,12 +492,9 @@ GrFragmentProcessor* GrRadialGradient::TestCreate(GrProcessorTestData* d) { SkAutoTUnref<SkShader> shader(SkGradientShader::CreateRadial(center, radius, colors, stops, colorCount, tm)); - SkPaint paint; - GrColor paintColor; - GrFragmentProcessor* fp; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } @@ -514,39 +512,29 @@ void GrGLRadialGradient::emitCode(EmitArgs& args) { ///////////////////////////////////////////////////////////////////// -bool SkRadialGradient::asFragmentProcessor(GrContext* context, const SkPaint& paint, - const SkMatrix& viewM, - const SkMatrix* localMatrix, GrColor* paintColor, - GrProcessorDataManager* procDataManager, - GrFragmentProcessor** fp) const { +const GrFragmentProcessor* SkRadialGradient::asFragmentProcessor( + GrContext* context, + const SkMatrix& viewM, + const SkMatrix* localMatrix, + SkFilterQuality, + GrProcessorDataManager* procDataManager) const { SkASSERT(context); SkMatrix matrix; if (!this->getLocalMatrix().invert(&matrix)) { - return false; + return nullptr; } if (localMatrix) { SkMatrix inv; if (!localMatrix->invert(&inv)) { - return false; + return nullptr; } matrix.postConcat(inv); } matrix.postConcat(fPtsToUnit); - - *paintColor = SkColor2GrColorJustAlpha(paint.getColor()); - *fp = GrRadialGradient::Create(context, procDataManager, *this, matrix, fTileMode); - - return true; -} - -#else - -bool SkRadialGradient::asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix&, - const SkMatrix*, GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const { - SkDEBUGFAIL("Should not call in GPU-less build"); - return false; + SkAutoTUnref<const GrFragmentProcessor> inner( + GrRadialGradient::Create(context, procDataManager, *this, matrix, fTileMode)); + return GrExtractAlphaFragmentProcessor::Create(inner); } #endif diff --git a/src/effects/gradients/SkRadialGradient.h b/src/effects/gradients/SkRadialGradient.h index d0f63ac54d..2d4052be14 100644 --- a/src/effects/gradients/SkRadialGradient.h +++ b/src/effects/gradients/SkRadialGradient.h @@ -29,9 +29,13 @@ public: }; GradientType asAGradient(GradientInfo* info) const override; - bool asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix& viewM, - const SkMatrix*, GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const override; +#if SK_SUPPORT_GPU + const GrFragmentProcessor* asFragmentProcessor(GrContext*, + const SkMatrix& viewM, + const SkMatrix*, + SkFilterQuality, + GrProcessorDataManager*) const override; +#endif SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkRadialGradient) diff --git a/src/effects/gradients/SkSweepGradient.cpp b/src/effects/gradients/SkSweepGradient.cpp index c6699e87e0..40b0f8288b 100644 --- a/src/effects/gradients/SkSweepGradient.cpp +++ b/src/effects/gradients/SkSweepGradient.cpp @@ -167,6 +167,7 @@ void SkSweepGradient::SweepGradientContext::shadeSpan16(int x, int y, uint16_t* #if SK_SUPPORT_GPU #include "SkGr.h" +#include "effects/GrExtractAlphaFragmentProcessor.h" #include "gl/builders/GrGLProgramBuilder.h" class GrGLSweepGradient : public GrGLGradientEffect { @@ -226,7 +227,7 @@ private: GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSweepGradient); -GrFragmentProcessor* GrSweepGradient::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* GrSweepGradient::TestCreate(GrProcessorTestData* d) { SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkColor colors[kMaxRandomGradientColors]; @@ -236,12 +237,11 @@ GrFragmentProcessor* GrSweepGradient::TestCreate(GrProcessorTestData* d) { int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tmIgnored); SkAutoTUnref<SkShader> shader(SkGradientShader::CreateSweep(center.fX, center.fY, colors, stops, colorCount)); - SkPaint paint; - GrFragmentProcessor* fp; - GrColor paintColor; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), + NULL, kNone_SkFilterQuality, + d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } @@ -270,38 +270,29 @@ void GrGLSweepGradient::emitCode(EmitArgs& args) { ///////////////////////////////////////////////////////////////////// -bool SkSweepGradient::asFragmentProcessor(GrContext* context, const SkPaint& paint, - const SkMatrix& viewM, - const SkMatrix* localMatrix, GrColor* paintColor, - GrProcessorDataManager* procDataManager, - GrFragmentProcessor** effect) const { +const GrFragmentProcessor* SkSweepGradient::asFragmentProcessor( + GrContext* context, + const SkMatrix& viewM, + const SkMatrix* localMatrix, + SkFilterQuality, + GrProcessorDataManager* procDataManager) const { SkMatrix matrix; if (!this->getLocalMatrix().invert(&matrix)) { - return false; + return nullptr; } if (localMatrix) { SkMatrix inv; if (!localMatrix->invert(&inv)) { - return false; + return nullptr; } matrix.postConcat(inv); } matrix.postConcat(fPtsToUnit); - *effect = GrSweepGradient::Create(context, procDataManager, *this, matrix); - *paintColor = SkColor2GrColorJustAlpha(paint.getColor()); - - return true; -} - -#else - -bool SkSweepGradient::asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix&, - const SkMatrix*, GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const { - SkDEBUGFAIL("Should not call in GPU-less build"); - return false; + SkAutoTUnref<const GrFragmentProcessor> inner( + GrSweepGradient::Create(context, procDataManager, *this, matrix)); + return GrExtractAlphaFragmentProcessor::Create(inner); } #endif diff --git a/src/effects/gradients/SkSweepGradient.h b/src/effects/gradients/SkSweepGradient.h index bc465bdc44..5b9d24f960 100644 --- a/src/effects/gradients/SkSweepGradient.h +++ b/src/effects/gradients/SkSweepGradient.h @@ -30,9 +30,13 @@ public: GradientType asAGradient(GradientInfo* info) const override; - bool asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix& viewM, - const SkMatrix*, GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const override; +#if SK_SUPPORT_GPU + const GrFragmentProcessor* asFragmentProcessor(GrContext*, + const SkMatrix& viewM, + const SkMatrix*, + SkFilterQuality, + GrProcessorDataManager*) const override; +#endif SK_TO_STRING_OVERRIDE() SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSweepGradient) diff --git a/src/effects/gradients/SkTwoPointConicalGradient.cpp b/src/effects/gradients/SkTwoPointConicalGradient.cpp index 41b5c1bbae..daec1e6388 100644 --- a/src/effects/gradients/SkTwoPointConicalGradient.cpp +++ b/src/effects/gradients/SkTwoPointConicalGradient.cpp @@ -359,31 +359,20 @@ void SkTwoPointConicalGradient::flatten(SkWriteBuffer& buffer) const { #if SK_SUPPORT_GPU #include "SkGr.h" - -bool SkTwoPointConicalGradient::asFragmentProcessor(GrContext* context, - const SkPaint& paint, - const SkMatrix& viewM, - const SkMatrix* localMatrix, - GrColor* paintColor, - GrProcessorDataManager* procDataManager, - GrFragmentProcessor** fp) const { +#include "effects/GrExtractAlphaFragmentProcessor.h" + +const GrFragmentProcessor* SkTwoPointConicalGradient::asFragmentProcessor( + GrContext* context, + const SkMatrix& viewM, + const SkMatrix* localMatrix, + SkFilterQuality, + GrProcessorDataManager* procDataManager) const { SkASSERT(context); SkASSERT(fPtsToUnit.isIdentity()); - - *fp = Gr2PtConicalGradientEffect::Create(context, procDataManager, *this, fTileMode, - localMatrix); - *paintColor = SkColor2GrColorJustAlpha(paint.getColor()); - return true; -} - -#else - -bool SkTwoPointConicalGradient::asFragmentProcessor(GrContext*, const SkPaint&, - const SkMatrix&, const SkMatrix*, - GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const { - SkDEBUGFAIL("Should not call in GPU-less build"); - return false; + SkAutoTUnref<const GrFragmentProcessor> inner( + Gr2PtConicalGradientEffect::Create(context, procDataManager, *this, fTileMode, + localMatrix)); + return GrExtractAlphaFragmentProcessor::Create(inner); } #endif diff --git a/src/effects/gradients/SkTwoPointConicalGradient.h b/src/effects/gradients/SkTwoPointConicalGradient.h index 8bba9e1b7f..7801945d0c 100644 --- a/src/effects/gradients/SkTwoPointConicalGradient.h +++ b/src/effects/gradients/SkTwoPointConicalGradient.h @@ -59,9 +59,13 @@ public: }; SkShader::GradientType asAGradient(GradientInfo* info) const override; - bool asFragmentProcessor(GrContext*, const SkPaint&, const SkMatrix&, const SkMatrix*, - GrColor*, GrProcessorDataManager*, - GrFragmentProcessor**) const override; +#if SK_SUPPORT_GPU + const GrFragmentProcessor* asFragmentProcessor(GrContext*, + const SkMatrix&, + const SkMatrix*, + SkFilterQuality, + GrProcessorDataManager*) const override; +#endif bool isOpaque() const override; SkScalar getCenterX1() const { return SkPoint::Distance(fCenter1, fCenter2); } diff --git a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp index 30f0fdf6a1..c88e75692c 100644 --- a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp +++ b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp @@ -183,7 +183,7 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect); /* * All Two point conical gradient test create functions may occasionally create edge case shaders */ -GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData* d) { SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkScalar radius1 = d->fRandom->nextUScalar1(); SkPoint center2; @@ -209,12 +209,9 @@ GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData* d) { center2, radius2, colors, stops, colorCount, tm)); - SkPaint paint; - GrFragmentProcessor* fp; - GrColor paintColor; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } @@ -465,7 +462,7 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect); /* * All Two point conical gradient test create functions may occasionally create edge case shaders */ -GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkScalar radius1 = 0.f; SkPoint center2; @@ -488,15 +485,10 @@ GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorTestDat center2, radius2, colors, stops, colorCount, tm)); - SkPaint paint; - GrFragmentProcessor* effect; - GrColor paintColor; - GrPaint grPaint; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, - &effect)); - return effect; + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDataManager); + GrAlwaysAssert(fp); + return fp; } GLFocalOutside2PtConicalEffect::GLFocalOutside2PtConicalEffect(const GrProcessor& processor) @@ -676,7 +668,7 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect); /* * All Two point conical gradient test create functions may occasionally create edge case shaders */ -GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkScalar radius1 = 0.f; SkPoint center2; @@ -701,12 +693,9 @@ GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTestData center2, radius2, colors, stops, colorCount, tm)); - SkPaint paint; - GrColor paintColor; - GrFragmentProcessor* fp; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } @@ -923,8 +912,7 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect); /* * All Two point conical gradient test create functions may occasionally create edge case shaders */ -GrFragmentProcessor* -CircleInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius1 != 0 SkPoint center2; @@ -948,12 +936,9 @@ CircleInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { center2, radius2, colors, stops, colorCount, tm)); - SkPaint paint; - GrColor paintColor; - GrFragmentProcessor* fp; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, + GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } @@ -1154,7 +1139,7 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect); /* * All Two point conical gradient test create functions may occasionally create edge case shaders */ -GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { +const GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessorTestData* d) { SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius1 != 0 SkPoint center2; @@ -1179,12 +1164,10 @@ GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessorTestDa center2, radius2, colors, stops, colorCount, tm)); - SkPaint paint; - GrColor paintColor; - GrFragmentProcessor* fp; - SkAssertResult(shader->asFragmentProcessor(d->fContext, paint, - GrTest::TestMatrix(d->fRandom), nullptr, - &paintColor, d->fProcDataManager, &fp)); + const GrFragmentProcessor* fp = shader->asFragmentProcessor( + d->fContext,GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, + d->fProcDataManager); + GrAlwaysAssert(fp); return fp; } |