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

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

Issue 820783005: More changes to bring together path / geo procs (Closed) Base URL: https://skia.googlesource.com/skia.git@lc1
Patch Set: feedback incorporated 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
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 "GrDistanceFieldTextureEffect.h" 8 #include "GrDistanceFieldTextureEffect.h"
9 #include "GrInvariantOutput.h" 9 #include "GrInvariantOutput.h"
10 #include "GrTexture.h" 10 #include "GrTexture.h"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors) 209 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors)
210 , fTextureAccess(texture, params) 210 , fTextureAccess(texture, params)
211 #ifdef SK_GAMMA_APPLY_TO_A8 211 #ifdef SK_GAMMA_APPLY_TO_A8
212 , fGammaTextureAccess(gamma, gammaParams) 212 , fGammaTextureAccess(gamma, gammaParams)
213 , fLuminance(luminance) 213 , fLuminance(luminance)
214 #endif 214 #endif
215 , fFlags(flags & kNonLCD_DistanceFieldEffectMask) 215 , fFlags(flags & kNonLCD_DistanceFieldEffectMask)
216 , fInColor(NULL) { 216 , fInColor(NULL) {
217 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask)); 217 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask));
218 this->initClassID<GrDistanceFieldTextureEffect>(); 218 this->initClassID<GrDistanceFieldTextureEffect>();
219 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 219 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
220 if (flags & kColorAttr_DistanceFieldEffectFlag) { 220 if (flags & kColorAttr_DistanceFieldEffectFlag) {
221 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType)); 221 fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexA ttribType));
222 this->setHasVertexColor(); 222 this->setHasVertexColor();
223 } 223 }
224 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 224 fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
225 kVec2f_GrVertexAttribT ype)); 225 kVec2f_GrVertexAttribT ype));
226 this->addTextureAccess(&fTextureAccess); 226 this->addTextureAccess(&fTextureAccess);
227 #ifdef SK_GAMMA_APPLY_TO_A8 227 #ifdef SK_GAMMA_APPLY_TO_A8
228 this->addTextureAccess(&fGammaTextureAccess); 228 this->addTextureAccess(&fGammaTextureAccess);
229 #endif 229 #endif
230 } 230 }
231 231
232 bool GrDistanceFieldTextureEffect::onIsEqual(const GrGeometryProcessor& other) c onst { 232 bool GrDistanceFieldTextureEffect::onIsEqual(const GrGeometryProcessor& other) c onst {
233 const GrDistanceFieldTextureEffect& cte = other.cast<GrDistanceFieldTextureE ffect>(); 233 const GrDistanceFieldTextureEffect& cte = other.cast<GrDistanceFieldTextureE ffect>();
234 return 234 return
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 GrTexture* texture, 473 GrTexture* texture,
474 const GrTextureParams& params, 474 const GrTextureParams& params,
475 uint32_t flags, 475 uint32_t flags,
476 bool opaqueVertexColors) 476 bool opaqueVertexColors)
477 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors) 477 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors)
478 , fTextureAccess(texture, params) 478 , fTextureAccess(texture, params)
479 , fFlags(flags & kNonLCD_DistanceFieldEffectMask) 479 , fFlags(flags & kNonLCD_DistanceFieldEffectMask)
480 , fInColor(NULL) { 480 , fInColor(NULL) {
481 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask)); 481 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask));
482 this->initClassID<GrDistanceFieldNoGammaTextureEffect>(); 482 this->initClassID<GrDistanceFieldNoGammaTextureEffect>();
483 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 483 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
484 if (flags & kColorAttr_DistanceFieldEffectFlag) { 484 if (flags & kColorAttr_DistanceFieldEffectFlag) {
485 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType)); 485 fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexA ttribType));
486 this->setHasVertexColor(); 486 this->setHasVertexColor();
487 } 487 }
488 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 488 fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
489 kVec2f_GrVertexAttribT ype)); 489 kVec2f_GrVertexAttribT ype));
490 this->addTextureAccess(&fTextureAccess); 490 this->addTextureAccess(&fTextureAccess);
491 } 491 }
492 492
493 bool GrDistanceFieldNoGammaTextureEffect::onIsEqual(const GrGeometryProcessor& o ther) const { 493 bool GrDistanceFieldNoGammaTextureEffect::onIsEqual(const GrGeometryProcessor& o ther) const {
494 const GrDistanceFieldNoGammaTextureEffect& cte = 494 const GrDistanceFieldNoGammaTextureEffect& cte =
495 other.cast<GrDistanceFieldNoGam maTextureEffect>(); 495 other.cast<GrDistanceFieldNoGam maTextureEffect>();
496 return fFlags == cte.fFlags; 496 return fFlags == cte.fFlags;
497 } 497 }
498 498
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 GrTexture* gamma, const GrText ureParams& gParams, 794 GrTexture* gamma, const GrText ureParams& gParams,
795 SkColor textColor, 795 SkColor textColor,
796 uint32_t flags) 796 uint32_t flags)
797 : INHERITED(color, viewMatrix, SkMatrix::I()) 797 : INHERITED(color, viewMatrix, SkMatrix::I())
798 , fTextureAccess(texture, params) 798 , fTextureAccess(texture, params)
799 , fGammaTextureAccess(gamma, gParams) 799 , fGammaTextureAccess(gamma, gParams)
800 , fTextColor(textColor) 800 , fTextColor(textColor)
801 , fFlags(flags & kLCD_DistanceFieldEffectMask){ 801 , fFlags(flags & kLCD_DistanceFieldEffectMask){
802 SkASSERT(!(flags & ~kLCD_DistanceFieldEffectMask) && (flags & kUseLCD_Distan ceFieldEffectFlag)); 802 SkASSERT(!(flags & ~kLCD_DistanceFieldEffectMask) && (flags & kUseLCD_Distan ceFieldEffectFlag));
803 this->initClassID<GrDistanceFieldLCDTextureEffect>(); 803 this->initClassID<GrDistanceFieldLCDTextureEffect>();
804 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 804 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
805 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 805 fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
806 kVec2f_GrVertexAttribT ype)); 806 kVec2f_GrVertexAttribT ype));
807 this->addTextureAccess(&fTextureAccess); 807 this->addTextureAccess(&fTextureAccess);
808 this->addTextureAccess(&fGammaTextureAccess); 808 this->addTextureAccess(&fGammaTextureAccess);
809 } 809 }
810 810
811 bool GrDistanceFieldLCDTextureEffect::onIsEqual(const GrGeometryProcessor& other ) const { 811 bool GrDistanceFieldLCDTextureEffect::onIsEqual(const GrGeometryProcessor& other ) const {
812 const GrDistanceFieldLCDTextureEffect& cte = other.cast<GrDistanceFieldLCDTe xtureEffect>(); 812 const GrDistanceFieldLCDTextureEffect& cte = other.cast<GrDistanceFieldLCDTe xtureEffect>();
813 return (fTextColor == cte.fTextColor && 813 return (fTextColor == cte.fTextColor &&
814 fFlags == cte.fFlags); 814 fFlags == cte.fFlags);
815 } 815 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 uint32_t flags = kUseLCD_DistanceFieldEffectFlag; 881 uint32_t flags = kUseLCD_DistanceFieldEffectFlag;
882 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0; 882 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0;
883 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 883 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
884 return GrDistanceFieldLCDTextureEffect::Create(GrRandomColor(random), 884 return GrDistanceFieldLCDTextureEffect::Create(GrRandomColor(random),
885 GrProcessorUnitTest::TestMatr ix(random), 885 GrProcessorUnitTest::TestMatr ix(random),
886 textures[texIdx], params, 886 textures[texIdx], params,
887 textures[texIdx2], params2, 887 textures[texIdx2], params2,
888 textColor, 888 textColor,
889 flags); 889 flags);
890 } 890 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698