blob: aecec258a81386d4e8c1926c863e5c40a74551d9 [file] [log] [blame]
robertphillips@google.comdd743fe2012-04-05 14:40:53 +00001
2/*
3 * Copyright 2012 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#include "GrProgramObj.h"
10#include "GrShaderObj.h"
11
12void GrProgramObj::AttachShader(GrShaderObj *shader) {
13 shader->ref();
14 fShaders.push_back(shader);
15}
16
17void GrProgramObj::deleteAction() {
18
19 // shaders are automatically detached from a deleted program. They will only be
20 // deleted if they were marked for deletion by a prior call to glDeleteShader
21 for (int i = 0; i < fShaders.count(); ++i) {
22 fShaders[i]->unref();
23 }
24 fShaders.reset();
25
26 this->INHERITED::deleteAction();
27}