2016-04-01 18:54:31 +00:00
|
|
|
/*
|
|
|
|
* 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 "SkTypes.h"
|
|
|
|
|
|
|
|
#if SK_SUPPORT_GPU
|
|
|
|
|
|
|
|
#include "GrContextFactory.h"
|
|
|
|
#include "Test.h"
|
|
|
|
|
2016-04-05 19:59:06 +00:00
|
|
|
using namespace sk_gpu_test;
|
2016-04-01 18:54:31 +00:00
|
|
|
|
2017-11-15 20:48:03 +00:00
|
|
|
DEF_GPUTEST(GrContext_abandonContext, reporter, options) {
|
2016-04-01 18:54:31 +00:00
|
|
|
for (int testType = 0; testType < 6; ++testType) {
|
2016-04-05 18:06:27 +00:00
|
|
|
for (int i = 0; i < GrContextFactory::kContextTypeCnt; ++i) {
|
2017-11-15 20:48:03 +00:00
|
|
|
GrContextFactory testFactory(options);
|
2016-04-05 18:06:27 +00:00
|
|
|
GrContextFactory::ContextType ctxType = (GrContextFactory::ContextType) i;
|
2016-04-05 19:59:06 +00:00
|
|
|
ContextInfo info = testFactory.getContextInfo(ctxType);
|
2016-05-11 13:33:06 +00:00
|
|
|
if (GrContext* context = info.grContext()) {
|
2016-04-01 18:54:31 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|