aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/gpu/GrProcessorUnitTest.h6
-rw-r--r--src/gpu/effects/GrCoverageSetOpXP.cpp2
-rw-r--r--tests/GLProgramsTest.cpp4
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);