16e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon/* 26e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon * Copyright 2016 Google Inc. 36e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon * 46e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon * Use of this source code is governed by a BSD-style license that can be 56e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon * found in the LICENSE file. 66e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon */ 76e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon 86e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon#include "SkTypes.h" 96e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon 106e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon#if SK_SUPPORT_GPU 116e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon 126e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon#include "GrContextFactory.h" 136e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon#include "Test.h" 146e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon 15f2f1c17e331fe1e0ce695969970ecebc81e12cebbsalomonusing namespace sk_gpu_test; 166e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon 176e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomonDEF_GPUTEST(GrContext_abandonContext, reporter, /*factory*/) { 186e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon for (int testType = 0; testType < 6; ++testType) { 1985b4b53e78dcdeae2a51935ca5e214b0f1a06492bsalomon for (int i = 0; i < GrContextFactory::kContextTypeCnt; ++i) { 2085b4b53e78dcdeae2a51935ca5e214b0f1a06492bsalomon GrContextFactory testFactory; 2185b4b53e78dcdeae2a51935ca5e214b0f1a06492bsalomon GrContextFactory::ContextType ctxType = (GrContextFactory::ContextType) i; 22f2f1c17e331fe1e0ce695969970ecebc81e12cebbsalomon ContextInfo info = testFactory.getContextInfo(ctxType); 238b7451aaf6b1c71e9d343a4df107893db277b6aabsalomon if (GrContext* context = info.grContext()) { 246e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon switch (testType) { 256e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon case 0: 266e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->abandonContext(); 276e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon break; 286e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon case 1: 296e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->releaseResourcesAndAbandonContext(); 306e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon break; 316e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon case 2: 326e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->abandonContext(); 336e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->abandonContext(); 346e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon break; 356e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon case 3: 366e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->abandonContext(); 376e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->releaseResourcesAndAbandonContext(); 386e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon break; 396e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon case 4: 406e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->releaseResourcesAndAbandonContext(); 416e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->abandonContext(); 426e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon break; 436e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon case 5: 446e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->releaseResourcesAndAbandonContext(); 456e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon context->releaseResourcesAndAbandonContext(); 466e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon break; 476e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon } 486e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon } 496e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon } 506e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon } 516e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon} 526e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon 536e2aad4e9f6280aa2b710e7324458fdc6d699ec5bsalomon#endif 54