| 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 |