OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 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 "GrBezierEffect.h" | 8 #include "GrBezierEffect.h" |
9 | 9 |
10 #include "glsl/GrGLSLFragmentShaderBuilder.h" | 10 #include "glsl/GrGLSLFragmentShaderBuilder.h" |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 edgeAlpha.c_str(), edgeAlpha.c_str()); | 208 edgeAlpha.c_str(), edgeAlpha.c_str()); |
209 break; | 209 break; |
210 } | 210 } |
211 default: | 211 default: |
212 SkFAIL("Shouldn't get here"); | 212 SkFAIL("Shouldn't get here"); |
213 } | 213 } |
214 | 214 |
215 // TODO should we really be doing this? | 215 // TODO should we really be doing this? |
216 if (gp.coverageScale() != 0xff) { | 216 if (gp.coverageScale() != 0xff) { |
217 const char* coverageScale; | 217 const char* coverageScale; |
218 fCoverageScaleUniform = uniformHandler->addUniform( | 218 fCoverageScaleUniform = uniformHandler->addUniform(kFragment_GrShaderFla
g, |
219 GrGLSLUniformHandler::k
Fragment_Visibility, | 219 kFloat_GrSLType, |
220 kFloat_GrSLType, | 220 kHigh_GrSLPrecision, |
221 kHigh_GrSLPrecision, | 221 "Coverage", |
222 "Coverage", | 222 &coverageScale); |
223 &coverageScale); | |
224 fragBuilder->codeAppendf("%s = vec4(%s * %s);", | 223 fragBuilder->codeAppendf("%s = vec4(%s * %s);", |
225 args.fOutputCoverage, coverageScale, edgeAlpha.
c_str()); | 224 args.fOutputCoverage, coverageScale, edgeAlpha.
c_str()); |
226 } else { | 225 } else { |
227 fragBuilder->codeAppendf("%s = vec4(%s);", args.fOutputCoverage, edgeAlp
ha.c_str()); | 226 fragBuilder->codeAppendf("%s = vec4(%s);", args.fOutputCoverage, edgeAlp
ha.c_str()); |
228 } | 227 } |
229 } | 228 } |
230 | 229 |
231 void GrGLConicEffect::GenKey(const GrGeometryProcessor& gp, | 230 void GrGLConicEffect::GenKey(const GrGeometryProcessor& gp, |
232 const GrGLSLCaps&, | 231 const GrGLSLCaps&, |
233 GrProcessorKeyBuilder* b) { | 232 GrProcessorKeyBuilder* b) { |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 v.fsIn(), v.fsIn(), v.fsIn()); | 425 v.fsIn(), v.fsIn(), v.fsIn()); |
427 fragBuilder->codeAppend("edgeAlpha = float(edgeAlpha < 0.0);"); | 426 fragBuilder->codeAppend("edgeAlpha = float(edgeAlpha < 0.0);"); |
428 break; | 427 break; |
429 } | 428 } |
430 default: | 429 default: |
431 SkFAIL("Shouldn't get here"); | 430 SkFAIL("Shouldn't get here"); |
432 } | 431 } |
433 | 432 |
434 if (0xff != gp.coverageScale()) { | 433 if (0xff != gp.coverageScale()) { |
435 const char* coverageScale; | 434 const char* coverageScale; |
436 fCoverageScaleUniform = uniformHandler->addUniform( | 435 fCoverageScaleUniform = uniformHandler->addUniform(kFragment_GrShaderFla
g, |
437 GrGLSLUniformHandler::k
Fragment_Visibility, | 436 kFloat_GrSLType, |
438 kFloat_GrSLType, | 437 kDefault_GrSLPrecisio
n, |
439 kDefault_GrSLPrecision, | 438 "Coverage", |
440 "Coverage", | 439 &coverageScale); |
441 &coverageScale); | |
442 fragBuilder->codeAppendf("%s = vec4(%s * edgeAlpha);", args.fOutputCover
age, coverageScale); | 440 fragBuilder->codeAppendf("%s = vec4(%s * edgeAlpha);", args.fOutputCover
age, coverageScale); |
443 } else { | 441 } else { |
444 fragBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage); | 442 fragBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage); |
445 } | 443 } |
446 } | 444 } |
447 | 445 |
448 void GrGLQuadEffect::GenKey(const GrGeometryProcessor& gp, | 446 void GrGLQuadEffect::GenKey(const GrGeometryProcessor& gp, |
449 const GrGLSLCaps&, | 447 const GrGLSLCaps&, |
450 GrProcessorKeyBuilder* b) { | 448 GrProcessorKeyBuilder* b) { |
451 const GrQuadEffect& ce = gp.cast<GrQuadEffect>(); | 449 const GrQuadEffect& ce = gp.cast<GrQuadEffect>(); |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
723 do { | 721 do { |
724 GrPrimitiveEdgeType edgeType = | 722 GrPrimitiveEdgeType edgeType = |
725 static_cast<GrPrimitiveEdgeType>( | 723 static_cast<GrPrimitiveEdgeType>( |
726 d->fRandom->nextULessThan(kGrProcessorEdgeTypeCnt)); | 724 d->fRandom->nextULessThan(kGrProcessorEdgeTypeCnt)); |
727 gp = GrCubicEffect::Create(GrRandomColor(d->fRandom), | 725 gp = GrCubicEffect::Create(GrRandomColor(d->fRandom), |
728 GrTest::TestMatrix(d->fRandom), edgeType, *d-
>fCaps); | 726 GrTest::TestMatrix(d->fRandom), edgeType, *d-
>fCaps); |
729 } while (nullptr == gp); | 727 } while (nullptr == gp); |
730 return gp; | 728 return gp; |
731 } | 729 } |
732 | 730 |
OLD | NEW |