gfx/skia/trunk/src/gpu/gl/debug/GrFrameBufferObj.cpp

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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  */
     9 #include "GrFrameBufferObj.h"
    10 #include "GrFBBindableObj.h"
    12 void GrFrameBufferObj::setColor(GrFBBindableObj *buffer) {
    13     if (fColorBuffer) {
    14         // automatically break the binding of the old buffer
    15         GrAlwaysAssert(fColorBuffer->getColorBound(this));
    16         fColorBuffer->resetColorBound(this);
    18         GrAlwaysAssert(!fColorBuffer->getDeleted());
    19         fColorBuffer->unref();
    20     }
    21     fColorBuffer = buffer;
    22     if (fColorBuffer) {
    23         GrAlwaysAssert(!fColorBuffer->getDeleted());
    24         fColorBuffer->ref();
    26         GrAlwaysAssert(!fColorBuffer->getColorBound(this));
    27         fColorBuffer->setColorBound(this);
    28     }
    29 }
    31 void GrFrameBufferObj::setDepth(GrFBBindableObj *buffer) {
    32     if (fDepthBuffer) {
    33         // automatically break the binding of the old buffer
    34         GrAlwaysAssert(fDepthBuffer->getDepthBound(this));
    35         fDepthBuffer->resetDepthBound(this);
    37         GrAlwaysAssert(!fDepthBuffer->getDeleted());
    38         fDepthBuffer->unref();
    39     }
    40     fDepthBuffer = buffer;
    41     if (fDepthBuffer) {
    42         GrAlwaysAssert(!fDepthBuffer->getDeleted());
    43         fDepthBuffer->ref();
    45         GrAlwaysAssert(!fDepthBuffer->getDepthBound(this));
    46         fDepthBuffer->setDepthBound(this);
    47     }
    48 }
    50 void GrFrameBufferObj::setStencil(GrFBBindableObj *buffer) {
    51     if (fStencilBuffer) {
    52         // automatically break the binding of the old buffer
    53         GrAlwaysAssert(fStencilBuffer->getStencilBound(this));
    54         fStencilBuffer->resetStencilBound(this);
    56         //GrAlwaysAssert(!fStencilBuffer->getDeleted());
    57         fStencilBuffer->unref();
    58     }
    59     fStencilBuffer = buffer;
    60     if (fStencilBuffer) {
    61         GrAlwaysAssert(!fStencilBuffer->getDeleted());
    62         fStencilBuffer->ref();
    64         GrAlwaysAssert(!fStencilBuffer->getStencilBound(this));
    65         fStencilBuffer->setStencilBound(this);
    66     }
    67 }

mercurial