1 
2 /*
3  * Copyright 2012 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 "GrTextureUnitObj.h"
10 #include "GrTextureObj.h"
11 
setTexture(GrTextureObj * texture)12 void GrTextureUnitObj::setTexture(GrTextureObj *texture)  {
13 
14     if (fTexture) {
15         GrAlwaysAssert(fTexture->getBound(this));
16         fTexture->resetBound(this);
17 
18         GrAlwaysAssert(!fTexture->getDeleted());
19         fTexture->unref();
20     }
21 
22     fTexture = texture;
23 
24     if (fTexture) {
25         GrAlwaysAssert(!fTexture->getDeleted());
26         fTexture->ref();
27 
28         GrAlwaysAssert(!fTexture->getBound(this));
29         fTexture->setBound(this);
30     }
31 }
32