• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
init(GrContext * ctx,GrDrawTarget * target)14 void 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 
getTestTarget(GrTestTarget * tar)25 void 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 
setMaxTextureSizeOverride(int maxTextureSizeOverride)36 void GrContext::setMaxTextureSizeOverride(int maxTextureSizeOverride) {
37     fMaxTextureSizeOverride = maxTextureSizeOverride;
38 }
39 
purgeAllUnlockedResources()40 void GrContext::purgeAllUnlockedResources() {
41     fResourceCache->purgeAllUnlocked();
42 }
43