| Index: tests/GLProgramsTest.cpp
|
| diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
|
| index ad23bfbb74c91859236daa58214171c829815a61..ce86c9bf38a7ff1807f07f18cab681edaa3fa521 100644
|
| --- a/tests/GLProgramsTest.cpp
|
| +++ b/tests/GLProgramsTest.cpp
|
| @@ -94,49 +94,6 @@
|
| const GrFragmentProcessor* BigKeyProcessor::TestCreate(GrProcessorTestData*) {
|
| return BigKeyProcessor::Create();
|
| }
|
| -
|
| -//////////////////////////////////////////////////////////////////////////////
|
| -
|
| -class BlockInputFragmentProcessor : public GrFragmentProcessor {
|
| -public:
|
| - static GrFragmentProcessor* Create(const GrFragmentProcessor* fp) {
|
| - return new BlockInputFragmentProcessor(fp);
|
| - }
|
| -
|
| - const char* name() const override { return "Block Input"; }
|
| -
|
| - GrGLFragmentProcessor* onCreateGLInstance() const override { return new GLFP; }
|
| -
|
| -private:
|
| - class GLFP : public GrGLFragmentProcessor {
|
| - public:
|
| - void emitCode(EmitArgs& args) override {
|
| - this->emitChild(0, nullptr, args.fOutputColor, args);
|
| - }
|
| -
|
| - private:
|
| - typedef GrGLFragmentProcessor INHERITED;
|
| - };
|
| -
|
| - BlockInputFragmentProcessor(const GrFragmentProcessor* child) {
|
| - this->initClassID<BlockInputFragmentProcessor>();
|
| - this->registerChildProcessor(child);
|
| - }
|
| -
|
| - void onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override {}
|
| -
|
| - bool onIsEqual(const GrFragmentProcessor&) const override { return true; }
|
| -
|
| - void onComputeInvariantOutput(GrInvariantOutput* inout) const override {
|
| - inout->setToOther(kRGBA_GrColorComponentFlags, GrColor_WHITE,
|
| - GrInvariantOutput::kWillNot_ReadInput);
|
| - this->childProcessor(0).computeInvariantOutput(inout);
|
| - }
|
| -
|
| - typedef GrFragmentProcessor INHERITED;
|
| -};
|
| -
|
| -//////////////////////////////////////////////////////////////////////////////
|
|
|
| /*
|
| * Begin test code
|
| @@ -175,7 +132,7 @@
|
| }
|
|
|
| static void set_random_xpf(GrPipelineBuilder* pipelineBuilder, GrProcessorTestData* d) {
|
| - SkAutoTUnref<const GrXPFactory> xpf(GrProcessorTestFactory<GrXPFactory>::Create(d));
|
| + SkAutoTUnref<const GrXPFactory> xpf(GrProcessorTestFactory<GrXPFactory>::CreateStage(d));
|
| SkASSERT(xpf);
|
| pipelineBuilder->setXPFactory(xpf.get());
|
| }
|
| @@ -194,7 +151,7 @@
|
| if (terminate) {
|
| const GrFragmentProcessor* fp;
|
| while (true) {
|
| - fp = GrProcessorTestFactory<GrFragmentProcessor>::Create(d);
|
| + fp = GrProcessorTestFactory<GrFragmentProcessor>::CreateStage(d);
|
| SkASSERT(fp);
|
| if (0 == fp->numChildProcessors()) {
|
| break;
|
| @@ -244,7 +201,7 @@
|
|
|
| for (int s = 0; s < numProcs;) {
|
| SkAutoTUnref<const GrFragmentProcessor> fp(
|
| - GrProcessorTestFactory<GrFragmentProcessor>::Create(d));
|
| + GrProcessorTestFactory<GrFragmentProcessor>::CreateStage(d));
|
| SkASSERT(fp);
|
|
|
| // finally add the stage to the correct pipeline in the drawstate
|
| @@ -352,42 +309,9 @@
|
|
|
| this->drawBatch(pipelineBuilder, batch);
|
| }
|
| +
|
| // Flush everything, test passes if flush is successful(ie, no asserts are hit, no crashes)
|
| this->flush();
|
| -
|
| - // Validate that GrFPs work correctly without an input.
|
| - GrSurfaceDesc rtDesc;
|
| - rtDesc.fWidth = kRenderTargetWidth;
|
| - rtDesc.fHeight = kRenderTargetHeight;
|
| - rtDesc.fFlags = kRenderTarget_GrSurfaceFlag;
|
| - rtDesc.fConfig = kRGBA_8888_GrPixelConfig;
|
| - SkAutoTUnref<GrRenderTarget> rt(
|
| - fContext->textureProvider()->createTexture(rtDesc, false)->asRenderTarget());
|
| - int fpFactoryCnt = GrProcessorTestFactory<GrFragmentProcessor>::Count();
|
| - for (int i = 0; i < fpFactoryCnt; ++i) {
|
| - // Since FP factories internally randomize, call each 10 times.
|
| - for (int j = 0; j < 10; ++j) {
|
| - SkAutoTUnref<GrDrawBatch> batch(GrRandomDrawBatch(&random, context));
|
| - SkASSERT(batch);
|
| - GrProcessorDataManager procDataManager;
|
| - GrProcessorTestData ptd(&random, context, &procDataManager, this->caps(),
|
| - dummyTextures);
|
| - GrPipelineBuilder builder;
|
| - builder.setXPFactory(GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref();
|
| - builder.setRenderTarget(rt);
|
| - builder.setClip(clip);
|
| -
|
| - SkAutoTUnref<const GrFragmentProcessor> fp(
|
| - GrProcessorTestFactory<GrFragmentProcessor>::CreateIdx(i, &ptd));
|
| - SkAutoTUnref<const GrFragmentProcessor> blockFP(
|
| - BlockInputFragmentProcessor::Create(fp));
|
| - builder.addColorFragmentProcessor(blockFP);
|
| -
|
| - this->drawBatch(builder, batch);
|
| - this->flush();
|
| - }
|
| - }
|
| -
|
| return true;
|
| }
|
|
|
|
|