OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 "gl/GrGLShaderBuilder.h" | 8 #include "gl/GrGLShaderBuilder.h" |
9 #include "gl/GrGLProgram.h" | 9 #include "gl/GrGLProgram.h" |
10 #include "gl/GrGLUniformHandle.h" | 10 #include "gl/GrGLUniformHandle.h" |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 /////////////////////////////////////////////////////////////////////////// | 209 /////////////////////////////////////////////////////////////////////////// |
210 // write the secondary color output if necessary | 210 // write the secondary color output if necessary |
211 if (GrGLProgramDesc::CoverageOutputUsesSecondaryOutput(header.fCoverageOutpu
t)) { | 211 if (GrGLProgramDesc::CoverageOutputUsesSecondaryOutput(header.fCoverageOutpu
t)) { |
212 const char* secondaryOutputName = this->enableSecondaryOutput(); | 212 const char* secondaryOutputName = this->enableSecondaryOutput(); |
213 | 213 |
214 // default coeff to ones for kCoverage_DualSrcOutput | 214 // default coeff to ones for kCoverage_DualSrcOutput |
215 GrGLSLExpr4 coeff(1); | 215 GrGLSLExpr4 coeff(1); |
216 if (GrGLProgramDesc::kSecondaryCoverageISA_CoverageOutput == header.fCov
erageOutput) { | 216 if (GrGLProgramDesc::kSecondaryCoverageISA_CoverageOutput == header.fCov
erageOutput) { |
217 // Get (1-A) into coeff | 217 // Get (1-A) into coeff |
218 coeff = GrGLSLExpr4::VectorCast(GrGLSLExpr1(1) - inputColor.a()); | 218 coeff = GrGLSLExpr4::VectorCast(GrGLSLExpr1(1) - inputColor.a()); |
219 } else if (GrGLProgramDesc::kSecondaryCoverageISC_CoverageOutput == | 219 } else if (GrGLProgramDesc::kSecondaryCoverageISC_CoverageOutput == |
220 header.fCoverageOutput){ | 220 header.fCoverageOutput){ |
221 // Get (1-RGBA) into coeff | 221 // Get (1-RGBA) into coeff |
222 coeff = GrGLSLExpr4(1) - inputColor; | 222 coeff = GrGLSLExpr4(1) - inputColor; |
223 } | 223 } |
224 // Get coeff * coverage into modulate and then write that to the dual so
urce output. | 224 // Get coeff * coverage into modulate and then write that to the dual so
urce output. |
225 this->fsCodeAppendf("\t%s = %s;\n", secondaryOutputName, (coeff * inputC
overage).c_str()); | 225 this->fsCodeAppendf("\t%s = %s;\n", secondaryOutputName, (coeff * inputC
overage).c_str()); |
226 } | 226 } |
227 | 227 |
228 /////////////////////////////////////////////////////////////////////////// | 228 /////////////////////////////////////////////////////////////////////////// |
229 // combine color and coverage as frag color | 229 // combine color and coverage as frag color |
(...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1093 | 1093 |
1094 GrGLPathTexGenProgramEffectsBuilder pathTexGenEffectsBuilder(this, | 1094 GrGLPathTexGenProgramEffectsBuilder pathTexGenEffectsBuilder(this, |
1095 effectCnt); | 1095 effectCnt); |
1096 this->INHERITED::createAndEmitEffects(&pathTexGenEffectsBuilder, | 1096 this->INHERITED::createAndEmitEffects(&pathTexGenEffectsBuilder, |
1097 effectStages, | 1097 effectStages, |
1098 effectKeys, | 1098 effectKeys, |
1099 effectCnt, | 1099 effectCnt, |
1100 inOutFSColor); | 1100 inOutFSColor); |
1101 return pathTexGenEffectsBuilder.finish(); | 1101 return pathTexGenEffectsBuilder.finish(); |
1102 } | 1102 } |
OLD | NEW |