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

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

Issue 822423004: Move most of the transform logic into the primitive processors (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: cleanup 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/GrGLCaps.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 17 matching lines...) Expand all
28 public: 28 public:
29 GrGLDistanceFieldTextureEffect(const GrGeometryProcessor&, 29 GrGLDistanceFieldTextureEffect(const GrGeometryProcessor&,
30 const GrBatchTracker&) 30 const GrBatchTracker&)
31 : fColor(GrColor_ILLEGAL) 31 : fColor(GrColor_ILLEGAL)
32 , fTextureSize(SkISize::Make(-1,-1)) 32 , fTextureSize(SkISize::Make(-1,-1))
33 #ifdef SK_GAMMA_APPLY_TO_A8 33 #ifdef SK_GAMMA_APPLY_TO_A8
34 , fLuminance(-1.0f) 34 , fLuminance(-1.0f)
35 #endif 35 #endif
36 {} 36 {}
37 37
38 void emitCode(const EmitArgs& args) SK_OVERRIDE { 38 void onEmitCode(EmitArgs& args) SK_OVERRIDE {
39 const GrDistanceFieldTextureEffect& dfTexEffect = 39 const GrDistanceFieldTextureEffect& dfTexEffect =
40 args.fGP.cast<GrDistanceFieldTextureEffect>(); 40 args.fGP.cast<GrDistanceFieldTextureEffect>();
41 const DistanceFieldBatchTracker& local = args.fBT.cast<DistanceFieldBatc hTracker>(); 41 const DistanceFieldBatchTracker& local = args.fBT.cast<DistanceFieldBatc hTracker>();
42 GrGLGPBuilder* pb = args.fPB; 42 GrGLGPBuilder* pb = args.fPB;
43 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 43 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
44 SkAssertResult(fsBuilder->enableFeature( 44 SkAssertResult(fsBuilder->enableFeature(
45 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature)); 45 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature));
46 46
47 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 47 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
48
49 // emit attributes
50 vsBuilder->emitAttributes(dfTexEffect);
51
48 GrGLVertToFrag v(kVec2f_GrSLType); 52 GrGLVertToFrag v(kVec2f_GrSLType);
49 args.fPB->addVarying("TextureCoords", &v); 53 args.fPB->addVarying("TextureCoords", &v);
50 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName); 54 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName);
51 55
52 // Setup pass through color 56 // Setup pass through color
53 this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor , 57 this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor ,
54 dfTexEffect.inColor(), &fColorUniform); 58 dfTexEffect.inColor(), &fColorUniform);
55 59
56 // setup uniform viewMatrix 60 // setup uniform viewMatrix
57 this->addUniformViewMatrix(pb); 61 this->addUniformViewMatrix(pb);
58 62
59 // setup position varying 63 // Setup position
60 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition() , 64 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", this->position(), this ->uViewM(),
61 this->uViewM(), dfTexEffect.inPosition()->fName); 65 dfTexEffect.inPosition()->fName);
62 66
63 // setup output coords 67 // emit transforms
64 vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), 68 this->emitTransforms(args.fPB, this->position(), dfTexEffect.inPosition ()->fName,
65 dfTexEffect.inPosition()->fName); 69 dfTexEffect.localMatrix(), args.fTransformsIn, args .fTransformsOut);
66 vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(),
67 dfTexEffect.inPosition()->fName);
68 70
69 const char* textureSizeUniName = NULL; 71 const char* textureSizeUniName = NULL;
70 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility, 72 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility,
71 kVec2f_GrSLType, kDefault_GrSLPre cision, 73 kVec2f_GrSLType, kDefault_GrSLPre cision,
72 "TextureSize", &textureSizeUniNam e); 74 "TextureSize", &textureSizeUniNam e);
73 75
74 fsBuilder->codeAppend("\tvec4 texColor = "); 76 fsBuilder->codeAppend("\tvec4 texColor = ");
75 fsBuilder->appendTextureLookup(args.fSamplers[0], 77 fsBuilder->appendTextureLookup(args.fSamplers[0],
76 v.fsIn(), 78 v.fsIn(),
77 kVec2f_GrSLType); 79 kVec2f_GrSLType);
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 void GrDistanceFieldTextureEffect::onGetInvariantOutputCoverage(GrInitInvariantO utput* out) const { 237 void GrDistanceFieldTextureEffect::onGetInvariantOutputCoverage(GrInitInvariantO utput* out) const {
236 out->setUnknownSingleComponent(); 238 out->setUnknownSingleComponent();
237 } 239 }
238 240
239 void GrDistanceFieldTextureEffect::getGLProcessorKey(const GrBatchTracker& bt, 241 void GrDistanceFieldTextureEffect::getGLProcessorKey(const GrBatchTracker& bt,
240 const GrGLCaps& caps, 242 const GrGLCaps& caps,
241 GrProcessorKeyBuilder* b) c onst { 243 GrProcessorKeyBuilder* b) c onst {
242 GrGLDistanceFieldTextureEffect::GenKey(*this, bt, caps, b); 244 GrGLDistanceFieldTextureEffect::GenKey(*this, bt, caps, b);
243 } 245 }
244 246
245 GrGLGeometryProcessor* 247 GrGLPrimitiveProcessor*
246 GrDistanceFieldTextureEffect::createGLInstance(const GrBatchTracker& bt) const { 248 GrDistanceFieldTextureEffect::createGLInstance(const GrBatchTracker& bt,
249 const GrGLCaps&) const {
247 return SkNEW_ARGS(GrGLDistanceFieldTextureEffect, (*this, bt)); 250 return SkNEW_ARGS(GrGLDistanceFieldTextureEffect, (*this, bt));
248 } 251 }
249 252
250 void GrDistanceFieldTextureEffect::initBatchTracker(GrBatchTracker* bt, const In itBT& init) const { 253 void GrDistanceFieldTextureEffect::initBatchTracker(GrBatchTracker* bt, const In itBT& init) const {
251 DistanceFieldBatchTracker* local = bt->cast<DistanceFieldBatchTracker>(); 254 DistanceFieldBatchTracker* local = bt->cast<DistanceFieldBatchTracker>();
252 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in it, 255 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in it,
253 SkToBool(fInColor)); 256 SkToBool(fInColor));
254 local->fUsesLocalCoords = init.fUsesLocalCoords; 257 local->fUsesLocalCoords = init.fUsesLocalCoords;
255 } 258 }
256 259
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 GrColor fColor; 317 GrColor fColor;
315 bool fUsesLocalCoords; 318 bool fUsesLocalCoords;
316 }; 319 };
317 320
318 class GrGLDistanceFieldNoGammaTextureEffect : public GrGLGeometryProcessor { 321 class GrGLDistanceFieldNoGammaTextureEffect : public GrGLGeometryProcessor {
319 public: 322 public:
320 GrGLDistanceFieldNoGammaTextureEffect(const GrGeometryProcessor&, 323 GrGLDistanceFieldNoGammaTextureEffect(const GrGeometryProcessor&,
321 const GrBatchTracker&) 324 const GrBatchTracker&)
322 : fColor(GrColor_ILLEGAL), fTextureSize(SkISize::Make(-1, -1)) {} 325 : fColor(GrColor_ILLEGAL), fTextureSize(SkISize::Make(-1, -1)) {}
323 326
324 void emitCode(const EmitArgs& args) SK_OVERRIDE { 327 void onEmitCode(EmitArgs& args) SK_OVERRIDE {
325 const GrDistanceFieldNoGammaTextureEffect& dfTexEffect = 328 const GrDistanceFieldNoGammaTextureEffect& dfTexEffect =
326 args.fGP.cast<GrDistanceFieldNoGammaTextureEffect>(); 329 args.fGP.cast<GrDistanceFieldNoGammaTextureEffect>();
327 330
328 const DistanceFieldNoGammaBatchTracker& local = 331 const DistanceFieldNoGammaBatchTracker& local =
329 args.fBT.cast<DistanceFieldNoGammaBatchTracker>(); 332 args.fBT.cast<DistanceFieldNoGammaBatchTracker>();
330 GrGLGPBuilder* pb = args.fPB; 333 GrGLGPBuilder* pb = args.fPB;
331 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 334 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
332 SkAssertResult(fsBuilder->enableFeature( 335 SkAssertResult(fsBuilder->enableFeature(
333 GrGLFragmentShaderBuilder::kStandardDerivat ives_GLSLFeature)); 336 GrGLFragmentShaderBuilder::kStandardDerivat ives_GLSLFeature));
334 337
335 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 338 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
339
340 // emit attributes
341 vsBuilder->emitAttributes(dfTexEffect);
342
336 GrGLVertToFrag v(kVec2f_GrSLType); 343 GrGLVertToFrag v(kVec2f_GrSLType);
337 args.fPB->addVarying("TextureCoords", &v); 344 args.fPB->addVarying("TextureCoords", &v);
338 345
339 // setup pass through color 346 // setup pass through color
340 this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor , 347 this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor ,
341 dfTexEffect.inColor(), &fColorUniform); 348 dfTexEffect.inColor(), &fColorUniform);
342 349
343 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName); 350 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName);
344 351
345 // setup coord outputs
346 vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(),
347 dfTexEffect.inPosition()->fName);
348 vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(),
349 dfTexEffect.inPosition()->fName);
350
351 // setup uniform viewMatrix 352 // setup uniform viewMatrix
352 this->addUniformViewMatrix(pb); 353 this->addUniformViewMatrix(pb);
353 354
354 // setup position varying 355 // Setup position
355 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition() , 356 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", this->position(), this ->uViewM(),
356 this->uViewM(), dfTexEffect.inPosition()->fName); 357 dfTexEffect.inPosition()->fName);
358
359 // emit transforms
360 this->emitTransforms(args.fPB, this->position(), dfTexEffect.inPosition ()->fName,
361 dfTexEffect.localMatrix(), args.fTransformsIn, args .fTransformsOut);
357 362
358 const char* textureSizeUniName = NULL; 363 const char* textureSizeUniName = NULL;
359 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility, 364 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility,
360 kVec2f_GrSLType, kDefault_GrSLPrec ision, 365 kVec2f_GrSLType, kDefault_GrSLPrec ision,
361 "TextureSize", &textureSizeUniName ); 366 "TextureSize", &textureSizeUniName );
362 367
363 fsBuilder->codeAppend("vec4 texColor = "); 368 fsBuilder->codeAppend("vec4 texColor = ");
364 fsBuilder->appendTextureLookup(args.fSamplers[0], 369 fsBuilder->appendTextureLookup(args.fSamplers[0],
365 v.fsIn(), 370 v.fsIn(),
366 kVec2f_GrSLType); 371 kVec2f_GrSLType);
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 void GrDistanceFieldNoGammaTextureEffect::onGetInvariantOutputCoverage(GrInitInv ariantOutput* out) const{ 491 void GrDistanceFieldNoGammaTextureEffect::onGetInvariantOutputCoverage(GrInitInv ariantOutput* out) const{
487 out->setUnknownSingleComponent(); 492 out->setUnknownSingleComponent();
488 } 493 }
489 494
490 void GrDistanceFieldNoGammaTextureEffect::getGLProcessorKey(const GrBatchTracker & bt, 495 void GrDistanceFieldNoGammaTextureEffect::getGLProcessorKey(const GrBatchTracker & bt,
491 const GrGLCaps& caps , 496 const GrGLCaps& caps ,
492 GrProcessorKeyBuilde r* b) const { 497 GrProcessorKeyBuilde r* b) const {
493 GrGLDistanceFieldNoGammaTextureEffect::GenKey(*this, bt, caps, b); 498 GrGLDistanceFieldNoGammaTextureEffect::GenKey(*this, bt, caps, b);
494 } 499 }
495 500
496 GrGLGeometryProcessor* 501 GrGLPrimitiveProcessor*
497 GrDistanceFieldNoGammaTextureEffect::createGLInstance(const GrBatchTracker& bt) const { 502 GrDistanceFieldNoGammaTextureEffect::createGLInstance(const GrBatchTracker& bt,
503 const GrGLCaps&) const {
498 return SkNEW_ARGS(GrGLDistanceFieldNoGammaTextureEffect, (*this, bt)); 504 return SkNEW_ARGS(GrGLDistanceFieldNoGammaTextureEffect, (*this, bt));
499 } 505 }
500 506
501 void GrDistanceFieldNoGammaTextureEffect::initBatchTracker(GrBatchTracker* bt, 507 void GrDistanceFieldNoGammaTextureEffect::initBatchTracker(GrBatchTracker* bt,
502 const InitBT& init) c onst { 508 const InitBT& init) c onst {
503 DistanceFieldNoGammaBatchTracker* local = bt->cast<DistanceFieldNoGammaBatch Tracker>(); 509 DistanceFieldNoGammaBatchTracker* local = bt->cast<DistanceFieldNoGammaBatch Tracker>();
504 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in it, 510 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in it,
505 SkToBool(fInColor)); 511 SkToBool(fInColor));
506 local->fUsesLocalCoords = init.fUsesLocalCoords; 512 local->fUsesLocalCoords = init.fUsesLocalCoords;
507 } 513 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 }; 561 };
556 562
557 class GrGLDistanceFieldLCDTextureEffect : public GrGLGeometryProcessor { 563 class GrGLDistanceFieldLCDTextureEffect : public GrGLGeometryProcessor {
558 public: 564 public:
559 GrGLDistanceFieldLCDTextureEffect(const GrGeometryProcessor&, 565 GrGLDistanceFieldLCDTextureEffect(const GrGeometryProcessor&,
560 const GrBatchTracker&) 566 const GrBatchTracker&)
561 : fColor(GrColor_ILLEGAL) 567 : fColor(GrColor_ILLEGAL)
562 , fTextureSize(SkISize::Make(-1,-1)) 568 , fTextureSize(SkISize::Make(-1,-1))
563 , fTextColor(GrColor_ILLEGAL) {} 569 , fTextColor(GrColor_ILLEGAL) {}
564 570
565 void emitCode(const EmitArgs& args) SK_OVERRIDE { 571 void onEmitCode(EmitArgs& args) SK_OVERRIDE {
566 const GrDistanceFieldLCDTextureEffect& dfTexEffect = 572 const GrDistanceFieldLCDTextureEffect& dfTexEffect =
567 args.fGP.cast<GrDistanceFieldLCDTextureEffect>(); 573 args.fGP.cast<GrDistanceFieldLCDTextureEffect>();
568 const DistanceFieldLCDBatchTracker& local = args.fBT.cast<DistanceFieldL CDBatchTracker>(); 574 const DistanceFieldLCDBatchTracker& local = args.fBT.cast<DistanceFieldL CDBatchTracker>();
569 GrGLGPBuilder* pb = args.fPB; 575 GrGLGPBuilder* pb = args.fPB;
570 576
571 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); 577 GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
578
579 // emit attributes
580 vsBuilder->emitAttributes(dfTexEffect);
581
572 GrGLVertToFrag v(kVec2f_GrSLType); 582 GrGLVertToFrag v(kVec2f_GrSLType);
573 args.fPB->addVarying("TextureCoords", &v); 583 args.fPB->addVarying("TextureCoords", &v);
574 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName); 584 vsBuilder->codeAppendf("%s = %s;", v.vsOut(), dfTexEffect.inTextureCoord s()->fName);
575 585
576 // setup pass through color 586 // setup pass through color
577 this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor , NULL, 587 this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor , NULL,
578 &fColorUniform); 588 &fColorUniform);
579 589
580 // setup coord outputs
581 vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(),
582 dfTexEffect.inPosition()->fName);
583 vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(),
584 dfTexEffect.inPosition()->fName);
585
586 // setup uniform viewMatrix 590 // setup uniform viewMatrix
587 this->addUniformViewMatrix(pb); 591 this->addUniformViewMatrix(pb);
588 592
589 // setup position varying 593 // Setup position
590 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition() , this->uViewM(), 594 vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", this->position(), this ->uViewM(),
591 dfTexEffect.inPosition()->fName); 595 dfTexEffect.inPosition()->fName);
592 596
597 // emit transforms
598 this->emitTransforms(args.fPB, this->position(), dfTexEffect.inPosition ()->fName,
599 dfTexEffect.localMatrix(), args.fTransformsIn, args .fTransformsOut);
600
593 const char* textureSizeUniName = NULL; 601 const char* textureSizeUniName = NULL;
594 // width, height, 1/(3*width) 602 // width, height, 1/(3*width)
595 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility, 603 fTextureSizeUni = args.fPB->addUniform(GrGLProgramBuilder::kFragment_Vis ibility,
596 kVec3f_GrSLType, kDefault_GrSLPrec ision, 604 kVec3f_GrSLType, kDefault_GrSLPrec ision,
597 "TextureSize", &textureSizeUniName ); 605 "TextureSize", &textureSizeUniName );
598 606
599 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 607 GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
600 608
601 SkAssertResult(fsBuilder->enableFeature( 609 SkAssertResult(fsBuilder->enableFeature(
602 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature)); 610 GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature));
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
798 out->setUnknownFourComponents(); 806 out->setUnknownFourComponents();
799 out->setUsingLCDCoverage(); 807 out->setUsingLCDCoverage();
800 } 808 }
801 809
802 void GrDistanceFieldLCDTextureEffect::getGLProcessorKey(const GrBatchTracker& bt , 810 void GrDistanceFieldLCDTextureEffect::getGLProcessorKey(const GrBatchTracker& bt ,
803 const GrGLCaps& caps, 811 const GrGLCaps& caps,
804 GrProcessorKeyBuilder* b ) const { 812 GrProcessorKeyBuilder* b ) const {
805 GrGLDistanceFieldLCDTextureEffect::GenKey(*this, bt, caps, b); 813 GrGLDistanceFieldLCDTextureEffect::GenKey(*this, bt, caps, b);
806 } 814 }
807 815
808 GrGLGeometryProcessor* 816 GrGLPrimitiveProcessor*
809 GrDistanceFieldLCDTextureEffect::createGLInstance(const GrBatchTracker& bt) cons t { 817 GrDistanceFieldLCDTextureEffect::createGLInstance(const GrBatchTracker& bt,
818 const GrGLCaps&) const {
810 return SkNEW_ARGS(GrGLDistanceFieldLCDTextureEffect, (*this, bt)); 819 return SkNEW_ARGS(GrGLDistanceFieldLCDTextureEffect, (*this, bt));
811 } 820 }
812 821
813 void GrDistanceFieldLCDTextureEffect::initBatchTracker(GrBatchTracker* bt, 822 void GrDistanceFieldLCDTextureEffect::initBatchTracker(GrBatchTracker* bt,
814 const InitBT& init) const { 823 const InitBT& init) const {
815 DistanceFieldLCDBatchTracker* local = bt->cast<DistanceFieldLCDBatchTracker> (); 824 DistanceFieldLCDBatchTracker* local = bt->cast<DistanceFieldLCDBatchTracker> ();
816 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in it, false); 825 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in it, false);
817 local->fUsesLocalCoords = init.fUsesLocalCoords; 826 local->fUsesLocalCoords = init.fUsesLocalCoords;
818 } 827 }
819 828
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 uint32_t flags = kUseLCD_DistanceFieldEffectFlag; 869 uint32_t flags = kUseLCD_DistanceFieldEffectFlag;
861 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0; 870 flags |= random->nextBool() ? kUniformScale_DistanceFieldEffectMask : 0;
862 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 871 flags |= random->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
863 return GrDistanceFieldLCDTextureEffect::Create(GrRandomColor(random), 872 return GrDistanceFieldLCDTextureEffect::Create(GrRandomColor(random),
864 GrProcessorUnitTest::TestMatr ix(random), 873 GrProcessorUnitTest::TestMatr ix(random),
865 textures[texIdx], params, 874 textures[texIdx], params,
866 textures[texIdx2], params2, 875 textures[texIdx2], params2,
867 textColor, 876 textColor,
868 flags); 877 flags);
869 } 878 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrDistanceFieldTextureEffect.h ('k') | src/gpu/gl/GrGLCaps.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698