| Index: include/gpu/GrProcessorUnitTest.h
|
| diff --git a/include/gpu/GrProcessorUnitTest.h b/include/gpu/GrProcessorUnitTest.h
|
| index 3e1601dc8e049e20c9c4110f9d917b5db4559e87..fbf4382d69533011541581d6548db4741e36cb66 100644
|
| --- a/include/gpu/GrProcessorUnitTest.h
|
| +++ b/include/gpu/GrProcessorUnitTest.h
|
| @@ -8,6 +8,7 @@
|
| #ifndef GrProcessorUnitTest_DEFINED
|
| #define GrProcessorUnitTest_DEFINED
|
|
|
| +#include "GrColor.h"
|
| #include "SkRandom.h"
|
| #include "SkTArray.h"
|
| #include "SkTypes.h"
|
| @@ -29,6 +30,66 @@ const SkMatrix& TestMatrix(SkRandom*);
|
|
|
| }
|
|
|
| +static inline GrColor GrRandomColor(SkRandom* random) {
|
| + // 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
|
| + };
|
| +
|
| + 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);
|
| + return color;
|
| +}
|
| +
|
| +static inline uint8_t GrRandomCoverage(SkRandom* random) {
|
| + enum CoverageMode {
|
| + kZero_CoverageMode,
|
| + kAllOnes_CoverageMode,
|
| + kRandom_CoverageMode,
|
| + kLast_CoverageMode = kRandom_CoverageMode
|
| + };
|
| +
|
| + CoverageMode colorMode = CoverageMode(random->nextULessThan(kLast_CoverageMode + 1));
|
| + uint8_t coverage;
|
| + switch (colorMode) {
|
| + case kZero_CoverageMode:
|
| + coverage = 0;
|
| + case kAllOnes_CoverageMode:
|
| + coverage = 0xff;
|
| + break;
|
| + case kRandom_CoverageMode:
|
| + coverage = random->nextULessThan(256);
|
| + break;
|
| + }
|
| + return coverage;
|
| +}
|
| +
|
| #if SK_ALLOW_STATIC_GLOBAL_INITIALIZERS
|
|
|
| class GrContext;
|
|
|