OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 #include "glsl/GrGLSLProgramBuilder.h" | 8 #include "glsl/GrGLSLProgramBuilder.h" |
9 | 9 |
10 #include "GrPipeline.h" | 10 #include "GrPipeline.h" |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 SkString outName; | 248 SkString outName; |
249 if (output->isValid()) { | 249 if (output->isValid()) { |
250 outName = output->c_str(); | 250 outName = output->c_str(); |
251 } else { | 251 } else { |
252 this->nameVariable(&outName, '\0', baseName); | 252 this->nameVariable(&outName, '\0', baseName); |
253 } | 253 } |
254 fFS.codeAppendf("vec4 %s;", outName.c_str()); | 254 fFS.codeAppendf("vec4 %s;", outName.c_str()); |
255 *output = outName; | 255 *output = outName; |
256 } | 256 } |
257 | 257 |
258 void GrGLSLProgramBuilder::appendUniformDecls(ShaderVisibility visibility, | 258 void GrGLSLProgramBuilder::appendUniformDecls(GrShaderFlags visibility, SkString
* out) const { |
259 SkString* out) const { | |
260 this->uniformHandler()->appendUniformDecls(visibility, out); | 259 this->uniformHandler()->appendUniformDecls(visibility, out); |
261 } | 260 } |
262 | 261 |
263 void GrGLSLProgramBuilder::addRTAdjustmentUniform(GrSLPrecision precision, | 262 void GrGLSLProgramBuilder::addRTAdjustmentUniform(GrSLPrecision precision, |
264 const char* name, | 263 const char* name, |
265 const char** outName) { | 264 const char** outName) { |
266 SkASSERT(!fUniformHandles.fRTAdjustmentUni.isValid()); | 265 SkASSERT(!fUniformHandles.fRTAdjustmentUni.isValid()); |
267 fUniformHandles.fRTAdjustmentUni = | 266 fUniformHandles.fRTAdjustmentUni = |
268 this->uniformHandler()->addUniform(GrGLSLUniformHandler::kVertex_Vis
ibility, | 267 this->uniformHandler()->addUniform(kVertex_GrShaderFlag, |
269 kVec4f_GrSLType, | 268 kVec4f_GrSLType, |
270 precision, | 269 precision, |
271 name, | 270 name, |
272 outName); | 271 outName); |
273 } | 272 } |
274 | 273 |
275 void GrGLSLProgramBuilder::addRTHeightUniform(const char* name, const char** out
Name) { | 274 void GrGLSLProgramBuilder::addRTHeightUniform(const char* name, const char** out
Name) { |
276 SkASSERT(!fUniformHandles.fRTHeightUni.isValid()); | 275 SkASSERT(!fUniformHandles.fRTHeightUni.isValid()); |
277 GrGLSLUniformHandler* uniformHandler = this->uniformHandler(); | 276 GrGLSLUniformHandler* uniformHandler = this->uniformHandler(); |
278 fUniformHandles.fRTHeightUni = | 277 fUniformHandles.fRTHeightUni = |
279 uniformHandler->internalAddUniformArray(GrGLSLUniformHandler::kFragm
ent_Visibility, | 278 uniformHandler->internalAddUniformArray(kFragment_GrShaderFlag, |
280 kFloat_GrSLType, kDefault_Gr
SLPrecision, | 279 kFloat_GrSLType, kDefault_Gr
SLPrecision, |
281 name, false, 0, outName); | 280 name, false, 0, outName); |
282 } | 281 } |
283 | 282 |
284 void GrGLSLProgramBuilder::cleanupFragmentProcessors() { | 283 void GrGLSLProgramBuilder::cleanupFragmentProcessors() { |
285 for (int i = 0; i < fFragmentProcessors.count(); ++i) { | 284 for (int i = 0; i < fFragmentProcessors.count(); ++i) { |
286 delete fFragmentProcessors[i]; | 285 delete fFragmentProcessors[i]; |
287 } | 286 } |
288 } | 287 } |
289 | 288 |
290 void GrGLSLProgramBuilder::finalizeShaders() { | 289 void GrGLSLProgramBuilder::finalizeShaders() { |
291 this->varyingHandler()->finalize(); | 290 this->varyingHandler()->finalize(); |
292 fVS.finalize(GrGLSLUniformHandler::kVertex_Visibility); | 291 fVS.finalize(kVertex_GrShaderFlag); |
293 fFS.finalize(GrGLSLUniformHandler::kFragment_Visibility); | 292 fFS.finalize(kFragment_GrShaderFlag); |
294 | 293 |
295 } | 294 } |
OLD | NEW |