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 |