Home | History | Annotate | Download | only in tests
      1 /*
      2  * Copyright 2016 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 "SkTypes.h"
      9 
     10 #include "GrContextFactory.h"
     11 #include "Test.h"
     12 
     13 using namespace sk_gpu_test;
     14 
     15 DEF_GPUTEST(GrContext_abandonContext, reporter, options) {
     16     for (int testType = 0; testType < 6; ++testType) {
     17         for (int i = 0; i < GrContextFactory::kContextTypeCnt; ++i) {
     18             GrContextFactory testFactory(options);
     19             GrContextFactory::ContextType ctxType = (GrContextFactory::ContextType) i;
     20             ContextInfo info = testFactory.getContextInfo(ctxType);
     21             if (GrContext* context = info.grContext()) {
     22                 switch (testType) {
     23                     case 0:
     24                         context->abandonContext();
     25                         break;
     26                     case 1:
     27                         context->releaseResourcesAndAbandonContext();
     28                         break;
     29                     case 2:
     30                         context->abandonContext();
     31                         context->abandonContext();
     32                         break;
     33                     case 3:
     34                         context->abandonContext();
     35                         context->releaseResourcesAndAbandonContext();
     36                         break;
     37                     case 4:
     38                         context->releaseResourcesAndAbandonContext();
     39                         context->abandonContext();
     40                         break;
     41                     case 5:
     42                         context->releaseResourcesAndAbandonContext();
     43                         context->releaseResourcesAndAbandonContext();
     44                         break;
     45                 }
     46             }
     47         }
     48     }
     49 }
     50