• Home
  • Raw
  • Download

Lines Matching refs:segments

375                     ShaderCodeSegments* segments,  in append_varying()  argument
378 segments->fVSOutputs.push_back(); in append_varying()
379 segments->fVSOutputs.back().setType(type); in append_varying()
380 segments->fVSOutputs.back().setTypeModifier( in append_varying()
382 segments->fVSOutputs.back().accessName()->printf("v%s", name); in append_varying()
384 *vsOutName = segments->fVSOutputs.back().getName().c_str(); in append_varying()
388 if (segments->fUsesGS) { in append_varying()
391 segments->fGSInputs.push_back(); in append_varying()
392 segments->fGSInputs.back().setType(type); in append_varying()
393 segments->fGSInputs.back().setTypeModifier( in append_varying()
395 segments->fGSInputs.back().setUnsizedArray(); in append_varying()
396 *segments->fGSInputs.back().accessName() = in append_varying()
397 segments->fVSOutputs.back().getName(); in append_varying()
398 segments->fGSOutputs.push_back(); in append_varying()
399 segments->fGSOutputs.back().setType(type); in append_varying()
400 segments->fGSOutputs.back().setTypeModifier( in append_varying()
402 segments->fGSOutputs.back().accessName()->printf("g%s", name); in append_varying()
403 fsName = segments->fGSOutputs.back().accessName(); in append_varying()
405 fsName = segments->fVSOutputs.back().accessName(); in append_varying()
407 segments->fFSInputs.push_back(); in append_varying()
408 segments->fFSInputs.back().setType(type); in append_varying()
409 segments->fFSInputs.back().setTypeModifier( in append_varying()
411 segments->fFSInputs.back().setName(*fsName); in append_varying()
422 ShaderCodeSegments* segments, in append_varying() argument
427 append_varying(type, nameWithStage.c_str(), segments, vsOutName, fsInName); in append_varying()
435 ShaderCodeSegments* segments) const { in genEdgeCoverage()
437 segments->fFSUnis.push_back().set(GrGLShaderVar::kVec3f_Type, in genEdgeCoverage()
443 segments->fFSCode.append( in genEdgeCoverage()
446 segments->fFSCode.append("\tfloat a"); in genEdgeCoverage()
447 segments->fFSCode.appendS32(i); in genEdgeCoverage()
448 segments->fFSCode.append(" = clamp(dot(" EDGES_UNI_NAME "["); in genEdgeCoverage()
449 segments->fFSCode.appendS32(i); in genEdgeCoverage()
450 segments->fFSCode.append("], pos), 0.0, 1.0);\n"); in genEdgeCoverage()
454 segments->fFSFunctions.append("float cross2(vec2 a, vec2 b) {\n"); in genEdgeCoverage()
455 segments->fFSFunctions.append("\treturn dot(a, vec2(b.y, -b.x));\n"); in genEdgeCoverage()
456 segments->fFSFunctions.append("}\n"); in genEdgeCoverage()
458 segments->fFSCode.appendf("\tfloat eb%d;\n", i / 2); in genEdgeCoverage()
459segments->fFSCode.appendf("\tif (cross2(" EDGES_UNI_NAME "[%d].xy, " EDGES_UNI_NAME "[%d].xy) < 0.… in genEdgeCoverage()
460 segments->fFSCode.appendf("\t\teb%d = a%d * a%d;\n", i / 2, i, i + 1); in genEdgeCoverage()
461 segments->fFSCode.append("\t} else {\n"); in genEdgeCoverage()
462segments->fFSCode.appendf("\t\teb%d = a%d + a%d - a%d * a%d;\n", i / 2, i, i + 1, i, i + 1); in genEdgeCoverage()
463 segments->fFSCode.append("\t}\n"); in genEdgeCoverage()
465 segments->fFSCode.append("\tfloat edgeAlpha = "); in genEdgeCoverage()
467 segments->fFSCode.appendf("min(eb%d, ", i); in genEdgeCoverage()
469 segments->fFSCode.appendf("eb%d", count / 2 - 1); in genEdgeCoverage()
471 segments->fFSCode.append(")"); in genEdgeCoverage()
473 segments->fFSCode.append(";\n"); in genEdgeCoverage()
475 segments->fFSCode.append("\tfloat edgeAlpha = "); in genEdgeCoverage()
477 segments->fFSCode.appendf("min(a%d * a%d, ", i, i + 1); in genEdgeCoverage()
479 segments->fFSCode.appendf("a%d * a0", count - 1); in genEdgeCoverage()
481 segments->fFSCode.append(")"); in genEdgeCoverage()
483 segments->fFSCode.append(";\n"); in genEdgeCoverage()
488 append_varying(GrGLShaderVar::kVec4f_Type, "Edge", segments, in genEdgeCoverage()
490 segments->fVSAttrs.push_back().set(GrGLShaderVar::kVec4f_Type, in genEdgeCoverage()
492 segments->fVSCode.appendf("\t%s = " EDGE_ATTR_NAME ";\n", vsName); in genEdgeCoverage()
494segments->fFSCode.appendf("\tfloat edgeAlpha = abs(dot(vec3(gl_FragCoord.xy,1), %s.xyz));\n", fsNa… in genEdgeCoverage()
495 segments->fFSCode.append("\tedgeAlpha = max(1.0 - edgeAlpha, 0.0);\n"); in genEdgeCoverage()
497 segments->fFSCode.append("\tfloat edgeAlpha;\n"); in genEdgeCoverage()
499 segments->fFSCode.appendf("\tvec2 duvdx = dFdx(%s.xy);\n", fsName); in genEdgeCoverage()
500 segments->fFSCode.appendf("\tvec2 duvdy = dFdy(%s.xy);\n", fsName); in genEdgeCoverage()
501 segments->fFSCode.appendf("\tif (%s.z > 0.0 && %s.w > 0.0) {\n", fsName, fsName); in genEdgeCoverage()
503segments->fFSCode.appendf("\t\tedgeAlpha = min(min(%s.z, %s.w) + 0.5, 1.0);\n", fsName, fsName); in genEdgeCoverage()
504 segments->fFSCode.append ("\t} else {\n"); in genEdgeCoverage()
505 segments->fFSCode.appendf("\t\tvec2 gF = vec2(2.0*%s.x*duvdx.x - duvdx.y,\n" in genEdgeCoverage()
508segments->fFSCode.appendf("\t\tedgeAlpha = (%s.x*%s.x - %s.y);\n", fsName, fsName, fsName); in genEdgeCoverage()
509segments->fFSCode.append("\t\tedgeAlpha = clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0);\n" in genEdgeCoverage()
512 segments->fHeader.printf("#extension GL_OES_standard_derivatives: enable\n"); in genEdgeCoverage()
516 segments->fFSCode.appendf("\tvec2 duvdx = dFdx(%s.xy);\n", fsName); in genEdgeCoverage()
517 segments->fFSCode.appendf("\tvec2 duvdy = dFdy(%s.xy);\n", fsName); in genEdgeCoverage()
518 segments->fFSCode.appendf("\tvec2 gF = vec2(2.0*%s.x*duvdx.x - duvdx.y,\n" in genEdgeCoverage()
521segments->fFSCode.appendf("\tfloat edgeAlpha = (%s.x*%s.x - %s.y);\n", fsName, fsName, fsName); in genEdgeCoverage()
522 segments->fFSCode.append("\tedgeAlpha = sqrt(edgeAlpha*edgeAlpha / dot(gF, gF));\n"); in genEdgeCoverage()
523 segments->fFSCode.append("\tedgeAlpha = max(1.0 - edgeAlpha, 0.0);\n"); in genEdgeCoverage()
525 segments->fHeader.printf("#extension GL_OES_standard_derivatives: enable\n"); in genEdgeCoverage()
538 ShaderCodeSegments* segments, in genInputColor() argument
542 segments->fVSAttrs.push_back().set(GrGLShaderVar::kVec4f_Type, in genInputColor()
546 append_varying(GrGLShaderVar::kVec4f_Type, "Color", segments, &vsName, &fsName); in genInputColor()
547 segments->fVSCode.appendf("\t%s = " COL_ATTR_NAME ";\n", vsName); in genInputColor()
551 segments->fFSUnis.push_back().set(GrGLShaderVar::kVec4f_Type, in genInputColor()
568 void genAttributeCoverage(ShaderCodeSegments* segments, in genAttributeCoverage() argument
570 segments->fVSAttrs.push_back().set(GrGLShaderVar::kVec4f_Type, in genAttributeCoverage()
575 segments, &vsName, &fsName); in genAttributeCoverage()
576 segments->fVSCode.appendf("\t%s = " COV_ATTR_NAME ";\n", vsName); in genAttributeCoverage()
578 segments->fFSCode.appendf("\tvec4 attrCoverage = %s * %s;\n", in genAttributeCoverage()
586 void genUniformCoverage(ShaderCodeSegments* segments, in genUniformCoverage() argument
589 segments->fFSUnis.push_back().set(GrGLShaderVar::kVec4f_Type, in genUniformCoverage()
594 segments->fFSCode.appendf("\tvec4 uniCoverage = %s * %s;\n", in genUniformCoverage()
605 ShaderCodeSegments* segments) const { in genGeometryShader()
609 segments->fGSHeader.append("layout(triangles) in;\n" in genGeometryShader()
611 segments->fGSCode.append("void main() {\n" in genGeometryShader()
615 segments->fGSCode.append("\t\tgl_PointSize = 1.0;\n"); in genGeometryShader()
617 GrAssert(segments->fGSInputs.count() == segments->fGSOutputs.count()); in genGeometryShader()
618 int count = segments->fGSInputs.count(); in genGeometryShader()
620 segments->fGSCode.appendf("\t\t%s = %s[i];\n", in genGeometryShader()
621 segments->fGSOutputs[i].getName().c_str(), in genGeometryShader()
622 segments->fGSInputs[i].getName().c_str()); in genGeometryShader()
624 segments->fGSCode.append("\t\tEmitVertex();\n" in genGeometryShader()
648 ShaderCodeSegments segments; in genProgram() local
654 segments.fUsesGS = fProgramDesc.fExperimentalGS; in genProgram()
702 segments.fHeader.printf(GrGetGLSLVersionDecl(gl.binding(), in genProgram()
710 segments.fFSOutputs.push_back(colorOutput); in genProgram()
714 segments.fVSAttrs.push_back().set(GrGLShaderVar::kMat33f_Type, in genProgram()
718 segments.fVSUnis.push_back().set(GrGLShaderVar::kMat33f_Type, in genProgram()
722 segments.fVSAttrs.push_back().set(GrGLShaderVar::kVec2f_Type, in genProgram()
725 segments.fVSCode.append( in genProgram()
735 programData, &segments, &inColor); in genProgram()
739 if (fProgramDesc.fEmitsPointSize && !segments.fUsesGS){ in genProgram()
740 segments.fVSCode.append("\tgl_PointSize = 1.0;\n"); in genProgram()
743 segments.fFSCode.append("void main() {\n"); in genProgram()
750 segments.fVSAttrs.push_back().set(GrGLShaderVar::kVec2f_Type, in genProgram()
768 segments.fFSCode.appendf("\tvec4 %s;\n", outColor.c_str()); in genProgram()
789 &segments, in genProgram()
810 segments.fFSUnis.push_back().set(GrGLShaderVar::kVec4f_Type, in genProgram()
819 segments.fFSCode.appendf("\t%s = %s;\n", in genProgram()
824 segments.fFSCode.append("\tvec4 filteredColor;\n"); in genProgram()
826 addColorFilter(&segments.fFSCode, "filteredColor", uniformCoeff, in genProgram()
831 segments.fFSUnis.push_back().set(GrGLShaderVar::kMat44f_Type, in genProgram()
834 segments.fFSUnis.push_back().set(GrGLShaderVar::kVec4f_Type, in genProgram()
839 segments.fFSCode.append("\tvec4 matrixedColor;\n"); in genProgram()
841 addColorMatrix(&segments.fFSCode, "matrixedColor", color); in genProgram()
861 &segments); in genProgram()
868 genAttributeCoverage(&segments, &inCoverage); in genProgram()
871 genUniformCoverage(&segments, programData, &inCoverage); in genProgram()
884 segments.fFSCode.appendf("\tvec4 %s;\n", in genProgram()
907 &segments, in genProgram()
914 segments.fFSOutputs.push_back().set(GrGLShaderVar::kVec4f_Type, in genProgram()
934 segments.fFSCode.appendf("\t%s = %s;\n", in genProgram()
941 &segments.fFSCode); in genProgram()
952 segments.fFSCode.appendf("\t%s = %s;\n", in genProgram()
959 &segments.fFSCode); in genProgram()
963segments.fFSCode.appendf("\t%s = %s.a <= 0.0 ? vec4(0,0,0,0) : vec4(floor(%s.rgb / %s.a * 255.0)/2… in genProgram()
971segments.fFSCode.appendf("\t%s = %s.a <= 0.0 ? vec4(0,0,0,0) : vec4(ceil(%s.rgb / %s.a * 255.0)/25… in genProgram()
980 segments.fVSCode.append("}\n"); in genProgram()
981 segments.fFSCode.append("}\n"); in genProgram()
986 this->genGeometryShader(gl, &segments); in genProgram()
992 if (!CompileShaders(gl, segments, programData)) { in genProgram()
1064 const ShaderCodeSegments& segments, in CompileShaders() argument
1076 append_string(segments.fHeader, &strs, &lengths); in CompileShaders()
1077 append_decls(segments.fVSUnis, gl, &strs, &lengths, &temps); in CompileShaders()
1078 append_decls(segments.fVSAttrs, gl, &strs, &lengths, &temps); in CompileShaders()
1079 append_decls(segments.fVSOutputs, gl, &strs, &lengths, &temps); in CompileShaders()
1080 append_string(segments.fVSCode, &strs, &lengths); in CompileShaders()
1094 if (segments.fUsesGS) { in CompileShaders()
1098 append_string(segments.fHeader, &strs, &lengths); in CompileShaders()
1099 append_string(segments.fGSHeader, &strs, &lengths); in CompileShaders()
1100 append_decls(segments.fGSInputs, gl, &strs, &lengths, &temps); in CompileShaders()
1101 append_decls(segments.fGSOutputs, gl, &strs, &lengths, &temps); in CompileShaders()
1102 append_string(segments.fGSCode, &strs, &lengths); in CompileShaders()
1118 append_string(segments.fHeader, &strs, &lengths); in CompileShaders()
1121 append_decls(segments.fFSUnis, gl, &strs, &lengths, &temps); in CompileShaders()
1122 append_decls(segments.fFSInputs, gl, &strs, &lengths, &temps); in CompileShaders()
1125 segments.fFSOutputs.empty()); in CompileShaders()
1126 append_decls(segments.fFSOutputs, gl, &strs, &lengths, &temps); in CompileShaders()
1127 append_string(segments.fFSFunctions, &strs, &lengths); in CompileShaders()
1128 append_string(segments.fFSCode, &strs, &lengths); in CompileShaders()
1405 ShaderCodeSegments* segments, in genRadialVS() argument
1412 GrGLShaderVar* radial2FSParams = &segments->fFSUnis.push_back(); in genRadialVS()
1417 segments->fVSUnis.push_back(*radial2FSParams).setEmitPrecision(true); in genRadialVS()
1428 segments, in genRadialVS()
1439 segments->fVSCode.appendf("\t%s = 2.0 *(%s * %s.x - %s);\n", in genRadialVS()
1448 ShaderCodeSegments* segments, in genRadial2GradientCoordMapping() argument
1486 segments->fFSCode.appendf("\tfloat %s = 2.0 * (%s * %s.x - %s);\n", in genRadial2GradientCoordMapping()
1492 segments->fFSCode.appendf("\tfloat %s = dot(%s, %s) - %s;\n", in genRadial2GradientCoordMapping()
1497 segments->fFSCode.appendf("\tfloat %s = %s * 4.0 * %s;\n", in genRadial2GradientCoordMapping()
1503 segments->fFSCode.appendf("\tfloat %s = sqrt(abs(%s*%s - %s));\n", in genRadial2GradientCoordMapping()
1516 ShaderCodeSegments* segments, in genRadial2GradientDegenerateCoordMapping() argument
1544 segments->fFSCode.appendf("\tfloat %s = 2.0 * (%s * %s.x - %s);\n", in genRadial2GradientDegenerateCoordMapping()
1550 segments->fFSCode.appendf("\tfloat %s = dot(%s, %s) - %s;\n", in genRadial2GradientDegenerateCoordMapping()
1562 ShaderCodeSegments* segments, in gen2x2FS() argument
1578 segments->fFSCode.appendf("\t%s %s = %s;\n", in gen2x2FS()
1586segments->fFSCode.appendf("\tvec4 %s = %s(%s, %s + vec2(-%s.x,-%s.y))%s;\n", accumVar.c_str(), te… in gen2x2FS()
1587segments->fFSCode.appendf("\t%s += %s(%s, %s + vec2(+%s.x,-%s.y))%s;\n", accumVar.c_str(), texFunc… in gen2x2FS()
1588segments->fFSCode.appendf("\t%s += %s(%s, %s + vec2(-%s.x,+%s.y))%s;\n", accumVar.c_str(), texFunc… in gen2x2FS()
1589segments->fFSCode.appendf("\t%s += %s(%s, %s + vec2(+%s.x,+%s.y))%s;\n", accumVar.c_str(), texFunc… in gen2x2FS()
1590segments->fFSCode.appendf("\t%s = .25 * %s%s;\n", fsOutColor, accumVar.c_str(), modulate.c_str()); in gen2x2FS()
1596 ShaderCodeSegments* segments, in genConvolutionVS() argument
1602 *kernel = &segments->fFSUnis.push_back(); in genConvolutionVS()
1606 GrGLShaderVar* imgInc = &segments->fFSUnis.push_back(); in genConvolutionVS()
1616 segments->fVSUnis.push_back(*imgInc).setEmitPrecision(true); in genConvolutionVS()
1621 segments->fVSCode.appendf("\t%s -= vec2(%g, %g) * %s;\n", in genConvolutionVS()
1628 ShaderCodeSegments* segments, in genConvolutionFS() argument
1645 segments->fFSCode.appendf("\tvec4 %s = vec4(0, 0, 0, 0);\n", in genConvolutionFS()
1647 segments->fFSCode.appendf("\tvec2 %s = %s;\n", in genConvolutionFS()
1650 segments->fFSCode.appendf("\tfor (int i = 0; i < %d; i++) {\n", in genConvolutionFS()
1652 segments->fFSCode.appendf("\t\t%s += %s(%s, %s)%s * %s;\n", in genConvolutionFS()
1656 segments->fFSCode.appendf("\t\t%s += %s;\n", in genConvolutionFS()
1659 segments->fFSCode.append("\t}\n"); in genConvolutionFS()
1660 segments->fFSCode.appendf("\t%s = %s%s;\n", fsOutColor, in genConvolutionFS()
1666 ShaderCodeSegments* segments, in genMorphologyVS() argument
1670 GrGLShaderVar* imgInc = &segments->fFSUnis.push_back(); in genMorphologyVS()
1678 segments->fVSUnis.push_back(*imgInc).setEmitPrecision(true); in genMorphologyVS()
1681 segments->fVSCode.appendf("\t%s -= vec2(%d, %d) * %s;\n", in genMorphologyVS()
1688 ShaderCodeSegments* segments, in genMorphologyFS() argument
1703 segments->fFSCode.appendf("\tvec4 %s = vec4(0, 0, 0, 0);\n", in genMorphologyFS()
1706 segments->fFSCode.appendf("\tvec4 %s = vec4(1, 1, 1, 1);\n", in genMorphologyFS()
1709 segments->fFSCode.appendf("\tvec2 %s = %s;\n", in genMorphologyFS()
1712 segments->fFSCode.appendf("\tfor (int i = 0; i < %d; i++) {\n", in genMorphologyFS()
1714 segments->fFSCode.appendf("\t\t%s = %s(%s, %s(%s, %s)%s);\n", in genMorphologyFS()
1718 segments->fFSCode.appendf("\t\t%s += %s;\n", in genMorphologyFS()
1721 segments->fFSCode.appendf("\t}\n"); in genMorphologyFS()
1722 segments->fFSCode.appendf("\t%s = %s%s;\n", fsOutColor, in genMorphologyFS()
1734 ShaderCodeSegments* segments, in genStageCode() argument
1756 mat = &segments->fVSAttrs.push_back(); in genStageCode()
1760 mat = &segments->fVSUnis.push_back(); in genStageCode()
1775 segments->fFSUnis.push_back().set(GrGLShaderVar::kSampler2D_Type, in genStageCode()
1777 sampler_name(stageNum, segments->fFSUnis.back().accessName()); in genStageCode()
1779 const char* samplerName = segments->fFSUnis.back().getName().c_str(); in genStageCode()
1783 segments->fFSUnis.push_back().set(GrGLShaderVar::kVec2f_Type, in genStageCode()
1785 normalized_texel_size_name(stageNum, segments->fFSUnis.back().accessName()); in genStageCode()
1786 texelSizeName = segments->fFSUnis.back().getName().c_str(); in genStageCode()
1793 segments, in genStageCode()
1799 segments->fVSCode.appendf("\t%s = %s;\n", varyingVSName, vsInCoord); in genStageCode()
1802 segments->fVSCode.appendf("\t%s = (%s * vec3(%s, 1))%s;\n", in genStageCode()
1812 radial2Params = genRadialVS(stageNum, segments, in genStageCode()
1823 genConvolutionVS(stageNum, desc, segments, locations, in genStageCode()
1827 genMorphologyVS(stageNum, desc, segments, locations, in genStageCode()
1850 segments->fFSCode.appendf("\t%s %s = %s%s / %s%s;\n", in genStageCode()
1876 stageNum, segments, in genStageCode()
1884 stageNum, segments, in genStageCode()
1914 segments->fFSUnis.push_back().set(GrGLShaderVar::kVec4f_Type, in genStageCode()
1917 segments->fFSCode.appendf("\t%s %s = clamp(%s, %s.xy, %s.zw);\n", in genStageCode()
1930 gen2x2FS(stageNum, segments, locations, &sampleCoords, in genStageCode()
1936 genConvolutionFS(stageNum, desc, segments, in genStageCode()
1943 genMorphologyFS(stageNum, desc, segments, in genStageCode()
1953 segments->fFSCode.appendf("\t%s = %s(%s, %s)%s;\n", in genStageCode()
1959 segments->fFSCode.appendf("\t%s = vec4(ceil(%s.rgb*%s.a*255.0)/255.0,%s.a)%s;\n", in genStageCode()
1963 segments->fFSCode.appendf("\t%s = vec4(floor(%s.rgb*%s.a*255.0)/255.0,%s.a)%s;\n", in genStageCode()
1968 segments->fFSCode.appendf("\t%s = %s(%s, %s)%s%s;\n", in genStageCode()