blob: d6cc36bd749c2764645290fbb5297208a479f38a [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
bsalomon@google.com8137fcf2012-05-24 12:43:36 +000012void 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}