diff options
-rw-r--r-- | include/gpu/GrProcessorUnitTest.h | 6 | ||||
-rw-r--r-- | src/gpu/effects/GrCoverageSetOpXP.cpp | 2 | ||||
-rw-r--r-- | tests/GLProgramsTest.cpp | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/include/gpu/GrProcessorUnitTest.h b/include/gpu/GrProcessorUnitTest.h index 8f4e84e161..bb16d69fd5 100644 --- a/include/gpu/GrProcessorUnitTest.h +++ b/include/gpu/GrProcessorUnitTest.h @@ -15,6 +15,7 @@ class SkMatrix; class GrCaps; class GrContext; +class GrRenderTarget; struct GrProcessorTestData; namespace GrProcessorUnitTest { @@ -42,16 +43,19 @@ struct GrProcessorTestData { GrProcessorTestData(SkRandom* random, GrContext* context, const GrCaps* caps, + const GrRenderTarget* rt, GrTexture* textures[2]) : fRandom(random) , fContext(context) - , fCaps(caps) { + , fCaps(caps) + , fRenderTarget(rt) { fTextures[0] = textures[0]; fTextures[1] = textures[1]; } SkRandom* fRandom; GrContext* fContext; const GrCaps* fCaps; + const GrRenderTarget* fRenderTarget; GrTexture* fTextures[2]; }; diff --git a/src/gpu/effects/GrCoverageSetOpXP.cpp b/src/gpu/effects/GrCoverageSetOpXP.cpp index 5c876d5cff..126a639427 100644 --- a/src/gpu/effects/GrCoverageSetOpXP.cpp +++ b/src/gpu/effects/GrCoverageSetOpXP.cpp @@ -247,7 +247,7 @@ GR_DEFINE_XP_FACTORY_TEST(GrCoverageSetOpXPFactory); const GrXPFactory* GrCoverageSetOpXPFactory::TestCreate(GrProcessorTestData* d) { SkRegion::Op regionOp = SkRegion::Op(d->fRandom->nextULessThan(SkRegion::kLastOp + 1)); - bool invertCoverage = d->fRandom->nextBool(); + bool invertCoverage = !d->fRenderTarget->hasMixedSamples() && d->fRandom->nextBool(); return GrCoverageSetOpXPFactory::Create(regionOp, invertCoverage); } diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp index d1798fc8fa..9e339ba91b 100644 --- a/tests/GLProgramsTest.cpp +++ b/tests/GLProgramsTest.cpp @@ -352,7 +352,7 @@ bool GrDrawingManager::ProgramUnitTest(GrContext* context, SkAutoTUnref<GrDrawBatch> batch(GrRandomDrawBatch(&random, context)); SkASSERT(batch); - GrProcessorTestData ptd(&random, context, context->caps(), dummyTextures); + GrProcessorTestData ptd(&random, context, context->caps(), rt, dummyTextures); set_random_color_coverage_stages(&pipelineBuilder, &ptd, maxStages); set_random_xpf(&pipelineBuilder, &ptd); set_random_state(&pipelineBuilder, &random); @@ -377,7 +377,7 @@ bool GrDrawingManager::ProgramUnitTest(GrContext* context, for (int j = 0; j < 10; ++j) { SkAutoTUnref<GrDrawBatch> batch(GrRandomDrawBatch(&random, context)); SkASSERT(batch); - GrProcessorTestData ptd(&random, context, context->caps(), dummyTextures); + GrProcessorTestData ptd(&random, context, context->caps(), rt, dummyTextures); GrPipelineBuilder builder; builder.setXPFactory(GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); builder.setRenderTarget(rt); |