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