blob: bc0bb364e8dd1f04c7a25d230ec6d13134708b3f [file] [log] [blame]
bsalomon@google.com0b77d682011-08-19 13:28:54 +00001
2/*
3 * Copyright 2011 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 */
8
9
10#include "GrGLStencilBuffer.h"
11#include "GrGpuGL.h"
12
13GrGLStencilBuffer::~GrGLStencilBuffer() {
14 this->release();
15}
16
17size_t GrGLStencilBuffer::sizeInBytes() const {
18 uint64_t size = this->width();
19 size *= this->height();
20 size *= fFormat.fTotalBits;
21 size *= GrMax(1,this->numSamples());
22 return static_cast<size_t>(size / 8);
23}
24
25void GrGLStencilBuffer::onRelease() {
26 if (0 != fRenderbufferID) {
27 GrGpuGL* gpuGL = (GrGpuGL*) this->getGpu();
28 const GrGLInterface* gl = gpuGL->glInterface();
29 GR_GL_CALL(gl, DeleteRenderbuffers(1, &fRenderbufferID));
30 fRenderbufferID = 0;
31 }
32 INHERITED::onRelease();
33}
34
35void GrGLStencilBuffer::onAbandon() {
36 fRenderbufferID = 0;
37 INHERITED::onAbandon();
38}
39
40