Home | History | Annotate | Download | only in gpu
      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 #ifndef GrBatchTest_DEFINED
      9 #define GrBatchTest_DEFINED
     10 
     11 #include "GrTestUtils.h"
     12 
     13 #ifdef GR_TEST_UTILS
     14 
     15 class GrBatch;
     16 class GrContext;
     17 class SkRandom;
     18 
     19 /*
     20  * This file defines some macros for testing batches, and also declares functions / objects which
     21  * are generally useful for GrBatch testing
     22  */
     23 
     24 // Batches should define test functions using BATCH_TEST_DEFINE.  The other macros defined below
     25 // are used exclusively by the test harness.
     26 typedef GrBatch* (*BatchTestFunc)(SkRandom* random, GrContext* context);
     27 #define BATCH_TEST_DEFINE(Batch) \
     28     GrBatch* Batch##__Test(SkRandom* random, GrContext* context)
     29 #define BATCH_TEST_EXTERN(Batch) \
     30     extern GrBatch* Batch##__Test(SkRandom*, GrContext* context);
     31 #define BATCH_TEST_ENTRY(Batch) \
     32     Batch##__Test
     33 #define BATCH_TEST_FRIEND(Batch) \
     34     friend GrBatch* Batch##__Test(SkRandom* random, GrContext* context);
     35 
     36 GrBatch* GrRandomBatch(SkRandom*, GrContext*);
     37 
     38 #endif
     39 #endif
     40