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 DRAW_BATCH_TEST_EXTERN(AAConvexPathBatch); 15 DRAW_BATCH_TEST_EXTERN(AADistanceFieldPathBatch); 16 DRAW_BATCH_TEST_EXTERN(AAFillRectBatch); 17 DRAW_BATCH_TEST_EXTERN(AAFillRectBatchLocalMatrix); 18 DRAW_BATCH_TEST_EXTERN(AAHairlineBatch); 19 DRAW_BATCH_TEST_EXTERN(AAStrokeRectBatch); 20 DRAW_BATCH_TEST_EXTERN(DashBatch); 21 DRAW_BATCH_TEST_EXTERN(DefaultPathBatch); 22 DRAW_BATCH_TEST_EXTERN(CircleBatch); 23 DRAW_BATCH_TEST_EXTERN(DIEllipseBatch); 24 DRAW_BATCH_TEST_EXTERN(EllipseBatch); 25 DRAW_BATCH_TEST_EXTERN(GrDrawAtlasBatch); 26 DRAW_BATCH_TEST_EXTERN(NonAAStrokeRectBatch); 27 DRAW_BATCH_TEST_EXTERN(RRectBatch); 28 DRAW_BATCH_TEST_EXTERN(TesselatingPathBatch); 29 DRAW_BATCH_TEST_EXTERN(TextBlobBatch); 30 DRAW_BATCH_TEST_EXTERN(VerticesBatch); 31 32 static BatchTestFunc gTestBatches[] = { 33 DRAW_BATCH_TEST_ENTRY(AAConvexPathBatch), 34 DRAW_BATCH_TEST_ENTRY(AADistanceFieldPathBatch), 35 DRAW_BATCH_TEST_ENTRY(AAFillRectBatch), 36 DRAW_BATCH_TEST_ENTRY(AAFillRectBatchLocalMatrix), 37 DRAW_BATCH_TEST_ENTRY(AAHairlineBatch), 38 DRAW_BATCH_TEST_ENTRY(AAStrokeRectBatch), 39 DRAW_BATCH_TEST_ENTRY(DashBatch), 40 DRAW_BATCH_TEST_ENTRY(DefaultPathBatch), 41 DRAW_BATCH_TEST_ENTRY(CircleBatch), 42 DRAW_BATCH_TEST_ENTRY(DIEllipseBatch), 43 DRAW_BATCH_TEST_ENTRY(EllipseBatch), 44 DRAW_BATCH_TEST_ENTRY(GrDrawAtlasBatch), 45 DRAW_BATCH_TEST_ENTRY(NonAAStrokeRectBatch), 46 DRAW_BATCH_TEST_ENTRY(RRectBatch), 47 DRAW_BATCH_TEST_ENTRY(TesselatingPathBatch), 48 DRAW_BATCH_TEST_ENTRY(TextBlobBatch), 49 DRAW_BATCH_TEST_ENTRY(VerticesBatch) 50 }; 51 52 GrDrawBatch* GrRandomDrawBatch(SkRandom* random, GrContext* context) { 53 uint32_t index = random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gTestBatches))); 54 BatchTestFunc func = gTestBatches[index]; 55 return (*func)(random, context); 56 } 57 #endif 58