| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "GrAAConvexPathRenderer.h" | 9 #include "GrAAConvexPathRenderer.h" |
| 10 | 10 |
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 fsBuilder->codeAppendf("edgeAlpha = (%s.x*%s.x - %s.y);", v.fsIn(),
v.fsIn(), | 569 fsBuilder->codeAppendf("edgeAlpha = (%s.x*%s.x - %s.y);", v.fsIn(),
v.fsIn(), |
| 570 v.fsIn()); | 570 v.fsIn()); |
| 571 fsBuilder->codeAppendf("edgeAlpha = " | 571 fsBuilder->codeAppendf("edgeAlpha = " |
| 572 "clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0
);}"); | 572 "clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0
);}"); |
| 573 | 573 |
| 574 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage
); | 574 fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage
); |
| 575 } | 575 } |
| 576 | 576 |
| 577 static inline void GenKey(const GrGeometryProcessor& gp, | 577 static inline void GenKey(const GrGeometryProcessor& gp, |
| 578 const GrBatchTracker& bt, | 578 const GrBatchTracker& bt, |
| 579 const GrGLCaps&, | 579 const GrGLSLCaps&, |
| 580 GrProcessorKeyBuilder* b) { | 580 GrProcessorKeyBuilder* b) { |
| 581 const BatchTracker& local = bt.cast<BatchTracker>(); | 581 const BatchTracker& local = bt.cast<BatchTracker>(); |
| 582 uint32_t key = local.fInputColorType << 16; | 582 uint32_t key = local.fInputColorType << 16; |
| 583 key |= local.fUsesLocalCoords && gp.localMatrix().hasPerspective() ?
0x1 : 0x0; | 583 key |= local.fUsesLocalCoords && gp.localMatrix().hasPerspective() ?
0x1 : 0x0; |
| 584 key |= ComputePosKey(gp.viewMatrix()) << 1; | 584 key |= ComputePosKey(gp.viewMatrix()) << 1; |
| 585 b->add32(key); | 585 b->add32(key); |
| 586 } | 586 } |
| 587 | 587 |
| 588 virtual void setData(const GrGLProgramDataManager& pdman, | 588 virtual void setData(const GrGLProgramDataManager& pdman, |
| 589 const GrPrimitiveProcessor& gp, | 589 const GrPrimitiveProcessor& gp, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 600 } | 600 } |
| 601 | 601 |
| 602 private: | 602 private: |
| 603 GrColor fColor; | 603 GrColor fColor; |
| 604 UniformHandle fColorUniform; | 604 UniformHandle fColorUniform; |
| 605 | 605 |
| 606 typedef GrGLGeometryProcessor INHERITED; | 606 typedef GrGLGeometryProcessor INHERITED; |
| 607 }; | 607 }; |
| 608 | 608 |
| 609 virtual void getGLProcessorKey(const GrBatchTracker& bt, | 609 virtual void getGLProcessorKey(const GrBatchTracker& bt, |
| 610 const GrGLCaps& caps, | 610 const GrGLSLCaps& caps, |
| 611 GrProcessorKeyBuilder* b) const override { | 611 GrProcessorKeyBuilder* b) const override { |
| 612 GLProcessor::GenKey(*this, bt, caps, b); | 612 GLProcessor::GenKey(*this, bt, caps, b); |
| 613 } | 613 } |
| 614 | 614 |
| 615 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, | 615 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, |
| 616 const GrGLCaps&) const over
ride { | 616 const GrGLSLCaps&) const ov
erride { |
| 617 return SkNEW_ARGS(GLProcessor, (*this, bt)); | 617 return SkNEW_ARGS(GLProcessor, (*this, bt)); |
| 618 } | 618 } |
| 619 | 619 |
| 620 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
override { | 620 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
override { |
| 621 BatchTracker* local = bt->cast<BatchTracker>(); | 621 BatchTracker* local = bt->cast<BatchTracker>(); |
| 622 local->fInputColorType = GetColorInputType(&local->fColor, this->color()
, init, false); | 622 local->fInputColorType = GetColorInputType(&local->fColor, this->color()
, init, false); |
| 623 local->fUsesLocalCoords = init.fUsesLocalCoords; | 623 local->fUsesLocalCoords = init.fUsesLocalCoords; |
| 624 } | 624 } |
| 625 | 625 |
| 626 bool onCanMakeEqual(const GrBatchTracker& m, | 626 bool onCanMakeEqual(const GrBatchTracker& m, |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 885 geometry.fColor = color; | 885 geometry.fColor = color; |
| 886 geometry.fViewMatrix = vm; | 886 geometry.fViewMatrix = vm; |
| 887 geometry.fPath = path; | 887 geometry.fPath = path; |
| 888 | 888 |
| 889 SkAutoTUnref<GrBatch> batch(AAConvexPathBatch::Create(geometry)); | 889 SkAutoTUnref<GrBatch> batch(AAConvexPathBatch::Create(geometry)); |
| 890 target->drawBatch(pipelineBuilder, batch, &devRect); | 890 target->drawBatch(pipelineBuilder, batch, &devRect); |
| 891 | 891 |
| 892 return true; | 892 return true; |
| 893 | 893 |
| 894 } | 894 } |
| OLD | NEW |