michael@0: /* michael@0: * Copyright 2011 Google Inc. michael@0: * michael@0: * Use of this source code is governed by a BSD-style license that can be michael@0: * found in the LICENSE file. michael@0: */ michael@0: michael@0: michael@0: #include "GrGLStencilBuffer.h" michael@0: #include "GrGpuGL.h" michael@0: michael@0: GrGLStencilBuffer::~GrGLStencilBuffer() { michael@0: this->release(); michael@0: } michael@0: michael@0: size_t GrGLStencilBuffer::sizeInBytes() const { michael@0: uint64_t size = this->width(); michael@0: size *= this->height(); michael@0: size *= fFormat.fTotalBits; michael@0: size *= GrMax(1,this->numSamples()); michael@0: return static_cast(size / 8); michael@0: } michael@0: michael@0: void GrGLStencilBuffer::onRelease() { michael@0: if (0 != fRenderbufferID && !this->isWrapped()) { michael@0: GrGpuGL* gpuGL = (GrGpuGL*) this->getGpu(); michael@0: const GrGLInterface* gl = gpuGL->glInterface(); michael@0: GR_GL_CALL(gl, DeleteRenderbuffers(1, &fRenderbufferID)); michael@0: fRenderbufferID = 0; michael@0: } michael@0: michael@0: INHERITED::onRelease(); michael@0: } michael@0: michael@0: void GrGLStencilBuffer::onAbandon() { michael@0: fRenderbufferID = 0; michael@0: michael@0: INHERITED::onAbandon(); michael@0: }