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
12void 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