/external/skia/src/gpu/gl/ |
GrGLXferProcessor.cpp | 18 GrGLXPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 23 fsBuilder->codeAppendf("if (all(lessThanEqual(%s, vec4(0)))) {" 28 const char* dstColor = fsBuilder->dstColor(); 43 const char* fragPos = fsBuilder->fragmentPosition(); 45 fsBuilder->codeAppend("// Read color from copy of the destination.\n"); 46 fsBuilder->codeAppendf("vec2 _dstTexCoord = (%s.xy - %s) * %s;", 50 fsBuilder->codeAppend("_dstTexCoord.y = 1.0 - _dstTexCoord.y;"); 53 fsBuilder->codeAppendf("vec4 %s = ", dstColor); 54 fsBuilder->appendTextureLookup(args.fSamplers[0], "_dstTexCoord", kVec2f_GrSLType); 55 fsBuilder->codeAppend(";") [all...] |
/external/skia/src/gpu/effects/ |
GrCustomXfermode.cpp | 54 static void hard_light(GrGLFragmentBuilder* fsBuilder, 61 fsBuilder->codeAppendf("if (2.0 * %s.%c <= %s.a) {", src, component, src); 62 fsBuilder->codeAppendf("%s.%c = 2.0 * %s.%c * %s.%c;", 64 fsBuilder->codeAppend("} else {"); 65 fsBuilder->codeAppendf("%s.%c = %s.a * %s.a - 2.0 * (%s.a - %s.%c) * (%s.a - %s.%c);", 68 fsBuilder->codeAppend("}"); 70 fsBuilder->codeAppendf("%s.rgb += %s.rgb * (1.0 - %s.a) + %s.rgb * (1.0 - %s.a);", 75 static void color_dodge_component(GrGLFragmentBuilder* fsBuilder, 80 fsBuilder->codeAppendf("if (0.0 == %s.%c) {", dst, component); 81 fsBuilder->codeAppendf("%s.%c = %s.%c * (1.0 - %s.a);" [all...] |
GrDistanceFieldGeoProc.cpp | 45 GrGLFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 46 SkAssertResult(fsBuilder->enableFeature( 89 fsBuilder->codeAppend(GrGLShaderVar::PrecisionString(kHigh_GrSLPrecision, 91 fsBuilder->codeAppendf("vec2 uv = %s;\n", uv.fsIn()); 93 fsBuilder->codeAppend("\tfloat texColor = "); 94 fsBuilder->appendTextureLookup(args.fSamplers[0], 97 fsBuilder->codeAppend(".r;\n"); 98 fsBuilder->codeAppend("\tfloat distance = " 102 fsBuilder->codeAppendf("distance -= %s;", distanceAdjustUniName); 105 fsBuilder->codeAppend("float afwidth;") [all...] |
GrBezierEffect.cpp | 101 GrGLFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); 102 fsBuilder->codeAppend("float edgeAlpha;"); 106 SkAssertResult(fsBuilder->enableFeature( 108 fsBuilder->codeAppendf("vec3 dklmdx = dFdx(%s.xyz);", v.fsIn()); 109 fsBuilder->codeAppendf("vec3 dklmdy = dFdy(%s.xyz);", v.fsIn()); 110 fsBuilder->codeAppendf("float dfdx =" 113 fsBuilder->codeAppendf("float dfdy =" 116 fsBuilder->codeAppend("vec2 gF = vec2(dfdx, dfdy);"); 117 fsBuilder->codeAppend("float gFM = sqrt(dot(gF, gF));"); 118 fsBuilder->codeAppendf("float func = %s.x*%s.x - %s.y*%s.z;", v.fsIn(), v.fsIn() [all...] |
GrDitherEffect.cpp | 90 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 100 fsBuilder->codeAppendf("\t\tfloat r = " 102 fsBuilder->fragmentPosition()); 103 fsBuilder->codeAppendf("\t\t%s = (1.0/255.0) * vec4(r, r, r, r) + %s;\n",
|
GrSimpleTextureEffect.cpp | 27 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 28 fsBuilder->codeAppendf("\t%s = ", outputColor); 29 fsBuilder->appendTextureLookupAndModulate(inputColor, 33 fsBuilder->codeAppend(";\n");
|
GrRRectEffect.cpp | 179 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 180 const char* fragmentPos = fsBuilder->fragmentPosition(); 198 fsBuilder->codeAppendf("\t\tvec2 dxy0 = %s.xy - %s.xy;\n", rectName, fragmentPos); 199 fsBuilder->codeAppendf("\t\tvec2 dxy1 = %s.xy - %s.zw;\n", fragmentPos, rectName); 200 fsBuilder->codeAppend("\t\tvec2 dxy = max(max(dxy0, dxy1), 0.0);\n"); 201 fsBuilder->codeAppendf("\t\tfloat alpha = clamp(%s - length(dxy), 0.0, 1.0);\n", 205 fsBuilder->codeAppendf("\t\tvec2 dxy = max(%s.xy - %s.xy, 0.0);\n", 207 fsBuilder->codeAppendf("\t\tfloat rightAlpha = clamp(%s.z - %s.x, 0.0, 1.0);\n", 209 fsBuilder->codeAppendf("\t\tfloat bottomAlpha = clamp(%s.w - %s.y, 0.0, 1.0);\n", 211 fsBuilder->codeAppendf("\t\tfloat alpha = bottomAlpha * rightAlpha * clamp(%s - length(dxy), 0.0, 1.0);\n" [all...] |
GrConvexPolyEffect.cpp | 125 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 126 const char* fragmentPos = fsBuilder->fragmentPosition(); 130 fsBuilder->codeAppend("\t\tfloat xSub, ySub;\n"); 131 fsBuilder->codeAppendf("\t\txSub = min(%s.x - %s.x, 0.0);\n", fragmentPos, rectName); 132 fsBuilder->codeAppendf("\t\txSub += min(%s.z - %s.x, 0.0);\n", rectName, fragmentPos); 133 fsBuilder->codeAppendf("\t\tySub = min(%s.y - %s.y, 0.0);\n", fragmentPos, rectName); 134 fsBuilder->codeAppendf("\t\tySub += min(%s.w - %s.y, 0.0);\n", rectName, fragmentPos); 137 fsBuilder->codeAppendf("\t\tfloat alpha = (1.0 + max(xSub, -1.0)) * (1.0 + max(ySub, -1.0));\n"); 139 fsBuilder->codeAppendf("\t\tfloat alpha = 1.0;\n"); 140 fsBuilder->codeAppendf("\t\talpha *= (%s.x - %s.x) > -0.5 ? 1.0 : 0.0;\n", fragmentPos, rectName) [all...] |
GrOvalEffect.cpp | 138 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 139 const char* fragmentPos = fsBuilder->fragmentPosition(); 147 fsBuilder->codeAppendf("\t\tfloat d = (length((%s.xy - %s.xy) * %s.w) - 1.0) * %s.z;\n", 150 fsBuilder->codeAppendf("\t\tfloat d = (1.0 - length((%s.xy - %s.xy) * %s.w)) * %s.z;\n", 154 fsBuilder->codeAppend("\t\td = clamp(d, 0.0, 1.0);\n"); 156 fsBuilder->codeAppend("\t\td = d > 0.5 ? 1.0 : 0.0;\n"); 159 fsBuilder->codeAppendf("\t\t%s = %s;\n", outputColor, 320 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 321 const char* fragmentPos = fsBuilder->fragmentPosition(); 324 fsBuilder->codeAppendf("\t\tvec2 d = %s.xy - %s.xy;\n", fragmentPos, ellipseName) [all...] |
GrBicubicEffect.cpp | 82 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 83 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); 84 fsBuilder->emitFunction(kVec4f_GrSLType, 92 fsBuilder->codeAppendf("\tvec2 coord = %s - %s * vec2(0.5);\n", coords2D.c_str(), imgInc); 97 fsBuilder->codeAppendf("\tcoord /= %s;\n", imgInc); 98 fsBuilder->codeAppend("\tvec2 f = fract(coord);\n"); 99 fsBuilder->codeAppendf("\tcoord = (coord - f + vec2(0.5)) * %s;\n", imgInc); 100 fsBuilder->codeAppend("\tvec4 rowColors[4];\n"); 107 fDomain.sampleTexture(fsBuilder, domain, sampleVar.c_str(), coord, samplers[0]); 109 fsBuilder->codeAppendf("\tvec4 s%d = %s(%s, f.x, rowColors[0], rowColors[1], rowColors[2], rowColors[3]);\n" (…) [all...] |
GrPorterDuffXferProcessor.cpp | 143 bool append_porterduff_term(GrGLXPFragmentBuilder* fsBuilder, GrBlendCoeff coeff, 150 fsBuilder->codeAppend(" + "); 152 fsBuilder->codeAppendf("%s", colorName); 157 fsBuilder->codeAppendf(" * %s", srcColorName); 160 fsBuilder->codeAppendf(" * (vec4(1.0) - %s)", srcColorName); 163 fsBuilder->codeAppendf(" * %s", dstColorName); 166 fsBuilder->codeAppendf(" * (vec4(1.0) - %s)", dstColorName); 169 fsBuilder->codeAppendf(" * %s.a", srcColorName); 172 fsBuilder->codeAppendf(" * (1.0 - %s.a)", srcColorName); 175 fsBuilder->codeAppendf(" * %s.a", dstColorName); [all...] |
GrMatrixConvolutionEffect.cpp | 77 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 78 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); 79 fsBuilder->codeAppend("vec4 sum = vec4(0, 0, 0, 0);"); 80 fsBuilder->codeAppendf("vec2 coord = %s - %s * %s;", coords2D.c_str(), kernelOffset, 82 fsBuilder->codeAppend("vec4 c;"); 86 GrGLShaderBuilder::ShaderBlock block(fsBuilder); 87 fsBuilder->codeAppendf("float k = %s[%d * %d + %d];", kernel, y, kWidth, x); 90 fDomain.sampleTexture(fsBuilder, domain, "c", coord, samplers[0]); 92 fsBuilder->codeAppend("c.rgb /= c.a;"); 93 fsBuilder->codeAppend("c.rgb = clamp(c.rgb, 0.0, 1.0);") [all...] |
GrConvolutionEffect.cpp | 72 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 73 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); 75 fsBuilder->codeAppendf("\t\t%s = vec4(0, 0, 0, 0);\n", outputColor); 81 fsBuilder->codeAppendf("\t\tvec2 coord = %s - %d.0 * %s;\n", coords2D.c_str(), fRadius, imgInc); 89 fsBuilder->codeAppendf("\t\t%s += ", outputColor); 90 fsBuilder->appendTextureLookup(samplers[0], "coord"); 94 fsBuilder->codeAppendf(" * float(coord.%s >= %s.x && coord.%s <= %s.y)", 97 fsBuilder->codeAppendf(" * %s;\n", kernelIndex.c_str()); 98 fsBuilder->codeAppendf("\t\tcoord += %s;\n", imgInc); 103 fsBuilder->codeAppend(modulate.c_str()) [all...] |
GrConfigConversionEffect.cpp | 36 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 38 fsBuilder->codeAppendf("%s;", tmpDecl.c_str()); 40 fsBuilder->codeAppendf("%s = ", tmpVar.c_str()); 41 fsBuilder->appendTextureLookup(samplers[0], coords[0].c_str(), coords[0].getType()); 42 fsBuilder->codeAppend(";"); 46 fsBuilder->codeAppendf("%s = %s.bgra;", outputColor, tmpVar.c_str()); 51 fsBuilder->codeAppendf( 60 fsBuilder->codeAppendf( 65 fsBuilder->codeAppendf( 70 fsBuilder->codeAppendf [all...] |
GrBitmapTextGeoProc.cpp | 63 GrGLFragmentBuilder* fsBuilder = pb->getFragmentShaderBuilder(); 65 fsBuilder->codeAppendf("%s = ", args.fOutputColor); 66 fsBuilder->appendTextureLookupAndModulate(args.fOutputColor, 70 fsBuilder->codeAppend(";"); 71 fsBuilder->codeAppendf("%s = vec4(1);", args.fOutputCoverage); 73 fsBuilder->codeAppendf("%s = ", args.fOutputCoverage); 74 fsBuilder->appendTextureLookup(args.fSamplers[0], v.fsIn(), kVec2f_GrSLType); 75 fsBuilder->codeAppend(";");
|
GrYUVtoRGBEffect.cpp | 69 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 75 fsBuilder->codeAppendf("\t%s = vec4(\n\t\t", outputColor); 76 fsBuilder->appendTextureLookup(samplers[0], coords[0].c_str(), coords[0].getType()); 77 fsBuilder->codeAppend(".r,\n\t\t"); 78 fsBuilder->appendTextureLookup(samplers[1], coords[1].c_str(), coords[1].getType()); 79 fsBuilder->codeAppend(".r,\n\t\t"); 80 fsBuilder->appendTextureLookup(samplers[2], coords[2].c_str(), coords[2].getType()); 81 fsBuilder->codeAppendf(".r,\n\t\t1.0) * %s;\n", yuvMatrix);
|
GrConstColorProcessor.cpp | 23 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 30 fsBuilder->codeAppendf("%s = %s;", outputColor, colorUni); 33 fsBuilder->codeAppendf("%s = %s * %s;", outputColor, inputColor, colorUni); 36 fsBuilder->codeAppendf("%s = %s.a * %s;", outputColor, inputColor, colorUni);
|
/external/skia/src/effects/ |
SkArithmeticMode_gpu.cpp | 23 static void add_arithmetic_code(GrGLFragmentBuilder* fsBuilder, 31 fsBuilder->codeAppend("const vec4 src = vec4(1);"); 33 fsBuilder->codeAppendf("vec4 src = %s;", inputColor); 35 fsBuilder->codeAppend("src.rgb = clamp(src.rgb / src.a, 0.0, 1.0);"); 39 fsBuilder->codeAppendf("vec4 dst = %s;", dstColor); 41 fsBuilder->codeAppend("dst.rgb = clamp(dst.rgb / dst.a, 0.0, 1.0);"); 44 fsBuilder->codeAppendf("%s = %s.x * src * dst + %s.y * src + %s.z * dst + %s.w;", 46 fsBuilder->codeAppendf("%s = clamp(%s, 0.0, 1.0);\n", outputColor, outputColor); 48 fsBuilder->codeAppendf("%s.rgb *= %s.a;", outputColor, outputColor); 50 fsBuilder->codeAppendf("%s.rgb = min(%s.rgb, %s.a);" [all...] |
SkMagnifierImageFilter.cpp | 154 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 155 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); 156 fsBuilder->codeAppendf("\t\tvec2 coord = %s;\n", coords2D.c_str()); 157 fsBuilder->codeAppendf("\t\tvec2 zoom_coord = %s + %s * %s;\n", 162 fsBuilder->codeAppendf("\t\tvec2 delta = (coord - %s.xy) * %s.zw;\n", bounds, bounds); 163 fsBuilder->codeAppendf("\t\tdelta = min(delta, vec2(1.0, 1.0) - delta);\n"); 164 fsBuilder->codeAppendf("\t\tdelta = delta * %s;\n", builder->getUniformCStr(fInvInsetVar)); 166 fsBuilder->codeAppend("\t\tfloat weight = 0.0;\n"); 167 fsBuilder->codeAppend("\t\tif (delta.s < 2.0 && delta.t < 2.0) {\n"); 168 fsBuilder->codeAppend("\t\t\tdelta = vec2(2.0, 2.0) - delta;\n") [all...] |
SkAlphaThresholdFilter.cpp | 157 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 158 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); 159 SkString maskCoords2D = fsBuilder->ensureFSCoords2D(coords, 1); 161 fsBuilder->codeAppendf("\t\tvec2 coord = %s;\n", coords2D.c_str()); 162 fsBuilder->codeAppendf("\t\tvec2 mask_coord = %s;\n", maskCoords2D.c_str()); 163 fsBuilder->codeAppend("\t\tvec4 input_color = "); 164 fsBuilder->appendTextureLookup(samplers[0], "coord"); 165 fsBuilder->codeAppend(";\n"); 166 fsBuilder->codeAppend("\t\tvec4 mask_color = "); 167 fsBuilder->appendTextureLookup(samplers[1], "mask_coord") [all...] |
SkLumaColorFilter.cpp | 93 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 94 fsBuilder->codeAppendf("\tfloat luma = dot(vec3(%f, %f, %f), %s.rgb);\n", 99 fsBuilder->codeAppendf("\t%s = vec4(0, 0, 0, luma);\n",
|
SkBlurMaskFilter.cpp | 683 void OutputRectBlurProfileLookup(GrGLFragmentBuilder* fsBuilder, 689 fsBuilder->codeAppendf("\tfloat %s;\n", output); 690 fsBuilder->codeAppendf("\t\t{\n"); 691 fsBuilder->codeAppendf("\t\t\tfloat coord = (0.5 * (abs(2.0*%s - %s) - %s))/%s;\n", 693 fsBuilder->codeAppendf("\t\t\t%s = ", output); 694 fsBuilder->appendTextureLookup(sampler, "vec2(coord,0.5)"); 695 fsBuilder->codeAppend(".a;\n"); 696 fsBuilder->codeAppendf("\t\t}\n"); 720 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 721 const char *fragmentPos = fsBuilder->fragmentPosition() [all...] |
SkTableColorFilter.cpp | 430 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 434 fsBuilder->codeAppendf("\t\tvec4 coord = vec4(%f, %f, %f, %f);\n", 438 fsBuilder->codeAppendf("\t\tfloat nonZeroAlpha = max(%s.a, .0001);\n", inputColor); 439 fsBuilder->codeAppendf("\t\tvec4 coord = vec4(%s.rgb / nonZeroAlpha, nonZeroAlpha);\n", inputColor); 440 fsBuilder->codeAppendf("\t\tcoord = coord * %f + vec4(%f, %f, %f, %f);\n", 448 fsBuilder->codeAppendf("\t\t%s.a = ", outputColor); 450 fsBuilder->appendTextureLookup(samplers[0], coord.c_str()); 451 fsBuilder->codeAppend(";\n"); 453 fsBuilder->codeAppendf("\t\t%s.r = ", outputColor); 455 fsBuilder->appendTextureLookup(samplers[0], coord.c_str()) [all...] |
SkColorCubeFilter.cpp | 298 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 301 fsBuilder->codeAppendf("\tfloat %s = max(%s.a, 0.00001);\n", nonZeroAlpha, inputColor); 302 fsBuilder->codeAppendf("\tvec4 %s = vec4(%s.rgb / %s, %s);\n", 306 fsBuilder->codeAppendf( 312 fsBuilder->codeAppendf("vec2 %s = vec2(%s.r, (floor(%s.b) + %s.g) * %s);\n", 314 fsBuilder->codeAppendf("vec2 %s = vec2(%s.r, (ceil(%s.b) + %s.g) * %s);\n", 318 fsBuilder->codeAppendf("%s = vec4(mix(", outputColor); 319 fsBuilder->appendTextureLookup(samplers[0], cCoords1); 320 fsBuilder->codeAppend(".rgb, "); 321 fsBuilder->appendTextureLookup(samplers[0], cCoords2) [all...] |
/external/skia/src/effects/gradients/ |
SkTwoPointConicalGradient_gpu.cpp | 257 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 259 fsBuilder->codeAppendf("\tvec3 interpolants = vec3(%s.xy / %s.z, %s.x / %s.z);\n", 271 fsBuilder->codeAppendf("\t%s = vec4(0.0,0.0,0.0,0.0);\n", outputColor); 274 fsBuilder->codeAppendf("\tfloat %s = dot(%s, %s) - %s;\n", 278 fsBuilder->codeAppendf("\tfloat %s = -(%s / %s);\n", tName.c_str(), 282 fsBuilder->codeAppendf("\tif (%s * %s + %s > 0.0) {\n", tName.c_str(), 284 fsBuilder->codeAppend("\t"); 286 fsBuilder->codeAppend("\t}\n"); 539 GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 540 SkString coords2DString = fsBuilder->ensureFSCoords2D(coords, 0) [all...] |