aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrEffect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrEffect.cpp')
-rw-r--r--src/gpu/GrEffect.cpp20
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() {