aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar bsalomon <bsalomon@google.com>2015-09-14 12:01:42 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-09-14 12:01:42 -0700
commit59ce45fe7984b3ee1bdbd107805a3146a0064fab (patch)
treefa6b9a0da4910a3dc2dd91274daf8b10b778ec74 /tests
parent72c58e7052af2a0855412ce4b249f977069db751 (diff)
Revert of Test that GrFragmentProcessors work without input colors. (patchset #2 id:20001 of https://codereview.chromium.org/1341853002/ )
Reason for revert: Need to fix up more processor subclasses. Original issue's description: > Test that GrFragmentProcessors work without input colors. > > Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751 TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1338403003
Diffstat (limited to 'tests')
-rw-r--r--tests/GLProgramsTest.cpp84
1 files changed, 4 insertions, 80 deletions
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
index ad23bfbb74..ce86c9bf38 100644
--- a/tests/GLProgramsTest.cpp
+++ b/tests/GLProgramsTest.cpp
@@ -95,49 +95,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 GrRenderTarget* random_render_target(GrTextureProvider* textureProvider,
}
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 @@ static const GrFragmentProcessor* create_random_proc_tree(GrProcessorTestData* d
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 @@ static void set_random_color_coverage_stages(GrPipelineBuilder* pipelineBuilder,
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 @@ bool GrDrawTarget::programUnitTest(GrContext* context, int maxStages) {
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;
}