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

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

Issue 1862373003: Rename EmitArgs::fSamplers to fTexSamplers (Closed) Base URL: https://skia.googlesource.com/skia.git@upload3_infer
Patch Set: rebase Created 4 years, 8 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/GrConvolutionEffect.cpp ('k') | src/gpu/effects/GrMatrixConvolutionEffect.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 "GrDistanceFieldGeoProc.h" 8 #include "GrDistanceFieldGeoProc.h"
9 #include "GrInvariantOutput.h" 9 #include "GrInvariantOutput.h"
10 #include "GrTexture.h" 10 #include "GrTexture.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 vertBuilder->codeAppendf("%s = vec2(%d, %d) * %s;", st.vsOut(), 95 vertBuilder->codeAppendf("%s = vec2(%d, %d) * %s;", st.vsOut(),
96 atlas->width(), atlas->height(), 96 atlas->width(), atlas->height(),
97 dfTexEffect.inTextureCoords()->fName); 97 dfTexEffect.inTextureCoords()->fName);
98 98
99 // Use highp to work around aliasing issues 99 // Use highp to work around aliasing issues
100 fragBuilder->codeAppend(GrGLSLShaderVar::PrecisionString(args.fGLSLCaps, 100 fragBuilder->codeAppend(GrGLSLShaderVar::PrecisionString(args.fGLSLCaps,
101 kHigh_GrSLPreci sion)); 101 kHigh_GrSLPreci sion));
102 fragBuilder->codeAppendf("vec2 uv = %s;\n", uv.fsIn()); 102 fragBuilder->codeAppendf("vec2 uv = %s;\n", uv.fsIn());
103 103
104 fragBuilder->codeAppend("\tfloat texColor = "); 104 fragBuilder->codeAppend("\tfloat texColor = ");
105 fragBuilder->appendTextureLookup(args.fSamplers[0], 105 fragBuilder->appendTextureLookup(args.fTexSamplers[0],
106 "uv", 106 "uv",
107 kVec2f_GrSLType); 107 kVec2f_GrSLType);
108 fragBuilder->codeAppend(".r;\n"); 108 fragBuilder->codeAppend(".r;\n");
109 fragBuilder->codeAppend("\tfloat distance = " 109 fragBuilder->codeAppend("\tfloat distance = "
110 SK_DistanceFieldMultiplier "*(texColor - " SK_DistanceFie ldThreshold ");"); 110 SK_DistanceFieldMultiplier "*(texColor - " SK_DistanceFie ldThreshold ");");
111 #ifdef SK_GAMMA_APPLY_TO_A8 111 #ifdef SK_GAMMA_APPLY_TO_A8
112 // adjust width based on gamma 112 // adjust width based on gamma
113 fragBuilder->codeAppendf("distance -= %s;", distanceAdjustUniName); 113 fragBuilder->codeAppendf("distance -= %s;", distanceAdjustUniName);
114 #endif 114 #endif
115 115
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 fTextureSizeUni = uniformHandler->addUniform(kFragment_GrShaderFlag, 333 fTextureSizeUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
334 kVec2f_GrSLType, kDefault_G rSLPrecision, 334 kVec2f_GrSLType, kDefault_G rSLPrecision,
335 "TextureSize", &textureSize UniName); 335 "TextureSize", &textureSize UniName);
336 336
337 // Use highp to work around aliasing issues 337 // Use highp to work around aliasing issues
338 fragBuilder->codeAppend(GrGLSLShaderVar::PrecisionString(args.fGLSLCaps, 338 fragBuilder->codeAppend(GrGLSLShaderVar::PrecisionString(args.fGLSLCaps,
339 kHigh_GrSLPreci sion)); 339 kHigh_GrSLPreci sion));
340 fragBuilder->codeAppendf("vec2 uv = %s;", v.fsIn()); 340 fragBuilder->codeAppendf("vec2 uv = %s;", v.fsIn());
341 341
342 fragBuilder->codeAppend("float texColor = "); 342 fragBuilder->codeAppend("float texColor = ");
343 fragBuilder->appendTextureLookup(args.fSamplers[0], 343 fragBuilder->appendTextureLookup(args.fTexSamplers[0],
344 "uv", 344 "uv",
345 kVec2f_GrSLType); 345 kVec2f_GrSLType);
346 fragBuilder->codeAppend(".r;"); 346 fragBuilder->codeAppend(".r;");
347 fragBuilder->codeAppend("float distance = " 347 fragBuilder->codeAppend("float distance = "
348 SK_DistanceFieldMultiplier "*(texColor - " SK_DistanceFieldThreshold ");"); 348 SK_DistanceFieldMultiplier "*(texColor - " SK_DistanceFieldThreshold ");");
349 349
350 fragBuilder->codeAppend(GrGLSLShaderVar::PrecisionString(args.fGLSLCaps, 350 fragBuilder->codeAppend(GrGLSLShaderVar::PrecisionString(args.fGLSLCaps,
351 kHigh_GrSLPreci sion)); 351 kHigh_GrSLPreci sion));
352 fragBuilder->codeAppendf("vec2 st = uv*%s;", textureSizeUniName); 352 fragBuilder->codeAppendf("vec2 st = uv*%s;", textureSizeUniName);
353 fragBuilder->codeAppend("float afwidth;"); 353 fragBuilder->codeAppend("float afwidth;");
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 } else { 605 } else {
606 fragBuilder->codeAppendf("vec2 st = %s;\n", st.fsIn()); 606 fragBuilder->codeAppendf("vec2 st = %s;\n", st.fsIn());
607 607
608 fragBuilder->codeAppend("vec2 Jdx = dFdx(st);"); 608 fragBuilder->codeAppend("vec2 Jdx = dFdx(st);");
609 fragBuilder->codeAppend("vec2 Jdy = dFdy(st);"); 609 fragBuilder->codeAppend("vec2 Jdy = dFdy(st);");
610 fragBuilder->codeAppend("vec2 offset = delta*Jdx;"); 610 fragBuilder->codeAppend("vec2 offset = delta*Jdx;");
611 } 611 }
612 612
613 // green is distance to uv center 613 // green is distance to uv center
614 fragBuilder->codeAppend("\tvec4 texColor = "); 614 fragBuilder->codeAppend("\tvec4 texColor = ");
615 fragBuilder->appendTextureLookup(args.fSamplers[0], "uv", kVec2f_GrSLTyp e); 615 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv", kVec2f_GrSL Type);
616 fragBuilder->codeAppend(";\n"); 616 fragBuilder->codeAppend(";\n");
617 fragBuilder->codeAppend("\tvec3 distance;\n"); 617 fragBuilder->codeAppend("\tvec3 distance;\n");
618 fragBuilder->codeAppend("\tdistance.y = texColor.r;\n"); 618 fragBuilder->codeAppend("\tdistance.y = texColor.r;\n");
619 // red is distance to left offset 619 // red is distance to left offset
620 fragBuilder->codeAppend("\tvec2 uv_adjusted = uv - offset;\n"); 620 fragBuilder->codeAppend("\tvec2 uv_adjusted = uv - offset;\n");
621 fragBuilder->codeAppend("\ttexColor = "); 621 fragBuilder->codeAppend("\ttexColor = ");
622 fragBuilder->appendTextureLookup(args.fSamplers[0], "uv_adjusted", kVec2 f_GrSLType); 622 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv_adjusted", kV ec2f_GrSLType);
623 fragBuilder->codeAppend(";\n"); 623 fragBuilder->codeAppend(";\n");
624 fragBuilder->codeAppend("\tdistance.x = texColor.r;\n"); 624 fragBuilder->codeAppend("\tdistance.x = texColor.r;\n");
625 // blue is distance to right offset 625 // blue is distance to right offset
626 fragBuilder->codeAppend("\tuv_adjusted = uv + offset;\n"); 626 fragBuilder->codeAppend("\tuv_adjusted = uv + offset;\n");
627 fragBuilder->codeAppend("\ttexColor = "); 627 fragBuilder->codeAppend("\ttexColor = ");
628 fragBuilder->appendTextureLookup(args.fSamplers[0], "uv_adjusted", kVec2 f_GrSLType); 628 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "uv_adjusted", kV ec2f_GrSLType);
629 fragBuilder->codeAppend(";\n"); 629 fragBuilder->codeAppend(";\n");
630 fragBuilder->codeAppend("\tdistance.z = texColor.r;\n"); 630 fragBuilder->codeAppend("\tdistance.z = texColor.r;\n");
631 631
632 fragBuilder->codeAppend("\tdistance = " 632 fragBuilder->codeAppend("\tdistance = "
633 "vec3(" SK_DistanceFieldMultiplier ")*(distance - vec3(" SK_DistanceF ieldThreshold"));"); 633 "vec3(" SK_DistanceFieldMultiplier ")*(distance - vec3(" SK_DistanceF ieldThreshold"));");
634 634
635 // adjust width based on gamma 635 // adjust width based on gamma
636 const char* distanceAdjustUniName = nullptr; 636 const char* distanceAdjustUniName = nullptr;
637 fDistanceAdjustUni = uniformHandler->addUniform(kFragment_GrShaderFlag, 637 fDistanceAdjustUni = uniformHandler->addUniform(kFragment_GrShaderFlag,
638 kVec3f_GrSLType, kDefaul t_GrSLPrecision, 638 kVec3f_GrSLType, kDefaul t_GrSLPrecision,
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 flags |= d->fRandom->nextBool() ? kScaleOnly_DistanceFieldEffectFlag : 0 ; 788 flags |= d->fRandom->nextBool() ? kScaleOnly_DistanceFieldEffectFlag : 0 ;
789 } 789 }
790 flags |= d->fRandom->nextBool() ? kBGR_DistanceFieldEffectFlag : 0; 790 flags |= d->fRandom->nextBool() ? kBGR_DistanceFieldEffectFlag : 0;
791 return GrDistanceFieldLCDTextGeoProc::Create(GrRandomColor(d->fRandom), 791 return GrDistanceFieldLCDTextGeoProc::Create(GrRandomColor(d->fRandom),
792 GrTest::TestMatrix(d->fRandom), 792 GrTest::TestMatrix(d->fRandom),
793 d->fTextures[texIdx], params, 793 d->fTextures[texIdx], params,
794 wa, 794 wa,
795 flags, 795 flags,
796 d->fRandom->nextBool()); 796 d->fRandom->nextBool());
797 } 797 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrConvolutionEffect.cpp ('k') | src/gpu/effects/GrMatrixConvolutionEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698