Index: tests/GrPorterDuffTest.cpp |
diff --git a/tests/GrPorterDuffTest.cpp b/tests/GrPorterDuffTest.cpp |
index c56af1df0559a5bd70f0dcd4394057f5c02389d1..5369e821a6ce345db4620a57cd6b3d25a5afa78c 100644 |
--- a/tests/GrPorterDuffTest.cpp |
+++ b/tests/GrPorterDuffTest.cpp |
@@ -74,11 +74,13 @@ public: |
struct XPInfo { |
XPInfo(skiatest::Reporter* reporter, SkXfermode::Mode xfermode, const GrCaps& caps, |
const GrProcOptInfo& colorPOI, const GrProcOptInfo& covPOI) { |
+ GrPipelineBuilder builder; |
SkAutoTUnref<GrXPFactory> xpf(GrPorterDuffXPFactory::Create(xfermode)); |
- SkAutoTUnref<GrXferProcessor> xp(xpf->createXferProcessor(colorPOI, covPOI, 0, caps)); |
- TEST_ASSERT(!xpf->willNeedDstTexture(caps, colorPOI, covPOI)); |
+ SkAutoTUnref<GrXferProcessor> xp( |
+ xpf->createXferProcessor(builder, colorPOI, covPOI, NULL, caps)); |
+ TEST_ASSERT(!xpf->willNeedDstTexture(caps, builder, colorPOI, covPOI)); |
xpf->getInvariantBlendedColor(colorPOI, &fBlendedColor); |
- fOptFlags = xp->getOptimizations(colorPOI, covPOI, false, 0, caps); |
+ fOptFlags = xp->getOptimizations(colorPOI, covPOI, false, NULL, caps); |
GetXPOutputTypes(xp, &fPrimaryOutputType, &fSecondaryOutputType); |
xp->getBlendInfo(&fBlendInfo); |
TEST_ASSERT(!xp->willReadDstColor()); |
@@ -914,6 +916,8 @@ static void test_lcd_coverage(skiatest::Reporter* reporter, const GrCaps& caps) |
} testLCDCoverageBatch; |
+ GrPipelineBuilder builder; |
+ |
GrProcOptInfo colorPOI, covPOI; |
colorPOI.calcColorWithBatch(&testLCDCoverageBatch, NULL, 0); |
covPOI.calcCoverageWithBatch(&testLCDCoverageBatch, NULL, 0); |
@@ -922,9 +926,10 @@ static void test_lcd_coverage(skiatest::Reporter* reporter, const GrCaps& caps) |
SkASSERT(covPOI.isFourChannelOutput()); |
SkAutoTUnref<GrXPFactory> xpf(GrPorterDuffXPFactory::Create(SkXfermode::kSrcOver_Mode)); |
- TEST_ASSERT(!xpf->willNeedDstTexture(caps, colorPOI, covPOI)); |
+ TEST_ASSERT(!xpf->willNeedDstTexture(caps, builder, colorPOI, covPOI)); |
- SkAutoTUnref<GrXferProcessor> xp(xpf->createXferProcessor(colorPOI, covPOI, 0, caps)); |
+ SkAutoTUnref<GrXferProcessor> xp( |
+ xpf->createXferProcessor(builder, colorPOI, covPOI, NULL, caps)); |
if (!xp) { |
ERRORF(reporter, "Failed to create an XP with LCD coverage."); |
return; |
@@ -993,13 +998,12 @@ static void test_no_dual_source_blending(skiatest::Reporter* reporter) { |
} |
for (int m = 0; m <= SkXfermode::kLastCoeffMode; m++) { |
SkXfermode::Mode xfermode = static_cast<SkXfermode::Mode>(m); |
+ GrPipelineBuilder builder; |
SkAutoTUnref<GrXPFactory> xpf(GrPorterDuffXPFactory::Create(xfermode)); |
- SkAutoTUnref<GrXferProcessor> xp; |
- if (xpf->willNeedDstTexture(caps, colorPOI, covPOI)) { |
- xp.reset(xpf->createXferProcessor(colorPOI, covPOI, &fakeDstTexture, caps)); |
- } else { |
- xp.reset(xpf->createXferProcessor(colorPOI, covPOI, NULL, caps)); |
- } |
+ GrXferProcessor::DstTexture* dstTexture = |
+ xpf->willNeedDstTexture(caps, builder, colorPOI, covPOI) ? &fakeDstTexture : 0; |
+ SkAutoTUnref<GrXferProcessor> xp( |
+ xpf->createXferProcessor(builder, colorPOI, covPOI, dstTexture, caps)); |
if (!xp) { |
ERRORF(reporter, "Failed to create an XP without dual source blending."); |
return; |