• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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, /*factory*/) {
18     for (int testType = 0; testType < 6; ++testType) {
19         for (int i = 0; i < GrContextFactory::kContextTypeCnt; ++i) {
20             GrContextFactory testFactory;
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