Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: src/gpu/GrAAConvexPathRenderer.cpp

Issue 1140983002: remove color from GrGeometryProcessor (Closed) Base URL: https://skia.googlesource.com/skia.git@cleanup2
Patch Set: more Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 static GrGeometryProcessor* Create(GrColor color, const SkMatrix& localMatri x) { 528 static GrGeometryProcessor* Create(GrColor color, const SkMatrix& localMatri x) {
529 return SkNEW_ARGS(QuadEdgeEffect, (color, localMatrix)); 529 return SkNEW_ARGS(QuadEdgeEffect, (color, localMatrix));
530 } 530 }
531 531
532 virtual ~QuadEdgeEffect() {} 532 virtual ~QuadEdgeEffect() {}
533 533
534 const char* name() const override { return "QuadEdge"; } 534 const char* name() const override { return "QuadEdge"; }
535 535
536 const Attribute* inPosition() const { return fInPosition; } 536 const Attribute* inPosition() const { return fInPosition; }
537 const Attribute* inQuadEdge() const { return fInQuadEdge; } 537 const Attribute* inQuadEdge() const { return fInQuadEdge; }
538 GrColor color() const { return fColor; }
538 539
539 class GLProcessor : public GrGLGeometryProcessor { 540 class GLProcessor : public GrGLGeometryProcessor {
540 public: 541 public:
541 GLProcessor(const GrGeometryProcessor&, 542 GLProcessor(const GrGeometryProcessor&,
542 const GrBatchTracker&) 543 const GrBatchTracker&)
543 : fColor(GrColor_ILLEGAL) {} 544 : fColor(GrColor_ILLEGAL) {}
544 545
545 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override { 546 void onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) override {
546 const QuadEdgeEffect& qe = args.fGP.cast<QuadEdgeEffect>(); 547 const QuadEdgeEffect& qe = args.fGP.cast<QuadEdgeEffect>();
547 GrGLGPBuilder* pb = args.fPB; 548 GrGLGPBuilder* pb = args.fPB;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 } 637 }
637 638
638 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const override { 639 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const override {
639 BatchTracker* local = bt->cast<BatchTracker>(); 640 BatchTracker* local = bt->cast<BatchTracker>();
640 local->fInputColorType = GetColorInputType(&local->fColor, this->color() , init, false); 641 local->fInputColorType = GetColorInputType(&local->fColor, this->color() , init, false);
641 local->fUsesLocalCoords = init.fUsesLocalCoords; 642 local->fUsesLocalCoords = init.fUsesLocalCoords;
642 } 643 }
643 644
644 private: 645 private:
645 QuadEdgeEffect(GrColor color, const SkMatrix& localMatrix) 646 QuadEdgeEffect(GrColor color, const SkMatrix& localMatrix)
646 : INHERITED(color, SkMatrix::I(), localMatrix) { 647 : INHERITED(SkMatrix::I(), localMatrix)
648 , fColor(color) {
647 this->initClassID<QuadEdgeEffect>(); 649 this->initClassID<QuadEdgeEffect>();
648 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType)); 650 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVe rtexAttribType));
649 fInQuadEdge = &this->addVertexAttrib(Attribute("inQuadEdge", kVec4f_GrVe rtexAttribType)); 651 fInQuadEdge = &this->addVertexAttrib(Attribute("inQuadEdge", kVec4f_GrVe rtexAttribType));
650 } 652 }
651 653
652 struct BatchTracker { 654 struct BatchTracker {
653 GrGPInput fInputColorType; 655 GrGPInput fInputColorType;
654 GrColor fColor; 656 GrColor fColor;
655 bool fUsesLocalCoords; 657 bool fUsesLocalCoords;
656 }; 658 };
657 659
658 const Attribute* fInPosition; 660 const Attribute* fInPosition;
659 const Attribute* fInQuadEdge; 661 const Attribute* fInQuadEdge;
662 GrColor fColor;
660 663
661 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; 664 GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
662 665
663 typedef GrGeometryProcessor INHERITED; 666 typedef GrGeometryProcessor INHERITED;
664 }; 667 };
665 668
666 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(QuadEdgeEffect); 669 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(QuadEdgeEffect);
667 670
668 GrGeometryProcessor* QuadEdgeEffect::TestCreate(SkRandom* random, 671 GrGeometryProcessor* QuadEdgeEffect::TestCreate(SkRandom* random,
669 GrContext*, 672 GrContext*,
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
1025 BATCH_TEST_DEFINE(AAConvexPath) { 1028 BATCH_TEST_DEFINE(AAConvexPath) {
1026 AAConvexPathBatch::Geometry geometry; 1029 AAConvexPathBatch::Geometry geometry;
1027 geometry.fColor = GrRandomColor(random); 1030 geometry.fColor = GrRandomColor(random);
1028 geometry.fViewMatrix = GrTest::TestMatrix(random); 1031 geometry.fViewMatrix = GrTest::TestMatrix(random);
1029 geometry.fPath = GrTest::TestPathConvex(random); 1032 geometry.fPath = GrTest::TestPathConvex(random);
1030 1033
1031 return AAConvexPathBatch::Create(geometry); 1034 return AAConvexPathBatch::Create(geometry);
1032 } 1035 }
1033 1036
1034 #endif 1037 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698