| /* | |
| * Copyright 2015 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #include "GrBatchTest.h" | |
| #include "SkRandom.h" | |
| #include "SkTypes.h" | |
| #ifdef GR_TEST_UTILS | |
| DRAW_BATCH_TEST_EXTERN(AAConvexPathBatch); | |
| DRAW_BATCH_TEST_EXTERN(AADistanceFieldPathBatch); | |
| DRAW_BATCH_TEST_EXTERN(AAFillRectBatch); | |
| DRAW_BATCH_TEST_EXTERN(AAFillRectBatchLocalMatrix); | |
| DRAW_BATCH_TEST_EXTERN(AAHairlineBatch); | |
| DRAW_BATCH_TEST_EXTERN(AAStrokeRectBatch); | |
| DRAW_BATCH_TEST_EXTERN(AnalyticRectBatch); | |
| DRAW_BATCH_TEST_EXTERN(DashBatch); | |
| DRAW_BATCH_TEST_EXTERN(DefaultPathBatch); | |
| DRAW_BATCH_TEST_EXTERN(CircleBatch); | |
| DRAW_BATCH_TEST_EXTERN(DIEllipseBatch); | |
| DRAW_BATCH_TEST_EXTERN(EllipseBatch); | |
| DRAW_BATCH_TEST_EXTERN(GrDrawAtlasBatch); | |
| DRAW_BATCH_TEST_EXTERN(NonAAStrokeRectBatch); | |
| DRAW_BATCH_TEST_EXTERN(RRectBatch); | |
| DRAW_BATCH_TEST_EXTERN(TesselatingPathBatch); | |
| DRAW_BATCH_TEST_EXTERN(TextBlobBatch); | |
| DRAW_BATCH_TEST_EXTERN(VerticesBatch); | |
| static BatchTestFunc gTestBatches[] = { | |
| DRAW_BATCH_TEST_ENTRY(AAConvexPathBatch), | |
| DRAW_BATCH_TEST_ENTRY(AADistanceFieldPathBatch), | |
| DRAW_BATCH_TEST_ENTRY(AAFillRectBatch), | |
| DRAW_BATCH_TEST_ENTRY(AAFillRectBatchLocalMatrix), | |
| DRAW_BATCH_TEST_ENTRY(AAHairlineBatch), | |
| DRAW_BATCH_TEST_ENTRY(AAStrokeRectBatch), | |
| DRAW_BATCH_TEST_ENTRY(AnalyticRectBatch), | |
| DRAW_BATCH_TEST_ENTRY(DashBatch), | |
| DRAW_BATCH_TEST_ENTRY(DefaultPathBatch), | |
| DRAW_BATCH_TEST_ENTRY(CircleBatch), | |
| DRAW_BATCH_TEST_ENTRY(DIEllipseBatch), | |
| DRAW_BATCH_TEST_ENTRY(EllipseBatch), | |
| DRAW_BATCH_TEST_ENTRY(GrDrawAtlasBatch), | |
| DRAW_BATCH_TEST_ENTRY(NonAAStrokeRectBatch), | |
| DRAW_BATCH_TEST_ENTRY(RRectBatch), | |
| DRAW_BATCH_TEST_ENTRY(TesselatingPathBatch), | |
| DRAW_BATCH_TEST_ENTRY(TextBlobBatch), | |
| DRAW_BATCH_TEST_ENTRY(VerticesBatch) | |
| }; | |
| GrDrawBatch* GrRandomDrawBatch(SkRandom* random, GrContext* context) { | |
| uint32_t index = random->nextULessThan(static_cast<uint32_t>(SK_ARRAY_COUNT(gTestBatches))); | |
| BatchTestFunc func = gTestBatches[index]; | |
| return (*func)(random, context); | |
| } | |
| #endif |