| Index: tests/GLProgramsTest.cpp
|
| diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
|
| index 253e4aeccc265ceff7c58582a261c8cbc0f6abdf..953b5e07cbcc45e05dd07a25871f4bf316a3fcdc 100644
|
| --- a/tests/GLProgramsTest.cpp
|
| +++ b/tests/GLProgramsTest.cpp
|
| @@ -121,6 +121,14 @@ static GrRenderTarget* random_render_target(GrContext* context,
|
| 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,
|
| @@ -195,22 +203,6 @@ static void set_random_state(GrDrawState* ds, SkRandom* random) {
|
| 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()'
|
| static void set_random_stencil(GrDrawState* ds, SkRandom* random) {
|
| GR_STATIC_CONST_SAME_STENCIL(kDoesWriteStencil,
|
| @@ -310,9 +302,12 @@ bool GrDrawTarget::programUnitTest(int maxStages) {
|
| 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;
|
|
|