OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 | 8 |
9 #ifndef GrGLProgram_DEFINED | 9 #ifndef GrGLProgram_DEFINED |
10 #define GrGLProgram_DEFINED | 10 #define GrGLProgram_DEFINED |
11 | 11 |
12 #include "GrDrawState.h" | 12 #include "GrDrawState.h" |
13 #include "GrGLContext.h" | 13 #include "GrGLContext.h" |
14 #include "GrGLProgramDesc.h" | 14 #include "GrGLProgramDesc.h" |
| 15 #include "GrGLShaderBuilder.h" |
15 #include "GrGLSL.h" | 16 #include "GrGLSL.h" |
16 #include "GrGLTexture.h" | 17 #include "GrGLTexture.h" |
17 #include "GrGLUniformManager.h" | 18 #include "GrGLUniformManager.h" |
18 | 19 |
19 #include "SkString.h" | 20 #include "SkString.h" |
20 #include "SkXfermode.h" | 21 #include "SkXfermode.h" |
21 | 22 |
22 class GrBinHashKeyBuilder; | 23 class GrBinHashKeyBuilder; |
23 class GrGLEffect; | 24 class GrGLEffect; |
24 class GrGLShaderBuilder; | 25 class GrGLShaderBuilder; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 /** | 156 /** |
156 * This is the heavy initialization routine for building a GLProgram. colorS
tages and | 157 * This is the heavy initialization routine for building a GLProgram. colorS
tages and |
157 * coverageStages correspond to the output of GrGLProgramDesc::Build(). | 158 * coverageStages correspond to the output of GrGLProgramDesc::Build(). |
158 */ | 159 */ |
159 bool genProgram(const GrEffectStage* colorStages[], const GrEffectStage* cov
erageStages[]); | 160 bool genProgram(const GrEffectStage* colorStages[], const GrEffectStage* cov
erageStages[]); |
160 | 161 |
161 GrSLConstantVec genInputColor(GrGLShaderBuilder* builder, SkString* inColor)
; | 162 GrSLConstantVec genInputColor(GrGLShaderBuilder* builder, SkString* inColor)
; |
162 | 163 |
163 GrSLConstantVec genInputCoverage(GrGLShaderBuilder* builder, SkString* inCov
erage); | 164 GrSLConstantVec genInputCoverage(GrGLShaderBuilder* builder, SkString* inCov
erage); |
164 | 165 |
165 void genGeometryShader(GrGLShaderBuilder* segments) const; | 166 void genGeometryShader(GrGLShaderBuilder::VertexBuilder* vertexBuilder) cons
t; |
166 | 167 |
167 // Creates a GL program ID, binds shader attributes to GL vertex attrs, and
links the program | 168 // Creates a GL program ID, binds shader attributes to GL vertex attrs, and
links the program |
168 bool bindOutputsAttribsAndLinkProgram(const GrGLShaderBuilder& builder, | 169 bool bindOutputsAttribsAndLinkProgram(const GrGLShaderBuilder& builder, |
169 bool bindColorOut, | 170 bool bindColorOut, |
170 bool bindDualSrcOut); | 171 bool bindDualSrcOut); |
171 | 172 |
172 // Sets the texture units for samplers | 173 // Sets the texture units for samplers |
173 void initSamplerUniforms(); | 174 void initSamplerUniforms(); |
174 void initEffectSamplerUniforms(EffectAndSamplers* effect, int* texUnitIdx); | 175 void initEffectSamplerUniforms(EffectAndSamplers* effect, int* texUnitIdx); |
175 | 176 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 GrGLProgramDesc fDesc; | 211 GrGLProgramDesc fDesc; |
211 const GrGLContext& fContext; | 212 const GrGLContext& fContext; |
212 | 213 |
213 GrGLUniformManager fUniformManager; | 214 GrGLUniformManager fUniformManager; |
214 UniformHandles fUniformHandles; | 215 UniformHandles fUniformHandles; |
215 | 216 |
216 typedef GrRefCnt INHERITED; | 217 typedef GrRefCnt INHERITED; |
217 }; | 218 }; |
218 | 219 |
219 #endif | 220 #endif |
OLD | NEW |