diff options
Diffstat (limited to 'src/gpu/GrEffect.cpp')
-rw-r--r-- | src/gpu/GrEffect.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gpu/GrEffect.cpp b/src/gpu/GrEffect.cpp index 09032bf0f9..d470c9cc5f 100644 --- a/src/gpu/GrEffect.cpp +++ b/src/gpu/GrEffect.cpp @@ -20,6 +20,26 @@ SkTArray<GrEffectTestFactory*, true>* GrEffectTestFactory::GetFactories() { } #endif +namespace GrEffectUnitTest { +const SkMatrix& TestMatrix(SkRandom* random) { + static SkMatrix gMatrices[5]; + static bool gOnce; + if (!gOnce) { + gMatrices[0].reset(); + gMatrices[1].setTranslate(SkIntToScalar(-100), SkIntToScalar(100)); + gMatrices[2].setRotate(SkIntToScalar(17)); + gMatrices[3].setRotate(SkIntToScalar(185)); + gMatrices[3].postTranslate(SkIntToScalar(66), SkIntToScalar(-33)); + gMatrices[3].postScale(SkIntToScalar(2), SK_ScalarHalf); + gMatrices[4].setRotate(SkIntToScalar(215)); + gMatrices[4].set(SkMatrix::kMPersp0, SkFloatToScalar(0.00013f)); + gMatrices[4].set(SkMatrix::kMPersp1, SkFloatToScalar(-0.000039f)); + gOnce = true; + } + return gMatrices[random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gMatrices)))]; +} +} + class GrEffect_Globals { public: static GrMemoryPool* GetTLS() { |