| Index: tests/GLProgramsTest.cpp
|
| diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
|
| index 953b5e07cbcc45e05dd07a25871f4bf316a3fcdc..253e4aeccc265ceff7c58582a261c8cbc0f6abdf 100644
|
| --- a/tests/GLProgramsTest.cpp
|
| +++ b/tests/GLProgramsTest.cpp
|
| @@ -121,14 +121,6 @@
|
| return SkRef(texture->asRenderTarget());
|
| }
|
|
|
| -static void set_random_xpf(GrContext* context, const GrDrawTargetCaps& caps, GrDrawState* ds,
|
| - SkRandom* random, GrTexture* dummyTextures[]) {
|
| - SkAutoTUnref<const GrXPFactory> xpf(
|
| - GrProcessorTestFactory<GrXPFactory>::CreateStage(random, context, caps, dummyTextures));
|
| - SkASSERT(xpf);
|
| - ds->setXPFactory(xpf.get());
|
| -}
|
| -
|
| static void set_random_gp(GrContext* context,
|
| const GrDrawTargetCaps& caps,
|
| GrDrawState* ds,
|
| @@ -201,6 +193,22 @@
|
| state |= random->nextBool() * i;
|
| }
|
| ds->enableState(state);
|
| +}
|
| +
|
| +// this function will randomly pick non-self referencing blend modes
|
| +static void set_random_blend_func(GrDrawState* ds, SkRandom* random) {
|
| + GrBlendCoeff src;
|
| + do {
|
| + src = GrBlendCoeff(random->nextRangeU(kFirstPublicGrBlendCoeff, kLastPublicGrBlendCoeff));
|
| + } while (GrBlendCoeffRefsSrc(src));
|
| +
|
| + GrBlendCoeff dst;
|
| + do {
|
| + dst = GrBlendCoeff(random->nextRangeU(kFirstPublicGrBlendCoeff, kLastPublicGrBlendCoeff));
|
| + } while (GrBlendCoeffRefsDst(dst));
|
| +
|
| + GrXPFactory* xpFactory = GrPorterDuffXPFactory::Create(src, dst);
|
| + ds->setXPFactory(xpFactory)->unref();
|
| }
|
|
|
| // right now, the only thing we seem to care about in drawState's stencil is 'doesWrite()'
|
| @@ -302,12 +310,9 @@
|
| usePathRendering,
|
| &random,
|
| dummyTextures);
|
| -
|
| - // creates a random xfer processor factory on the draw state
|
| - set_random_xpf(fContext, gpu->glCaps(), &ds, &random, dummyTextures);
|
| -
|
| set_random_hints(&ds, &random);
|
| set_random_state(&ds, &random);
|
| + set_random_blend_func(&ds, &random);
|
| set_random_stencil(&ds, &random);
|
|
|
| GrDeviceCoordTexture dstCopy;
|
|
|