diff options
author | Brian Salomon <bsalomon@google.com> | 2017-04-08 07:38:53 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-08 12:17:11 +0000 |
commit | 48d1b4c2b2c0f41a10376ed657cde043d8f11979 (patch) | |
tree | 5d970e48864be1d57809f14e136f5da9b388eb61 /tests | |
parent | 5dac9b3b5bf7e9c06c207cb92e257535c7d9ec95 (diff) |
Revert "Revert "Create GrXferProcessor while doing GrProcessorSet analysis.""
This reverts commit 5dac9b3b5bf7e9c06c207cb92e257535c7d9ec95.
Bug: skia:
Change-Id: I3db2ec6776eb10c1f863b3992a2c8048c54b130f
Reviewed-on: https://skia-review.googlesource.com/12620
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/GpuSampleLocationsTest.cpp | 18 | ||||
-rw-r--r-- | tests/GrPorterDuffTest.cpp | 20 |
2 files changed, 20 insertions, 18 deletions
diff --git a/tests/GpuSampleLocationsTest.cpp b/tests/GpuSampleLocationsTest.cpp index 75fa6fcf65..26d7e70148 100644 --- a/tests/GpuSampleLocationsTest.cpp +++ b/tests/GpuSampleLocationsTest.cpp @@ -91,17 +91,8 @@ public: virtual ~TestSampleLocationsInterface() {} }; -static void construct_dummy_pipeline(GrRenderTargetContext* dc, GrPipeline* pipeline) { - GrPipelineBuilder dummyBuilder(GrPaint(), GrAAType::kNone); - GrScissorState dummyScissor; - GrWindowRectsState dummyWindows; - - GrPipeline::InitArgs args; - dummyBuilder.getPipelineInitArgs(&args); - args.fRenderTarget = dc->accessRenderTarget(); - args.fCaps = dc->caps(); - args.fDstTexture = GrXferProcessor::DstTexture(); - pipeline->init(args); +static sk_sp<GrPipeline> construct_dummy_pipeline(GrRenderTargetContext* dc) { + return sk_sp<GrPipeline>(new GrPipeline(dc->accessRenderTarget(), SkBlendMode::kSrcOver)); } void assert_equal(skiatest::Reporter* reporter, const SamplePattern& pattern, @@ -146,11 +137,10 @@ void test_sampleLocations(skiatest::Reporter* reporter, TestSampleLocationsInter for (int i = 0; i < numTestPatterns; ++i) { testInterface->overrideSamplePattern(kTestPatterns[i]); for (GrRenderTargetContext* dc : {bottomUps[i].get(), topDowns[i].get()}) { - GrPipeline dummyPipeline; - construct_dummy_pipeline(dc, &dummyPipeline); + sk_sp<GrPipeline> dummyPipeline = construct_dummy_pipeline(dc); GrRenderTarget* rt = dc->accessRenderTarget(); assert_equal(reporter, kTestPatterns[i], - rt->renderTargetPriv().getMultisampleSpecs(dummyPipeline), + rt->renderTargetPriv().getMultisampleSpecs(*dummyPipeline), kBottomLeft_GrSurfaceOrigin == rt->origin()); } } diff --git a/tests/GrPorterDuffTest.cpp b/tests/GrPorterDuffTest.cpp index f2bd1e729d..4066d28503 100644 --- a/tests/GrPorterDuffTest.cpp +++ b/tests/GrPorterDuffTest.cpp @@ -55,16 +55,30 @@ enum { kISCModulate_OutputType }; +static GrProcessorSet::Analysis do_analysis(const GrXPFactory* xpf, + const GrProcessorAnalysisColor& colorInput, + GrProcessorAnalysisCoverage coverageInput, + const GrCaps& caps) { + GrPaint paint; + paint.setXPFactory(xpf); + GrProcessorSet procs(std::move(paint)); + GrColor overrideColor; + GrProcessorSet::Analysis analysis = + procs.finalize(colorInput, coverageInput, nullptr, false, caps, &overrideColor); + return analysis; +} + class GrPorterDuffTest { public: struct XPInfo { XPInfo(skiatest::Reporter* reporter, SkBlendMode xfermode, const GrCaps& caps, GrProcessorAnalysisColor inputColor, GrProcessorAnalysisCoverage inputCoverage) { const GrXPFactory* xpf = GrPorterDuffXPFactory::Get(xfermode); - GrProcessorSet::Analysis analysis(inputColor, inputCoverage, xpf, caps); + + GrProcessorSet::Analysis analysis = do_analysis(xpf, inputColor, inputCoverage, caps); fCompatibleWithCoverageAsAlpha = analysis.isCompatibleWithCoverageAsAlpha(); fCanCombineOverlappedStencilAndCover = analysis.canCombineOverlappedStencilAndCover(); - fIgnoresInputColor = analysis.isInputColorIgnored(); + fIgnoresInputColor = analysis.inputColorIsIgnored(); sk_sp<GrXferProcessor> xp( GrXPFactory::MakeXferProcessor(xpf, inputColor, inputCoverage, false, caps)); TEST_ASSERT(!analysis.requiresDstTexture()); @@ -1040,8 +1054,6 @@ DEF_GPUTEST(PorterDuffNoDualSourceBlending, reporter, /*factory*/) { for (int m = 0; m <= (int)SkBlendMode::kLastCoeffMode; m++) { SkBlendMode xfermode = static_cast<SkBlendMode>(m); const GrXPFactory* xpf = GrPorterDuffXPFactory::Get(xfermode); - GrProcessorSet::Analysis analysis; - analysis = GrProcessorSet::Analysis(colorInput, coverageType, xpf, caps); sk_sp<GrXferProcessor> xp( GrXPFactory::MakeXferProcessor(xpf, colorInput, coverageType, false, caps)); if (!xp) { |