gfx/skia/trunk/src/gpu/gl/GrGLStencilBuffer.cpp

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:308e0c7aa74c
1 /*
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
12 GrGLStencilBuffer::~GrGLStencilBuffer() {
13 this->release();
14 }
15
16 size_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
24 void GrGLStencilBuffer::onRelease() {
25 if (0 != fRenderbufferID && !this->isWrapped()) {
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
32 INHERITED::onRelease();
33 }
34
35 void GrGLStencilBuffer::onAbandon() {
36 fRenderbufferID = 0;
37
38 INHERITED::onAbandon();
39 }

mercurial