blob: 544e121e04f9d270a4be9c403b052b4566287e30 [file] [log] [blame]
bsalomon6e2aad42016-04-01 11:54:31 -07001/*
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
bsalomonf2f1c172016-04-05 12:59:06 -070015using namespace sk_gpu_test;
bsalomon6e2aad42016-04-01 11:54:31 -070016
Brian Salomondcfca432017-11-15 15:48:03 -050017DEF_GPUTEST(GrContext_abandonContext, reporter, options) {
bsalomon6e2aad42016-04-01 11:54:31 -070018 for (int testType = 0; testType < 6; ++testType) {
bsalomon85b4b532016-04-05 11:06:27 -070019 for (int i = 0; i < GrContextFactory::kContextTypeCnt; ++i) {
Brian Salomondcfca432017-11-15 15:48:03 -050020 GrContextFactory testFactory(options);
bsalomon85b4b532016-04-05 11:06:27 -070021 GrContextFactory::ContextType ctxType = (GrContextFactory::ContextType) i;
bsalomonf2f1c172016-04-05 12:59:06 -070022 ContextInfo info = testFactory.getContextInfo(ctxType);
bsalomon8b7451a2016-05-11 06:33:06 -070023 if (GrContext* context = info.grContext()) {
bsalomon6e2aad42016-04-01 11:54:31 -070024 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