Lines Matching refs:code
4 * Use of this source code is governed by a BSD-style license that can be
324 SkString code(versionAndExtensionDecls);
326 code.append("layout(vertices = 3) out;\n");
327 code.appendf("precision highp float;\n");
329 code.appendf("#define float2 vec2\n");
330 code.appendf("#define float3 vec3\n");
331 code.appendf("#define float4 vec4\n");
332 code.appendf("#define float2x2 mat2\n");
333 code.appendf("#define float3x2 mat3x2\n");
334 code.appendf("#define float4x2 mat4x2\n");
335 code.appendf("#define PI 3.141592653589793238\n");
336 code.appendf("#define MAX_TESSELLATION_SEGMENTS %i.0\n", shaderCaps.maxTessellationSegments());
337 code.appendf("#define cross cross2d\n"); // GLSL already has a function named "cross".
341 code.appendf("uniform vec4 %s;\n", tessArgsName);
342 code.appendf("#define PARAMETRIC_PRECISION %s.x\n", tessArgsName);
343 code.appendf("#define NUM_RADIAL_SEGMENTS_PER_RADIAN %s.y\n", tessArgsName);
345 code.appendf("uniform float %s;\n", tessArgsName);
346 code.appendf("#define PARAMETRIC_PRECISION %s\n", tessArgsName);
347 code.appendf("#define NUM_RADIAL_SEGMENTS_PER_RADIAN vsStrokeArgs[0].x\n");
350 code.append(skgpu::wangs_formula::as_sksl());
351 code.append(kCosineBetweenVectorsFn);
352 code.append(kMiterExtentFn);
353 code.append(R"(
358 code.append(R"(
369 code.append(R"(
373 code.append(R"(
377 code.append(R"(
386 code.append(R"(
390 code.append(R"(
394 code.append(R"(
400 code.append(R"(
404 code.append(R"(
408 code.append(R"(
521 return code;
532 SkString code(versionAndExtensionDecls);
533 code.append("layout(quads, equal_spacing, ccw) in;\n");
534 code.appendf("precision highp float;\n");
536 code.appendf("#define float2 vec2\n");
537 code.appendf("#define float3 vec3\n");
538 code.appendf("#define float4 vec4\n");
539 code.appendf("#define float2x2 mat2\n");
540 code.appendf("#define float3x2 mat3x2\n");
541 code.appendf("#define float4x2 mat4x2\n");
542 code.appendf("#define PI 3.141592653589793238\n");
546 code.appendf("uniform vec4 %s;\n", tessArgsName);
547 code.appendf("#define STROKE_RADIUS %s.w\n", tessArgsName);
549 code.appendf("#define STROKE_RADIUS tcsStrokeRadius\n");
553 code.appendf("uniform vec2 %s;\n", translateName);
554 code.appendf("#define TRANSLATE %s\n", translateName);
556 code.appendf("uniform vec4 %s;\n", affineMatrixName);
557 code.appendf("#define AFFINE_MATRIX mat2(%s)\n", affineMatrixName);
559 code.append(R"(
568 code.append(R"(
572 code.appendf(R"(
578 code.append(R"(
581 code.append(kUncheckedMixFn);
583 code.append(R"(
637 this->emitTessellationCode(shader, &code, &gpArgs, shaderCaps);
640 code.appendf(R"(
646 code.appendf(R"(
650 code.append(R"(
653 return code;