1 2/* 3 * Copyright 2013 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9#include "GrTest.h" 10 11#include "GrGpu.h" 12#include "GrResourceCache.h" 13 14void GrTestTarget::init(GrContext* ctx, GrDrawTarget* target) { 15 SkASSERT(!fContext); 16 17 fContext.reset(SkRef(ctx)); 18 fDrawTarget.reset(SkRef(target)); 19 20 SkNEW_IN_TLAZY(&fASR, GrDrawTarget::AutoStateRestore, (target, GrDrawTarget::kReset_ASRInit)); 21 SkNEW_IN_TLAZY(&fACR, GrDrawTarget::AutoClipRestore, (target)); 22 SkNEW_IN_TLAZY(&fAGP, GrDrawTarget::AutoGeometryPush, (target)); 23} 24 25void GrContext::getTestTarget(GrTestTarget* tar) { 26 this->flush(); 27 // We could create a proxy GrDrawTarget that passes through to fGpu until ~GrTextTarget() and 28 // then disconnects. This would help prevent test writers from mixing using the returned 29 // GrDrawTarget and regular drawing. We could also assert or fail in GrContext drawing methods 30 // until ~GrTestTarget(). 31 tar->init(this, fGpu); 32} 33 34/////////////////////////////////////////////////////////////////////////////// 35 36void GrContext::setMaxTextureSizeOverride(int maxTextureSizeOverride) { 37 fMaxTextureSizeOverride = maxTextureSizeOverride; 38} 39 40void GrContext::purgeAllUnlockedResources() { 41 fResourceCache->purgeAllUnlocked(); 42} 43