• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
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 
~GrGLStencilBuffer()13 GrGLStencilBuffer::~GrGLStencilBuffer() {
14     this->release();
15 }
16 
sizeInBytes() const17 size_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 
onRelease()25 void 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 
onAbandon()35 void GrGLStencilBuffer::onAbandon() {
36     fRenderbufferID = 0;
37     INHERITED::onAbandon();
38 }
39 
40 
41