1
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}
28