aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-04-08 07:38:53 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-08 12:17:11 +0000
commit48d1b4c2b2c0f41a10376ed657cde043d8f11979 (patch)
tree5d970e48864be1d57809f14e136f5da9b388eb61 /tests
parent5dac9b3b5bf7e9c06c207cb92e257535c7d9ec95 (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.cpp18
-rw-r--r--tests/GrPorterDuffTest.cpp20
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) {