• 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 #include "GrContextFactory.h"
11 #include "Test.h"
12 
13 using namespace sk_gpu_test;
14 
DEF_GPUTEST(GrContext_abandonContext,reporter,options)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