1/* 2 * Copyright 2014 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8#ifndef GrGLGeometryShaderBuilder_DEFINED 9#define GrGLGeometryShaderBuilder_DEFINED 10 11#include "GrGLShaderBuilder.h" 12 13class GrGLProgramBuilder; 14 15class GrGLGeometryShaderBuilder : public GrGLFullShaderBuilder { 16public: 17 GrGLGeometryShaderBuilder(GrGLFullProgramBuilder* program); 18private: 19 /* 20 * an internal call for GrGLFullProgramBuilder to add varyings 21 */ 22 void addVarying(GrSLType type, 23 const char* name, 24 const char** gsOutName); 25 26 bool compileAndAttachShaders(GrGLuint programId, SkTDArray<GrGLuint>* shaderIds) const; 27 28 friend class GrGLFullProgramBuilder; 29 typedef GrGLFullShaderBuilder INHERITED; 30}; 31 32#endif 33