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

Side by Side Diff: src/gpu/effects/GrBezierEffect.cpp

Issue 815553003: Move ViewMatrix off of drawstate (Closed) Base URL: https://skia.googlesource.com/skia.git@remove-fragment-stage
Patch Set: more cleaning Created 5 years, 11 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
« no previous file with comments | « src/gpu/effects/GrBezierEffect.h ('k') | src/gpu/effects/GrBitmapTextGeoProc.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "gl/GrGLProcessor.h" 10 #include "gl/GrGLProcessor.h"
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 void GrConicEffect::getGLProcessorKey(const GrBatchTracker& bt, 176 void GrConicEffect::getGLProcessorKey(const GrBatchTracker& bt,
177 const GrGLCaps& caps, 177 const GrGLCaps& caps,
178 GrProcessorKeyBuilder* b) const { 178 GrProcessorKeyBuilder* b) const {
179 GrGLConicEffect::GenKey(*this, bt, caps, b); 179 GrGLConicEffect::GenKey(*this, bt, caps, b);
180 } 180 }
181 181
182 GrGLGeometryProcessor* GrConicEffect::createGLInstance(const GrBatchTracker& bt) const { 182 GrGLGeometryProcessor* GrConicEffect::createGLInstance(const GrBatchTracker& bt) const {
183 return SkNEW_ARGS(GrGLConicEffect, (*this, bt)); 183 return SkNEW_ARGS(GrGLConicEffect, (*this, bt));
184 } 184 }
185 185
186 GrConicEffect::GrConicEffect(GrColor color, uint8_t coverage, GrPrimitiveEdgeTyp e edgeType, 186 GrConicEffect::GrConicEffect(GrColor color, const SkMatrix& viewMatrix, uint8_t coverage,
187 const SkMatrix& localMatrix) 187 GrPrimitiveEdgeType edgeType, const SkMatrix& local Matrix)
188 : INHERITED(color, false, localMatrix), fCoverageScale(coverage), fEdgeType( edgeType) { 188 : INHERITED(color, viewMatrix, localMatrix)
189 , fCoverageScale(coverage)
190 , fEdgeType(edgeType) {
189 this->initClassID<GrConicEffect>(); 191 this->initClassID<GrConicEffect>();
190 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 192 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType));
191 fInConicCoeffs = &this->addVertexAttrib(GrAttribute("inConicCoeffs", 193 fInConicCoeffs = &this->addVertexAttrib(GrAttribute("inConicCoeffs",
192 kVec4f_GrVertexAttribTyp e)); 194 kVec4f_GrVertexAttribTyp e));
193 } 195 }
194 196
195 bool GrConicEffect::onIsEqual(const GrGeometryProcessor& other) const { 197 bool GrConicEffect::onIsEqual(const GrGeometryProcessor& other) const {
196 const GrConicEffect& ce = other.cast<GrConicEffect>(); 198 const GrConicEffect& ce = other.cast<GrConicEffect>();
197 return (ce.fEdgeType == fEdgeType); 199 return (ce.fEdgeType == fEdgeType);
198 } 200 }
(...skipping 22 matching lines...) Expand all
221 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrConicEffect); 223 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrConicEffect);
222 224
223 GrGeometryProcessor* GrConicEffect::TestCreate(SkRandom* random, 225 GrGeometryProcessor* GrConicEffect::TestCreate(SkRandom* random,
224 GrContext*, 226 GrContext*,
225 const GrDrawTargetCaps& caps, 227 const GrDrawTargetCaps& caps,
226 GrTexture*[]) { 228 GrTexture*[]) {
227 GrGeometryProcessor* gp; 229 GrGeometryProcessor* gp;
228 do { 230 do {
229 GrPrimitiveEdgeType edgeType = static_cast<GrPrimitiveEdgeType>( 231 GrPrimitiveEdgeType edgeType = static_cast<GrPrimitiveEdgeType>(
230 random->nextULessThan(kGrPro cessorEdgeTypeCnt)); 232 random->nextULessThan(kGrPro cessorEdgeTypeCnt));
231 gp = GrConicEffect::Create(GrRandomColor(random), edgeType, caps, 233 gp = GrConicEffect::Create(GrRandomColor(random), GrProcessorUnitTest::T estMatrix(random),
234 edgeType, caps,
232 GrProcessorUnitTest::TestMatrix(random)); 235 GrProcessorUnitTest::TestMatrix(random));
233 } while (NULL == gp); 236 } while (NULL == gp);
234 return gp; 237 return gp;
235 } 238 }
236 239
237 ////////////////////////////////////////////////////////////////////////////// 240 //////////////////////////////////////////////////////////////////////////////
238 // Quad 241 // Quad
239 ////////////////////////////////////////////////////////////////////////////// 242 //////////////////////////////////////////////////////////////////////////////
240 243
241 struct QuadBatchTracker { 244 struct QuadBatchTracker {
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 void GrQuadEffect::getGLProcessorKey(const GrBatchTracker& bt, 391 void GrQuadEffect::getGLProcessorKey(const GrBatchTracker& bt,
389 const GrGLCaps& caps, 392 const GrGLCaps& caps,
390 GrProcessorKeyBuilder* b) const { 393 GrProcessorKeyBuilder* b) const {
391 GrGLQuadEffect::GenKey(*this, bt, caps, b); 394 GrGLQuadEffect::GenKey(*this, bt, caps, b);
392 } 395 }
393 396
394 GrGLGeometryProcessor* GrQuadEffect::createGLInstance(const GrBatchTracker& bt) const { 397 GrGLGeometryProcessor* GrQuadEffect::createGLInstance(const GrBatchTracker& bt) const {
395 return SkNEW_ARGS(GrGLQuadEffect, (*this, bt)); 398 return SkNEW_ARGS(GrGLQuadEffect, (*this, bt));
396 } 399 }
397 400
398 GrQuadEffect::GrQuadEffect(GrColor color, uint8_t coverage, GrPrimitiveEdgeType edgeType, 401 GrQuadEffect::GrQuadEffect(GrColor color, const SkMatrix& viewMatrix, uint8_t co verage,
399 const SkMatrix& localMatrix) 402 GrPrimitiveEdgeType edgeType, const SkMatrix& localMa trix)
400 : INHERITED(color, false, localMatrix), fCoverageScale(coverage), fEdgeType( edgeType) { 403 : INHERITED(color, viewMatrix, localMatrix)
404 , fCoverageScale(coverage)
405 , fEdgeType(edgeType) {
401 this->initClassID<GrQuadEffect>(); 406 this->initClassID<GrQuadEffect>();
402 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 407 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType));
403 fInHairQuadEdge = &this->addVertexAttrib(GrAttribute("inHairQuadEdge", 408 fInHairQuadEdge = &this->addVertexAttrib(GrAttribute("inHairQuadEdge",
404 kVec4f_GrVertexAttribTyp e)); 409 kVec4f_GrVertexAttribTyp e));
405 } 410 }
406 411
407 bool GrQuadEffect::onIsEqual(const GrGeometryProcessor& other) const { 412 bool GrQuadEffect::onIsEqual(const GrGeometryProcessor& other) const {
408 const GrQuadEffect& ce = other.cast<GrQuadEffect>(); 413 const GrQuadEffect& ce = other.cast<GrQuadEffect>();
409 return (ce.fEdgeType == fEdgeType); 414 return (ce.fEdgeType == fEdgeType);
410 } 415 }
(...skipping 22 matching lines...) Expand all
433 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrQuadEffect); 438 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrQuadEffect);
434 439
435 GrGeometryProcessor* GrQuadEffect::TestCreate(SkRandom* random, 440 GrGeometryProcessor* GrQuadEffect::TestCreate(SkRandom* random,
436 GrContext*, 441 GrContext*,
437 const GrDrawTargetCaps& caps, 442 const GrDrawTargetCaps& caps,
438 GrTexture*[]) { 443 GrTexture*[]) {
439 GrGeometryProcessor* gp; 444 GrGeometryProcessor* gp;
440 do { 445 do {
441 GrPrimitiveEdgeType edgeType = static_cast<GrPrimitiveEdgeType>( 446 GrPrimitiveEdgeType edgeType = static_cast<GrPrimitiveEdgeType>(
442 random->nextULessThan(kGrProcessorEdgeTypeCnt)); 447 random->nextULessThan(kGrProcessorEdgeTypeCnt));
443 gp = GrQuadEffect::Create(GrRandomColor(random), edgeType, caps, 448 gp = GrQuadEffect::Create(GrRandomColor(random),
449 GrProcessorUnitTest::TestMatrix(random),
450 edgeType, caps,
444 GrProcessorUnitTest::TestMatrix(random)); 451 GrProcessorUnitTest::TestMatrix(random));
445 } while (NULL == gp); 452 } while (NULL == gp);
446 return gp; 453 return gp;
447 } 454 }
448 455
449 ////////////////////////////////////////////////////////////////////////////// 456 //////////////////////////////////////////////////////////////////////////////
450 // Cubic 457 // Cubic
451 ////////////////////////////////////////////////////////////////////////////// 458 //////////////////////////////////////////////////////////////////////////////
452 459
453 struct CubicBatchTracker { 460 struct CubicBatchTracker {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 void GrCubicEffect::getGLProcessorKey(const GrBatchTracker& bt, 629 void GrCubicEffect::getGLProcessorKey(const GrBatchTracker& bt,
623 const GrGLCaps& caps, 630 const GrGLCaps& caps,
624 GrProcessorKeyBuilder* b) const { 631 GrProcessorKeyBuilder* b) const {
625 GrGLCubicEffect::GenKey(*this, bt, caps, b); 632 GrGLCubicEffect::GenKey(*this, bt, caps, b);
626 } 633 }
627 634
628 GrGLGeometryProcessor* GrCubicEffect::createGLInstance(const GrBatchTracker& bt) const { 635 GrGLGeometryProcessor* GrCubicEffect::createGLInstance(const GrBatchTracker& bt) const {
629 return SkNEW_ARGS(GrGLCubicEffect, (*this, bt)); 636 return SkNEW_ARGS(GrGLCubicEffect, (*this, bt));
630 } 637 }
631 638
632 GrCubicEffect::GrCubicEffect(GrColor color, GrPrimitiveEdgeType edgeType) 639 GrCubicEffect::GrCubicEffect(GrColor color, const SkMatrix& viewMatrix,
633 : INHERITED(color), fEdgeType(edgeType) { 640 GrPrimitiveEdgeType edgeType)
641 : INHERITED(color, viewMatrix), fEdgeType(edgeType) {
634 this->initClassID<GrCubicEffect>(); 642 this->initClassID<GrCubicEffect>();
635 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 643 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType));
636 fInCubicCoeffs = &this->addVertexAttrib(GrAttribute("inCubicCoeffs", 644 fInCubicCoeffs = &this->addVertexAttrib(GrAttribute("inCubicCoeffs",
637 kVec4f_GrVertexAttribTyp e)); 645 kVec4f_GrVertexAttribTyp e));
638 } 646 }
639 647
640 bool GrCubicEffect::onIsEqual(const GrGeometryProcessor& other) const { 648 bool GrCubicEffect::onIsEqual(const GrGeometryProcessor& other) const {
641 const GrCubicEffect& ce = other.cast<GrCubicEffect>(); 649 const GrCubicEffect& ce = other.cast<GrCubicEffect>();
642 return (ce.fEdgeType == fEdgeType); 650 return (ce.fEdgeType == fEdgeType);
643 } 651 }
(...skipping 20 matching lines...) Expand all
664 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrCubicEffect); 672 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrCubicEffect);
665 673
666 GrGeometryProcessor* GrCubicEffect::TestCreate(SkRandom* random, 674 GrGeometryProcessor* GrCubicEffect::TestCreate(SkRandom* random,
667 GrContext*, 675 GrContext*,
668 const GrDrawTargetCaps& caps, 676 const GrDrawTargetCaps& caps,
669 GrTexture*[]) { 677 GrTexture*[]) {
670 GrGeometryProcessor* gp; 678 GrGeometryProcessor* gp;
671 do { 679 do {
672 GrPrimitiveEdgeType edgeType = static_cast<GrPrimitiveEdgeType>( 680 GrPrimitiveEdgeType edgeType = static_cast<GrPrimitiveEdgeType>(
673 random->nextULessThan(kGrPro cessorEdgeTypeCnt)); 681 random->nextULessThan(kGrPro cessorEdgeTypeCnt));
674 gp = GrCubicEffect::Create(GrRandomColor(random), edgeType, caps); 682 gp = GrCubicEffect::Create(GrRandomColor(random),
683 GrProcessorUnitTest::TestMatrix(random), edge Type, caps);
675 } while (NULL == gp); 684 } while (NULL == gp);
676 return gp; 685 return gp;
677 } 686 }
678 687
OLDNEW
« no previous file with comments | « src/gpu/effects/GrBezierEffect.h ('k') | src/gpu/effects/GrBitmapTextGeoProc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698