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

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

Issue 778453002: Remove backend factories (Closed) Base URL: https://skia.googlesource.com/skia.git@unichoice
Patch Set: more clang warnings Created 6 years 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/effects/GrDitherEffect.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 "gl/builders/GrGLProgramBuilder.h" 10 #include "GrTexture.h"
11 #include "SkDistanceFieldGen.h"
11 #include "gl/GrGLProcessor.h" 12 #include "gl/GrGLProcessor.h"
12 #include "gl/GrGLSL.h" 13 #include "gl/GrGLSL.h"
13 #include "gl/GrGLTexture.h" 14 #include "gl/GrGLTexture.h"
14 #include "gl/GrGLGeometryProcessor.h" 15 #include "gl/GrGLGeometryProcessor.h"
15 #include "GrTBackendProcessorFactory.h" 16 #include "gl/builders/GrGLProgramBuilder.h"
16 #include "GrTexture.h"
17
18 #include "SkDistanceFieldGen.h"
19 17
20 // Assuming a radius of the diagonal of the fragment, hence a factor of sqrt(2)/ 2 18 // Assuming a radius of the diagonal of the fragment, hence a factor of sqrt(2)/ 2
21 #define SK_DistanceFieldAAFactor "0.7071" 19 #define SK_DistanceFieldAAFactor "0.7071"
22 20
23 class GrGLDistanceFieldTextureEffect : public GrGLGeometryProcessor { 21 class GrGLDistanceFieldTextureEffect : public GrGLGeometryProcessor {
24 public: 22 public:
25 GrGLDistanceFieldTextureEffect(const GrBackendProcessorFactory& factory, 23 GrGLDistanceFieldTextureEffect(const GrGeometryProcessor&,
26 const GrGeometryProcessor&,
27 const GrBatchTracker&) 24 const GrBatchTracker&)
28 : INHERITED (factory) 25 : fTextureSize(SkISize::Make(-1,-1))
29 , fTextureSize(SkISize::Make(-1,-1))
30 #ifdef SK_GAMMA_APPLY_TO_A8 26 #ifdef SK_GAMMA_APPLY_TO_A8
31 , fLuminance(-1.0f) 27 , fLuminance(-1.0f)
32 #endif 28 #endif
33 {} 29 {}
34 30
35 virtual void emitCode(const EmitArgs& args) SK_OVERRIDE { 31 virtual void emitCode(const EmitArgs& args) SK_OVERRIDE {
36 const GrDistanceFieldTextureEffect& dfTexEffect = 32 const GrDistanceFieldTextureEffect& dfTexEffect =
37 args.fGP.cast<GrDistanceFieldTextureEffect>(); 33 args.fGP.cast<GrDistanceFieldTextureEffect>();
38 34
39 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 35 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 #endif 174 #endif
179 uint32_t flags) 175 uint32_t flags)
180 : fTextureAccess(texture, params) 176 : fTextureAccess(texture, params)
181 #ifdef SK_GAMMA_APPLY_TO_A8 177 #ifdef SK_GAMMA_APPLY_TO_A8
182 , fGammaTextureAccess(gamma, gammaParams) 178 , fGammaTextureAccess(gamma, gammaParams)
183 , fLuminance(luminance) 179 , fLuminance(luminance)
184 #endif 180 #endif
185 , fFlags(flags & kNonLCD_DistanceFieldEffectMask) 181 , fFlags(flags & kNonLCD_DistanceFieldEffectMask)
186 , fInColor(NULL) { 182 , fInColor(NULL) {
187 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask)); 183 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask));
184 this->initClassID<GrDistanceFieldTextureEffect>();
188 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 185 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType));
189 if (flags & kColorAttr_DistanceFieldEffectFlag) { 186 if (flags & kColorAttr_DistanceFieldEffectFlag) {
190 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType)); 187 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType));
191 this->setHasVertexColor(); 188 this->setHasVertexColor();
192 } 189 }
193 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 190 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords",
194 kVec2f_GrVertexAttribT ype)); 191 kVec2f_GrVertexAttribT ype));
195 this->addTextureAccess(&fTextureAccess); 192 this->addTextureAccess(&fTextureAccess);
196 #ifdef SK_GAMMA_APPLY_TO_A8 193 #ifdef SK_GAMMA_APPLY_TO_A8
197 this->addTextureAccess(&fGammaTextureAccess); 194 this->addTextureAccess(&fGammaTextureAccess);
198 #endif 195 #endif
199 } 196 }
200 197
201 bool GrDistanceFieldTextureEffect::onIsEqual(const GrGeometryProcessor& other) c onst { 198 bool GrDistanceFieldTextureEffect::onIsEqual(const GrGeometryProcessor& other) c onst {
202 const GrDistanceFieldTextureEffect& cte = other.cast<GrDistanceFieldTextureE ffect>(); 199 const GrDistanceFieldTextureEffect& cte = other.cast<GrDistanceFieldTextureE ffect>();
203 return 200 return
204 #ifdef SK_GAMMA_APPLY_TO_A8 201 #ifdef SK_GAMMA_APPLY_TO_A8
205 fLuminance == cte.fLuminance && 202 fLuminance == cte.fLuminance &&
206 #endif 203 #endif
207 fFlags == cte.fFlags; 204 fFlags == cte.fFlags;
208 } 205 }
209 206
210 void GrDistanceFieldTextureEffect::onComputeInvariantOutput(GrInvariantOutput* i nout) const { 207 void GrDistanceFieldTextureEffect::onComputeInvariantOutput(GrInvariantOutput* i nout) const {
211 inout->mulByUnknownAlpha(); 208 inout->mulByUnknownAlpha();
212 } 209 }
213 210
214 const GrBackendGeometryProcessorFactory& GrDistanceFieldTextureEffect::getFactor y() const { 211 void GrDistanceFieldTextureEffect::getGLProcessorKey(const GrBatchTracker& bt,
215 return GrTBackendGeometryProcessorFactory<GrDistanceFieldTextureEffect>::get Instance(); 212 const GrGLCaps& caps,
213 GrProcessorKeyBuilder* b) c onst {
214 GrGLDistanceFieldTextureEffect::GenKey(*this, bt, caps, b);
215 }
216
217 GrGLGeometryProcessor*
218 GrDistanceFieldTextureEffect::createGLInstance(const GrBatchTracker& bt) const {
219 return SkNEW_ARGS(GrGLDistanceFieldTextureEffect, (*this, bt));
216 } 220 }
217 221
218 /////////////////////////////////////////////////////////////////////////////// 222 ///////////////////////////////////////////////////////////////////////////////
219 223
220 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrDistanceFieldTextureEffect); 224 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrDistanceFieldTextureEffect);
221 225
222 GrGeometryProcessor* GrDistanceFieldTextureEffect::TestCreate(SkRandom* random, 226 GrGeometryProcessor* GrDistanceFieldTextureEffect::TestCreate(SkRandom* random,
223 GrContext*, 227 GrContext*,
224 const GrDrawTarget Caps&, 228 const GrDrawTarget Caps&,
225 GrTexture* texture s[]) { 229 GrTexture* texture s[]) {
(...skipping 25 matching lines...) Expand all
251 random->nextF(), 255 random->nextF(),
252 #endif 256 #endif
253 random->nextBool() ? 257 random->nextBool() ?
254 kSimilarity_DistanceFieldEff ectFlag : 0); 258 kSimilarity_DistanceFieldEff ectFlag : 0);
255 } 259 }
256 260
257 /////////////////////////////////////////////////////////////////////////////// 261 ///////////////////////////////////////////////////////////////////////////////
258 262
259 class GrGLDistanceFieldNoGammaTextureEffect : public GrGLGeometryProcessor { 263 class GrGLDistanceFieldNoGammaTextureEffect : public GrGLGeometryProcessor {
260 public: 264 public:
261 GrGLDistanceFieldNoGammaTextureEffect(const GrBackendProcessorFactory& facto ry, 265 GrGLDistanceFieldNoGammaTextureEffect(const GrGeometryProcessor&,
262 const GrGeometryProcessor&,
263 const GrBatchTracker&) 266 const GrBatchTracker&)
264 : INHERITED(factory) 267 : fTextureSize(SkISize::Make(-1, -1)) {}
265 , fTextureSize(SkISize::Make(-1, -1)) {}
266 268
267 virtual void emitCode(const EmitArgs& args) SK_OVERRIDE { 269 virtual void emitCode(const EmitArgs& args) SK_OVERRIDE {
268 const GrDistanceFieldNoGammaTextureEffect& dfTexEffect = 270 const GrDistanceFieldNoGammaTextureEffect& dfTexEffect =
269 args.fGP.cast<GrDistanceFieldNoGammaTextureEffect>(); 271 args.fGP.cast<GrDistanceFieldNoGammaTextureEffect>();
270 272
271 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 273 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
272 SkAssertResult(fsBuilder->enableFeature( 274 SkAssertResult(fsBuilder->enableFeature(
273 GrGLFragmentShaderBuilder::kStandardDerivat ives_GLSLFeature)); 275 GrGLFragmentShaderBuilder::kStandardDerivat ives_GLSLFeature));
274 276
275 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 277 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 378
377 /////////////////////////////////////////////////////////////////////////////// 379 ///////////////////////////////////////////////////////////////////////////////
378 380
379 GrDistanceFieldNoGammaTextureEffect::GrDistanceFieldNoGammaTextureEffect(GrTextu re* texture, 381 GrDistanceFieldNoGammaTextureEffect::GrDistanceFieldNoGammaTextureEffect(GrTextu re* texture,
380 const GrText ureParams& params, 382 const GrText ureParams& params,
381 uint32_t fla gs) 383 uint32_t fla gs)
382 : fTextureAccess(texture, params) 384 : fTextureAccess(texture, params)
383 , fFlags(flags & kNonLCD_DistanceFieldEffectMask) 385 , fFlags(flags & kNonLCD_DistanceFieldEffectMask)
384 , fInColor(NULL) { 386 , fInColor(NULL) {
385 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask)); 387 SkASSERT(!(flags & ~kNonLCD_DistanceFieldEffectMask));
388 this->initClassID<GrDistanceFieldNoGammaTextureEffect>();
386 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 389 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType));
387 if (flags & kColorAttr_DistanceFieldEffectFlag) { 390 if (flags & kColorAttr_DistanceFieldEffectFlag) {
388 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType)); 391 fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVerte xAttribType));
389 this->setHasVertexColor(); 392 this->setHasVertexColor();
390 } 393 }
391 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 394 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords",
392 kVec2f_GrVertexAttribT ype)); 395 kVec2f_GrVertexAttribT ype));
393 this->addTextureAccess(&fTextureAccess); 396 this->addTextureAccess(&fTextureAccess);
394 } 397 }
395 398
396 bool GrDistanceFieldNoGammaTextureEffect::onIsEqual(const GrGeometryProcessor& o ther) const { 399 bool GrDistanceFieldNoGammaTextureEffect::onIsEqual(const GrGeometryProcessor& o ther) const {
397 const GrDistanceFieldNoGammaTextureEffect& cte = 400 const GrDistanceFieldNoGammaTextureEffect& cte =
398 other.cast<GrDistanceFieldNoGam maTextureEffect>(); 401 other.cast<GrDistanceFieldNoGam maTextureEffect>();
399 return fFlags == cte.fFlags; 402 return fFlags == cte.fFlags;
400 } 403 }
401 404
402 void GrDistanceFieldNoGammaTextureEffect::onComputeInvariantOutput(GrInvariantOu tput* inout) const { 405 void GrDistanceFieldNoGammaTextureEffect::onComputeInvariantOutput(GrInvariantOu tput* inout) const {
403 inout->mulByUnknownAlpha(); 406 inout->mulByUnknownAlpha();
404 } 407 }
405 408
406 const GrBackendGeometryProcessorFactory& GrDistanceFieldNoGammaTextureEffect::ge tFactory() const { 409 void GrDistanceFieldNoGammaTextureEffect::getGLProcessorKey(const GrBatchTracker & bt,
407 return GrTBackendGeometryProcessorFactory<GrDistanceFieldNoGammaTextureEffec t>::getInstance(); 410 const GrGLCaps& caps ,
411 GrProcessorKeyBuilde r* b) const {
412 GrGLDistanceFieldNoGammaTextureEffect::GenKey(*this, bt, caps, b);
413 }
414
415 GrGLGeometryProcessor*
416 GrDistanceFieldNoGammaTextureEffect::createGLInstance(const GrBatchTracker& bt) const {
417 return SkNEW_ARGS(GrGLDistanceFieldNoGammaTextureEffect, (*this, bt));
408 } 418 }
409 419
410 /////////////////////////////////////////////////////////////////////////////// 420 ///////////////////////////////////////////////////////////////////////////////
411 421
412 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrDistanceFieldNoGammaTextureEffect); 422 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrDistanceFieldNoGammaTextureEffect);
413 423
414 GrGeometryProcessor* GrDistanceFieldNoGammaTextureEffect::TestCreate(SkRandom* r andom, 424 GrGeometryProcessor* GrDistanceFieldNoGammaTextureEffect::TestCreate(SkRandom* r andom,
415 GrContext*, 425 GrContext*,
416 const GrDra wTargetCaps&, 426 const GrDra wTargetCaps&,
417 GrTexture* textures[]) { 427 GrTexture* textures[]) {
(...skipping 12 matching lines...) Expand all
430 : GrTextureParams::kNon e_FilterMode); 440 : GrTextureParams::kNon e_FilterMode);
431 441
432 return GrDistanceFieldNoGammaTextureEffect::Create(textures[texIdx], params, 442 return GrDistanceFieldNoGammaTextureEffect::Create(textures[texIdx], params,
433 random->nextBool() ? kSimilarity_DistanceFieldEffectFlag : 0); 443 random->nextBool() ? kSimilarity_DistanceFieldEffectFlag : 0);
434 } 444 }
435 445
436 /////////////////////////////////////////////////////////////////////////////// 446 ///////////////////////////////////////////////////////////////////////////////
437 447
438 class GrGLDistanceFieldLCDTextureEffect : public GrGLGeometryProcessor { 448 class GrGLDistanceFieldLCDTextureEffect : public GrGLGeometryProcessor {
439 public: 449 public:
440 GrGLDistanceFieldLCDTextureEffect(const GrBackendProcessorFactory& factory, 450 GrGLDistanceFieldLCDTextureEffect(const GrGeometryProcessor&,
441 const GrGeometryProcessor&,
442 const GrBatchTracker&) 451 const GrBatchTracker&)
443 : INHERITED (factory) 452 : fTextureSize(SkISize::Make(-1,-1))
444 , fTextureSize(SkISize::Make(-1,-1))
445 , fTextColor(GrColor_ILLEGAL) {} 453 , fTextColor(GrColor_ILLEGAL) {}
446 454
447 virtual void emitCode(const EmitArgs& args) SK_OVERRIDE { 455 virtual void emitCode(const EmitArgs& args) SK_OVERRIDE {
448 const GrDistanceFieldLCDTextureEffect& dfTexEffect = 456 const GrDistanceFieldLCDTextureEffect& dfTexEffect =
449 args.fGP.cast<GrDistanceFieldLCDTextureEffect>(); 457 args.fGP.cast<GrDistanceFieldLCDTextureEffect>();
450 458
451 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 459 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
452 GrGLVertToFrag v(kVec2f_GrSLType); 460 GrGLVertToFrag v(kVec2f_GrSLType);
453 args.fPB->addVarying("TextureCoords", &v); 461 args.fPB->addVarying("TextureCoords", &v);
454 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName); 462 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName);
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 GrDistanceFieldLCDTextureEffect::GrDistanceFieldLCDTextureEffect( 636 GrDistanceFieldLCDTextureEffect::GrDistanceFieldLCDTextureEffect(
629 GrTexture* texture, const GrTe xtureParams& params, 637 GrTexture* texture, const GrTe xtureParams& params,
630 GrTexture* gamma, const GrText ureParams& gParams, 638 GrTexture* gamma, const GrText ureParams& gParams,
631 SkColor textColor, 639 SkColor textColor,
632 uint32_t flags) 640 uint32_t flags)
633 : fTextureAccess(texture, params) 641 : fTextureAccess(texture, params)
634 , fGammaTextureAccess(gamma, gParams) 642 , fGammaTextureAccess(gamma, gParams)
635 , fTextColor(textColor) 643 , fTextColor(textColor)
636 , fFlags(flags & kLCD_DistanceFieldEffectMask){ 644 , fFlags(flags & kLCD_DistanceFieldEffectMask){
637 SkASSERT(!(flags & ~kLCD_DistanceFieldEffectMask) && (flags & kUseLCD_Distan ceFieldEffectFlag)); 645 SkASSERT(!(flags & ~kLCD_DistanceFieldEffectMask) && (flags & kUseLCD_Distan ceFieldEffectFlag));
646 this->initClassID<GrDistanceFieldLCDTextureEffect>();
638 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType)); 647 fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVert exAttribType));
639 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords", 648 fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords",
640 kVec2f_GrVertexAttribT ype)); 649 kVec2f_GrVertexAttribT ype));
641 this->addTextureAccess(&fTextureAccess); 650 this->addTextureAccess(&fTextureAccess);
642 this->addTextureAccess(&fGammaTextureAccess); 651 this->addTextureAccess(&fGammaTextureAccess);
643 } 652 }
644 653
645 bool GrDistanceFieldLCDTextureEffect::onIsEqual(const GrGeometryProcessor& other ) const { 654 bool GrDistanceFieldLCDTextureEffect::onIsEqual(const GrGeometryProcessor& other ) const {
646 const GrDistanceFieldLCDTextureEffect& cte = other.cast<GrDistanceFieldLCDTe xtureEffect>(); 655 const GrDistanceFieldLCDTextureEffect& cte = other.cast<GrDistanceFieldLCDTe xtureEffect>();
647 return (fTextColor == cte.fTextColor && 656 return (fTextColor == cte.fTextColor &&
648 fFlags == cte.fFlags); 657 fFlags == cte.fFlags);
649 } 658 }
650 659
651 void GrDistanceFieldLCDTextureEffect::onComputeInvariantOutput(GrInvariantOutput * inout) const { 660 void GrDistanceFieldLCDTextureEffect::onComputeInvariantOutput(GrInvariantOutput * inout) const {
652 inout->mulByUnknownColor(); 661 inout->mulByUnknownColor();
653 } 662 }
654 663
655 const GrBackendGeometryProcessorFactory& GrDistanceFieldLCDTextureEffect::getFac tory() const { 664 void GrDistanceFieldLCDTextureEffect::getGLProcessorKey(const GrBatchTracker& bt ,
656 return GrTBackendGeometryProcessorFactory<GrDistanceFieldLCDTextureEffect>:: getInstance(); 665 const GrGLCaps& caps,
666 GrProcessorKeyBuilder* b ) const {
667 GrGLDistanceFieldLCDTextureEffect::GenKey(*this, bt, caps, b);
668 }
669
670 GrGLGeometryProcessor*
671 GrDistanceFieldLCDTextureEffect::createGLInstance(const GrBatchTracker& bt) cons t {
672 return SkNEW_ARGS(GrGLDistanceFieldLCDTextureEffect, (*this, bt));
657 } 673 }
658 674
659 /////////////////////////////////////////////////////////////////////////////// 675 ///////////////////////////////////////////////////////////////////////////////
660 676
661 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrDistanceFieldLCDTextureEffect); 677 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrDistanceFieldLCDTextureEffect);
662 678
663 GrGeometryProcessor* GrDistanceFieldLCDTextureEffect::TestCreate(SkRandom* rando m, 679 GrGeometryProcessor* GrDistanceFieldLCDTextureEffect::TestCreate(SkRandom* rando m,
664 GrContext*, 680 GrContext*,
665 const GrDrawTar getCaps&, 681 const GrDrawTar getCaps&,
666 GrTexture* text ures[]) { 682 GrTexture* text ures[]) {
(...skipping 19 matching lines...) Expand all
686 random->nextULessThan(256), 702 random->nextULessThan(256),
687 random->nextULessThan(256)); 703 random->nextULessThan(256));
688 uint32_t flags = kUseLCD_DistanceFieldEffectFlag; 704 uint32_t flags = kUseLCD_DistanceFieldEffectFlag;
689 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0; 705 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0;
690 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 706 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
691 return GrDistanceFieldLCDTextureEffect::Create(textures[texIdx], params, 707 return GrDistanceFieldLCDTextureEffect::Create(textures[texIdx], params,
692 textures[texIdx2], params2, 708 textures[texIdx2], params2,
693 textColor, 709 textColor,
694 flags); 710 flags);
695 } 711 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrDistanceFieldTextureEffect.h ('k') | src/gpu/effects/GrDitherEffect.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698