| /* | 
 |  * Copyright 2011 Google Inc. | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 |  | 
 | #include "GrGLStencilAttachment.h" | 
 | #include "GrGLGpu.h" | 
 | #include "SkTraceMemoryDump.h" | 
 |  | 
 | size_t GrGLStencilAttachment::onGpuMemorySize() const { | 
 |     uint64_t size = this->width(); | 
 |     size *= this->height(); | 
 |     size *= fFormat.fTotalBits; | 
 |     size *= SkTMax(1,this->numSamples()); | 
 |     return static_cast<size_t>(size / 8); | 
 | } | 
 |  | 
 | void GrGLStencilAttachment::onRelease() { | 
 |     if (0 != fRenderbufferID) { | 
 |         GrGLGpu* gpuGL = (GrGLGpu*) this->getGpu(); | 
 |         const GrGLInterface* gl = gpuGL->glInterface(); | 
 |         GR_GL_CALL(gl, DeleteRenderbuffers(1, &fRenderbufferID)); | 
 |         fRenderbufferID = 0; | 
 |     } | 
 |  | 
 |     INHERITED::onRelease(); | 
 | } | 
 |  | 
 | void GrGLStencilAttachment::onAbandon() { | 
 |     fRenderbufferID = 0; | 
 |  | 
 |     INHERITED::onAbandon(); | 
 | } | 
 |  | 
 | void GrGLStencilAttachment::setMemoryBacking(SkTraceMemoryDump* traceMemoryDump, | 
 |                                              const SkString& dumpName) const { | 
 |     SkString renderbuffer_id; | 
 |     renderbuffer_id.appendU32(this->renderbufferID()); | 
 |     traceMemoryDump->setMemoryBacking(dumpName.c_str(), "gl_renderbuffer", | 
 |                                       renderbuffer_id.c_str()); | 
 | } |