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 #include "src/gpu/gl/GrGLAttachment.h"
9 
10 #include "include/core/SkTraceMemoryDump.h"
11 #include "src/gpu/gl/GrGLGpu.h"
12 
onRelease()13 void GrGLAttachment::onRelease() {
14     if (0 != fRenderbufferID) {
15         GrGLGpu* gpuGL = (GrGLGpu*)this->getGpu();
16         const GrGLInterface* gl = gpuGL->glInterface();
17         GR_GL_CALL(gl, DeleteRenderbuffers(1, &fRenderbufferID));
18         fRenderbufferID = 0;
19     }
20 
21     INHERITED::onRelease();
22 }
23 
onAbandon()24 void GrGLAttachment::onAbandon() {
25     fRenderbufferID = 0;
26 
27     INHERITED::onAbandon();
28 }
29 
backendFormat() const30 GrBackendFormat GrGLAttachment::backendFormat() const {
31     return GrBackendFormat::MakeGL(GrGLFormatToEnum(fFormat), GR_GL_TEXTURE_NONE);
32 }
33 
setMemoryBacking(SkTraceMemoryDump * traceMemoryDump,const SkString & dumpName) const34 void GrGLAttachment::setMemoryBacking(SkTraceMemoryDump* traceMemoryDump,
35                                       const SkString& dumpName) const {
36     SkString renderbuffer_id;
37     renderbuffer_id.appendU32(this->renderbufferID());
38     traceMemoryDump->setMemoryBacking(dumpName.c_str(), "gl_renderbuffer", renderbuffer_id.c_str());
39 }
40