| Index: src/gpu/gl/debug/GrFrameBufferObj.cpp
 | 
| diff --git a/src/gpu/gl/debug/GrFrameBufferObj.cpp b/src/gpu/gl/debug/GrFrameBufferObj.cpp
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..a8acc3de23a959a9d39faf358972668e3b5eab44
 | 
| --- /dev/null
 | 
| +++ b/src/gpu/gl/debug/GrFrameBufferObj.cpp
 | 
| @@ -0,0 +1,66 @@
 | 
| +/*
 | 
| + * Copyright 2012 Google Inc.
 | 
| + *
 | 
| + * Use of this source code is governed by a BSD-style license that can be
 | 
| + * found in the LICENSE file.
 | 
| + */
 | 
| +
 | 
| +#include "GrFrameBufferObj.h"
 | 
| +#include "GrFBBindableObj.h"
 | 
| +
 | 
| +void GrFrameBufferObj::setColor(GrFBBindableObj *buffer) {
 | 
| +    if (fColorBuffer) {
 | 
| +        // automatically break the binding of the old buffer
 | 
| +        GrAlwaysAssert(fColorBuffer->getColorBound(this));
 | 
| +        fColorBuffer->resetColorBound(this);
 | 
| +
 | 
| +        GrAlwaysAssert(!fColorBuffer->getDeleted());
 | 
| +        fColorBuffer->unref();
 | 
| +    }
 | 
| +    fColorBuffer = buffer;
 | 
| +    if (fColorBuffer) {
 | 
| +        GrAlwaysAssert(!fColorBuffer->getDeleted());
 | 
| +        fColorBuffer->ref();
 | 
| +
 | 
| +        GrAlwaysAssert(!fColorBuffer->getColorBound(this));
 | 
| +        fColorBuffer->setColorBound(this);
 | 
| +    }
 | 
| +}
 | 
| +
 | 
| +void GrFrameBufferObj::setDepth(GrFBBindableObj *buffer) {
 | 
| +    if (fDepthBuffer) {
 | 
| +        // automatically break the binding of the old buffer
 | 
| +        GrAlwaysAssert(fDepthBuffer->getDepthBound(this));
 | 
| +        fDepthBuffer->resetDepthBound(this);
 | 
| +
 | 
| +        GrAlwaysAssert(!fDepthBuffer->getDeleted());
 | 
| +        fDepthBuffer->unref();
 | 
| +    }
 | 
| +    fDepthBuffer = buffer;
 | 
| +    if (fDepthBuffer) {
 | 
| +        GrAlwaysAssert(!fDepthBuffer->getDeleted());
 | 
| +        fDepthBuffer->ref();
 | 
| +
 | 
| +        GrAlwaysAssert(!fDepthBuffer->getDepthBound(this));
 | 
| +        fDepthBuffer->setDepthBound(this);
 | 
| +    }
 | 
| +}
 | 
| +
 | 
| +void GrFrameBufferObj::setStencil(GrFBBindableObj *buffer) {
 | 
| +    if (fStencilBuffer) {
 | 
| +        // automatically break the binding of the old buffer
 | 
| +        GrAlwaysAssert(fStencilBuffer->getStencilBound(this));
 | 
| +        fStencilBuffer->resetStencilBound(this);
 | 
| +
 | 
| +        //GrAlwaysAssert(!fStencilBuffer->getDeleted());
 | 
| +        fStencilBuffer->unref();
 | 
| +    }
 | 
| +    fStencilBuffer = buffer;
 | 
| +    if (fStencilBuffer) {
 | 
| +        GrAlwaysAssert(!fStencilBuffer->getDeleted());
 | 
| +        fStencilBuffer->ref();
 | 
| +
 | 
| +        GrAlwaysAssert(!fStencilBuffer->getStencilBound(this));
 | 
| +        fStencilBuffer->setStencilBound(this);
 | 
| +    }
 | 
| +}
 | 
| 
 |