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

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: dm fix 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/GrDistanceFieldTextureEffect.h ('k') | src/gpu/gl/GrGLGeometryProcessor.h » ('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 "GrDistanceFieldTextureEffect.h" 8 #include "GrDistanceFieldTextureEffect.h"
9 #include "GrInvariantOutput.h" 9 #include "GrInvariantOutput.h"
10 #include "GrTexture.h" 10 #include "GrTexture.h"
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors) 205 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors)
206 , fTextureAccess(texture, params) 206 , fTextureAccess(texture, params)
207 #ifdef SK_GAMMA_APPLY_TO_A8 207 #ifdef SK_GAMMA_APPLY_TO_A8
208 , fGammaTextureAccess(gamma, gammaParams) 208 , fGammaTextureAccess(gamma, gammaParams)
209 , fLuminance(luminance) 209 , fLuminance(luminance)
210 #endif 210 #endif
211 , fFlags(flags & kNonLCD_DistanceFieldEffectMask) 211 , fFlags(flags & kNonLCD_DistanceFieldEffectMask)
212 , fInColor(NULL) { 212 , fInColor(NULL) {
213 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask)); 213 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask));
214 this->initClassID<GrDistanceFieldTextureEffect>(); 214 this->initClassID<GrDistanceFieldTextureEffect>();
215 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 215 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
216 if (flags & kColorAttr_DistanceFieldEffectFlag) { 216 if (flags & kColorAttr_DistanceFieldEffectFlag) {
217 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType)); 217 fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexA ttribType));
218 this->setHasVertexColor(); 218 this->setHasVertexColor();
219 } 219 }
220 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 220 fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
221 kVec2f_GrVertexAttribT ype)); 221 kVec2f_GrVertexAttribT ype));
222 this->addTextureAccess(&fTextureAccess); 222 this->addTextureAccess(&fTextureAccess);
223 #ifdef SK_GAMMA_APPLY_TO_A8 223 #ifdef SK_GAMMA_APPLY_TO_A8
224 this->addTextureAccess(&fGammaTextureAccess); 224 this->addTextureAccess(&fGammaTextureAccess);
225 #endif 225 #endif
226 } 226 }
227 227
228 bool GrDistanceFieldTextureEffect::onIsEqual(const GrGeometryProcessor& other) c onst { 228 bool GrDistanceFieldTextureEffect::onIsEqual(const GrGeometryProcessor& other) c onst {
229 const GrDistanceFieldTextureEffect& cte = other.cast<GrDistanceFieldTextureE ffect>(); 229 const GrDistanceFieldTextureEffect& cte = other.cast<GrDistanceFieldTextureE ffect>();
230 return 230 return
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 GrTexture* texture, 465 GrTexture* texture,
466 const GrTextureParams& params, 466 const GrTextureParams& params,
467 uint32_t flags, 467 uint32_t flags,
468 bool opaqueVertexColors) 468 bool opaqueVertexColors)
469 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors) 469 : INHERITED(color, viewMatrix, SkMatrix::I(), opaqueVertexColors)
470 , fTextureAccess(texture, params) 470 , fTextureAccess(texture, params)
471 , fFlags(flags & kNonLCD_DistanceFieldEffectMask) 471 , fFlags(flags & kNonLCD_DistanceFieldEffectMask)
472 , fInColor(NULL) { 472 , fInColor(NULL) {
473 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask)); 473 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask));
474 this->initClassID<GrDistanceFieldNoGammaTextureEffect>(); 474 this->initClassID<GrDistanceFieldNoGammaTextureEffect>();
475 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 475 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
476 if (flags & kColorAttr_DistanceFieldEffectFlag) { 476 if (flags & kColorAttr_DistanceFieldEffectFlag) {
477 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType)); 477 fInColor = &this->addVertexAttrib(Attribute("inColor", kVec4ub_GrVertexA ttribType));
478 this->setHasVertexColor(); 478 this->setHasVertexColor();
479 } 479 }
480 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 480 fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
481 kVec2f_GrVertexAttribT ype)); 481 kVec2f_GrVertexAttribT ype));
482 this->addTextureAccess(&fTextureAccess); 482 this->addTextureAccess(&fTextureAccess);
483 } 483 }
484 484
485 bool GrDistanceFieldNoGammaTextureEffect::onIsEqual(const GrGeometryProcessor& o ther) const { 485 bool GrDistanceFieldNoGammaTextureEffect::onIsEqual(const GrGeometryProcessor& o ther) const {
486 const GrDistanceFieldNoGammaTextureEffect& cte = 486 const GrDistanceFieldNoGammaTextureEffect& cte =
487 other.cast<GrDistanceFieldNoGam maTextureEffect>(); 487 other.cast<GrDistanceFieldNoGam maTextureEffect>();
488 return fFlags == cte.fFlags; 488 return fFlags == cte.fFlags;
489 } 489 }
490 490
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 GrTexture* gamma, const GrText ureParams& gParams, 782 GrTexture* gamma, const GrText ureParams& gParams,
783 SkColor textColor, 783 SkColor textColor,
784 uint32_t flags) 784 uint32_t flags)
785 : INHERITED(color, viewMatrix, SkMatrix::I()) 785 : INHERITED(color, viewMatrix, SkMatrix::I())
786 , fTextureAccess(texture, params) 786 , fTextureAccess(texture, params)
787 , fGammaTextureAccess(gamma, gParams) 787 , fGammaTextureAccess(gamma, gParams)
788 , fTextColor(textColor) 788 , fTextColor(textColor)
789 , fFlags(flags & kLCD_DistanceFieldEffectMask){ 789 , fFlags(flags & kLCD_DistanceFieldEffectMask){
790 SkASSERT(!(flags & ~kLCD_DistanceFieldEffectMask) && (flags & kUseLCD_Distan ceFieldEffectFlag)); 790 SkASSERT(!(flags & ~kLCD_DistanceFieldEffectMask) && (flags & kUseLCD_Distan ceFieldEffectFlag));
791 this->initClassID<GrDistanceFieldLCDTextureEffect>(); 791 this->initClassID<GrDistanceFieldLCDTextureEffect>();
792 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 792 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
793 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 793 fInTextureCoords = &this->addVertexAttrib(Attribute("inTextureCoords",
794 kVec2f_GrVertexAttribT ype)); 794 kVec2f_GrVertexAttribT ype));
795 this->addTextureAccess(&fTextureAccess); 795 this->addTextureAccess(&fTextureAccess);
796 this->addTextureAccess(&fGammaTextureAccess); 796 this->addTextureAccess(&fGammaTextureAccess);
797 } 797 }
798 798
799 bool GrDistanceFieldLCDTextureEffect::onIsEqual(const GrGeometryProcessor& other ) const { 799 bool GrDistanceFieldLCDTextureEffect::onIsEqual(const GrGeometryProcessor& other ) const {
800 const GrDistanceFieldLCDTextureEffect& cte = other.cast<GrDistanceFieldLCDTe xtureEffect>(); 800 const GrDistanceFieldLCDTextureEffect& cte = other.cast<GrDistanceFieldLCDTe xtureEffect>();
801 return (fTextColor == cte.fTextColor && 801 return (fTextColor == cte.fTextColor &&
802 fFlags == cte.fFlags); 802 fFlags == cte.fFlags);
803 } 803 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
869 uint32_t flags = kUseLCD_DistanceFieldEffectFlag; 869 uint32_t flags = kUseLCD_DistanceFieldEffectFlag;
870 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0; 870 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0;
871 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 871 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
872 return GrDistanceFieldLCDTextureEffect::Create(GrRandomColor(random), 872 return GrDistanceFieldLCDTextureEffect::Create(GrRandomColor(random),
873 GrProcessorUnitTest::TestMatr ix(random), 873 GrProcessorUnitTest::TestMatr ix(random),
874 textures[texIdx], params, 874 textures[texIdx], params,
875 textures[texIdx2], params2, 875 textures[texIdx2], params2,
876 textColor, 876 textColor,
877 flags); 877 flags);
878 } 878 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrDistanceFieldTextureEffect.h ('k') | src/gpu/gl/GrGLGeometryProcessor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698