| /* | |
| * Copyright 2012 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #include "GrProgramObj.h" | |
| #include "GrShaderObj.h" | |
| void GrProgramObj::AttachShader(GrShaderObj *shader) { | |
| shader->ref(); | |
| fShaders.push_back(shader); | |
| } | |
| void GrProgramObj::deleteAction() { | |
| // shaders are automatically detached from a deleted program. They will only be | |
| // deleted if they were marked for deletion by a prior call to glDeleteShader | |
| for (int i = 0; i < fShaders.count(); ++i) { | |
| fShaders[i]->unref(); | |
| } | |
| fShaders.reset(); | |
| this->INHERITED::deleteAction(); | |
| } |