joshualitt | 3f655f3 | 2015-04-29 10:01:22 -0700 | [diff] [blame] | 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 | |
bsalomon | abd30f5 | 2015-08-13 13:34:48 -0700 | [diff] [blame] | 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); |
joshualitt | 3566d44 | 2015-09-18 07:12:55 -0700 | [diff] [blame] | 26 | DRAW_BATCH_TEST_EXTERN(NonAAStrokeRectBatch); |
bsalomon | abd30f5 | 2015-08-13 13:34:48 -0700 | [diff] [blame] | 27 | DRAW_BATCH_TEST_EXTERN(RRectBatch); |
| 28 | DRAW_BATCH_TEST_EXTERN(TesselatingPathBatch); |
| 29 | DRAW_BATCH_TEST_EXTERN(TextBlobBatch); |
| 30 | DRAW_BATCH_TEST_EXTERN(VerticesBatch); |
joshualitt | 3f655f3 | 2015-04-29 10:01:22 -0700 | [diff] [blame] | 31 | |
| 32 | static BatchTestFunc gTestBatches[] = { |
bsalomon | abd30f5 | 2015-08-13 13:34:48 -0700 | [diff] [blame] | 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), |
joshualitt | 3566d44 | 2015-09-18 07:12:55 -0700 | [diff] [blame] | 45 | DRAW_BATCH_TEST_ENTRY(NonAAStrokeRectBatch), |
bsalomon | abd30f5 | 2015-08-13 13:34:48 -0700 | [diff] [blame] | 46 | DRAW_BATCH_TEST_ENTRY(RRectBatch), |
| 47 | DRAW_BATCH_TEST_ENTRY(TesselatingPathBatch), |
| 48 | DRAW_BATCH_TEST_ENTRY(TextBlobBatch), |
| 49 | DRAW_BATCH_TEST_ENTRY(VerticesBatch) |
joshualitt | 3f655f3 | 2015-04-29 10:01:22 -0700 | [diff] [blame] | 50 | }; |
| 51 | |
bsalomon | abd30f5 | 2015-08-13 13:34:48 -0700 | [diff] [blame] | 52 | GrDrawBatch* GrRandomDrawBatch(SkRandom* random, GrContext* context) { |
joshualitt | 3f655f3 | 2015-04-29 10:01:22 -0700 | [diff] [blame] | 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 |