| 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);
|
| + }
|
| +}
|
|
|