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