blob: 0aac2eeed811d309e919d875d70f71ce7726c4cb [file] [log] [blame]
/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "include/core/SkTypes.h"
#include "include/gpu/GrDirectContext.h"
#include "tests/CtsEnforcement.h"
#include "tests/Test.h"
#include "tools/gpu/FenceSync.h"
struct GrContextOptions;
using namespace sk_gpu_test;
DEF_GANESH_TEST(GrContext_abandonContext, reporter, options, CtsEnforcement::kApiLevel_T) {
for (int testType = 0; testType < 6; ++testType) {
for (int i = 0; i < GrContextFactory::kContextTypeCnt; ++i) {
GrContextFactory testFactory(options);
GrContextFactory::ContextType ctxType = (GrContextFactory::ContextType) i;
ContextInfo info = testFactory.getContextInfo(ctxType);
if (auto context = info.directContext()) {
switch (testType) {
case 0:
context->abandonContext();
break;
case 1:
context->releaseResourcesAndAbandonContext();
break;
case 2:
context->abandonContext();
context->abandonContext();
break;
case 3:
context->abandonContext();
context->releaseResourcesAndAbandonContext();
break;
case 4:
context->releaseResourcesAndAbandonContext();
context->abandonContext();
break;
case 5:
context->releaseResourcesAndAbandonContext();
context->releaseResourcesAndAbandonContext();
break;
}
}
}
}
}