| Index: tests/GLProgramsTest.cpp
|
| diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
|
| index 56707a04140e34b4744a815179f309189b8d4217..253e4aeccc265ceff7c58582a261c8cbc0f6abdf 100644
|
| --- a/tests/GLProgramsTest.cpp
|
| +++ b/tests/GLProgramsTest.cpp
|
| @@ -181,68 +181,6 @@ static void set_random_color_coverage_stages(GrGpuGL* gpu,
|
| }
|
| }
|
|
|
| -// There are only a few cases of random colors which interest us
|
| -enum ColorMode {
|
| - kAllOnes_ColorMode,
|
| - kAllZeros_ColorMode,
|
| - kAlphaOne_ColorMode,
|
| - kRandom_ColorMode,
|
| - kLast_ColorMode = kRandom_ColorMode
|
| -};
|
| -
|
| -static void set_random_color(GrDrawState* ds, SkRandom* random) {
|
| - ColorMode colorMode = ColorMode(random->nextULessThan(kLast_ColorMode + 1));
|
| - GrColor color;
|
| - switch (colorMode) {
|
| - case kAllOnes_ColorMode:
|
| - color = GrColorPackRGBA(0xFF, 0xFF, 0xFF, 0xFF);
|
| - break;
|
| - case kAllZeros_ColorMode:
|
| - color = GrColorPackRGBA(0, 0, 0, 0);
|
| - break;
|
| - case kAlphaOne_ColorMode:
|
| - color = GrColorPackRGBA(random->nextULessThan(256),
|
| - random->nextULessThan(256),
|
| - random->nextULessThan(256),
|
| - 0xFF);
|
| - break;
|
| - case kRandom_ColorMode:
|
| - uint8_t alpha = random->nextULessThan(256);
|
| - color = GrColorPackRGBA(random->nextRangeU(0, alpha),
|
| - random->nextRangeU(0, alpha),
|
| - random->nextRangeU(0, alpha),
|
| - alpha);
|
| - break;
|
| - }
|
| - GrColorIsPMAssert(color);
|
| - ds->setColor(color);
|
| -}
|
| -
|
| -// There are only a few cases of random coverages which interest us
|
| -enum CoverageMode {
|
| - kZero_CoverageMode,
|
| - kFF_CoverageMode,
|
| - kRandom_CoverageMode,
|
| - kLast_CoverageMode = kRandom_CoverageMode
|
| -};
|
| -
|
| -static void set_random_coverage(GrDrawState* ds, SkRandom* random) {
|
| - CoverageMode coverageMode = CoverageMode(random->nextULessThan(kLast_CoverageMode + 1));
|
| - uint8_t coverage;
|
| - switch (coverageMode) {
|
| - case kZero_CoverageMode:
|
| - coverage = 0;
|
| - break;
|
| - case kFF_CoverageMode:
|
| - coverage = 0xFF;
|
| - break;
|
| - case kRandom_CoverageMode:
|
| - coverage = uint8_t(random->nextU());
|
| - break;
|
| - }
|
| - ds->setCoverage(coverage);
|
| -}
|
| -
|
| static void set_random_hints(GrDrawState* ds, SkRandom* random) {
|
| for (int i = 1; i <= GrDrawState::kLast_Hint; i <<= 1) {
|
| ds->setHint(GrDrawState::Hints(i), random->nextBool());
|
| @@ -372,8 +310,6 @@ bool GrDrawTarget::programUnitTest(int maxStages) {
|
| usePathRendering,
|
| &random,
|
| dummyTextures);
|
| - set_random_color(&ds, &random);
|
| - set_random_coverage(&ds, &random);
|
| set_random_hints(&ds, &random);
|
| set_random_state(&ds, &random);
|
| set_random_blend_func(&ds, &random);
|
| @@ -381,14 +317,19 @@ bool GrDrawTarget::programUnitTest(int maxStages) {
|
|
|
| GrDeviceCoordTexture dstCopy;
|
|
|
| - if (!this->setupDstReadIfNecessary(&ds, &dstCopy, NULL)) {
|
| + // TODO take color off the PP when its installed
|
| + GrColor color = ds.hasGeometryProcessor() ? ds.getGeometryProcessor()->getColor() :
|
| + GrColor_WHITE;
|
| + uint8_t coverage = ds.hasGeometryProcessor() ? ds.getGeometryProcessor()->getCoverage() :
|
| + 0xff;
|
| + if (!this->setupDstReadIfNecessary(&ds, color, coverage, &dstCopy, NULL)) {
|
| SkDebugf("Couldn't setup dst read texture");
|
| return false;
|
| }
|
|
|
| // create optimized draw state, setup readDst texture if required, and build a descriptor
|
| // and program. ODS creation can fail, so we have to check
|
| - GrOptDrawState ods(ds, *gpu->caps(), scissor, &dstCopy, drawType);
|
| + GrOptDrawState ods(ds, color, coverage, *gpu->caps(), scissor, &dstCopy, drawType);
|
| if (ods.mustSkip()) {
|
| continue;
|
| }
|
|
|