diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/gpu/gl/GrGLStencilBuffer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/gpu/gl/GrGLStencilBuffer.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,39 @@ +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#include "GrGLStencilBuffer.h" +#include "GrGpuGL.h" + +GrGLStencilBuffer::~GrGLStencilBuffer() { + this->release(); +} + +size_t GrGLStencilBuffer::sizeInBytes() const { + uint64_t size = this->width(); + size *= this->height(); + size *= fFormat.fTotalBits; + size *= GrMax(1,this->numSamples()); + return static_cast(size / 8); +} + +void GrGLStencilBuffer::onRelease() { + if (0 != fRenderbufferID && !this->isWrapped()) { + GrGpuGL* gpuGL = (GrGpuGL*) this->getGpu(); + const GrGLInterface* gl = gpuGL->glInterface(); + GR_GL_CALL(gl, DeleteRenderbuffers(1, &fRenderbufferID)); + fRenderbufferID = 0; + } + + INHERITED::onRelease(); +} + +void GrGLStencilBuffer::onAbandon() { + fRenderbufferID = 0; + + INHERITED::onAbandon(); +}