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