blob: 69c0959a8db4db1a7d9f566ae754505f0b659169 [file] [log] [blame]
bsalomon@google.com0b77d682011-08-19 13:28:54 +00001/*
2 * Copyright 2011 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8
9#include "GrGLStencilBuffer.h"
10#include "GrGpuGL.h"
11
12GrGLStencilBuffer::~GrGLStencilBuffer() {
13 this->release();
14}
15
16size_t GrGLStencilBuffer::sizeInBytes() const {
17 uint64_t size = this->width();
18 size *= this->height();
19 size *= fFormat.fTotalBits;
20 size *= GrMax(1,this->numSamples());
21 return static_cast<size_t>(size / 8);
22}
23
24void GrGLStencilBuffer::onRelease() {
25 if (0 != fRenderbufferID) {
26 GrGpuGL* gpuGL = (GrGpuGL*) this->getGpu();
27 const GrGLInterface* gl = gpuGL->glInterface();
28 GR_GL_CALL(gl, DeleteRenderbuffers(1, &fRenderbufferID));
29 fRenderbufferID = 0;
30 }
31 INHERITED::onRelease();
32}
33
34void GrGLStencilBuffer::onAbandon() {
35 fRenderbufferID = 0;
36 INHERITED::onAbandon();
37}
38
39