1 /* 2 * Copyright 2015 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #include "GrBatchTest.h" 9 #include "SkRandom.h" 10 #include "SkTypes.h" 11 12 #ifdef GR_TEST_UTILS 13 14 BATCH_TEST_EXTERN(AAConvexPathBatch); 15 BATCH_TEST_EXTERN(AADistanceFieldPathBatch); 16 BATCH_TEST_EXTERN(AAFillRectBatch); 17 BATCH_TEST_EXTERN(AAHairlineBatch); 18 BATCH_TEST_EXTERN(AAStrokeRectBatch); 19 BATCH_TEST_EXTERN(DashBatch); 20 BATCH_TEST_EXTERN(DefaultPathBatch); 21 BATCH_TEST_EXTERN(CircleBatch); 22 BATCH_TEST_EXTERN(DIEllipseBatch); 23 BATCH_TEST_EXTERN(EllipseBatch); 24 BATCH_TEST_EXTERN(RRectBatch); 25 BATCH_TEST_EXTERN(StrokeRectBatch); 26 BATCH_TEST_EXTERN(TesselatingPathBatch); 27 BATCH_TEST_EXTERN(TextBlobBatch); 28 BATCH_TEST_EXTERN(VerticesBatch); 29 30 static BatchTestFunc gTestBatches[] = { 31 BATCH_TEST_ENTRY(AAConvexPathBatch), 32 BATCH_TEST_ENTRY(AADistanceFieldPathBatch), 33 BATCH_TEST_ENTRY(AAFillRectBatch), 34 BATCH_TEST_ENTRY(AAHairlineBatch), 35 BATCH_TEST_ENTRY(AAStrokeRectBatch), 36 BATCH_TEST_ENTRY(DashBatch), 37 BATCH_TEST_ENTRY(DefaultPathBatch), 38 BATCH_TEST_ENTRY(CircleBatch), 39 BATCH_TEST_ENTRY(DIEllipseBatch), 40 BATCH_TEST_ENTRY(EllipseBatch), 41 BATCH_TEST_ENTRY(RRectBatch), 42 BATCH_TEST_ENTRY(StrokeRectBatch), 43 BATCH_TEST_ENTRY(TesselatingPathBatch), 44 BATCH_TEST_ENTRY(TextBlobBatch), 45 BATCH_TEST_ENTRY(VerticesBatch) 46 }; 47 48 GrBatch* GrRandomBatch(SkRandom* random, GrContext* context) { 49 uint32_t index = random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gTestBatches))); 50 BatchTestFunc func = gTestBatches[index]; 51 return (*func)(random, context); 52 } 53 #endif 54