Lines Matching defs:effect
34 auto [effect, errorText] = SkRuntimeEffect::MakeForShader(SkString(src));
35 REPORTER_ASSERT(r, !effect);
77 auto [effect, errorText] = SkRuntimeEffect::MakeForColorFilter(SkString(R"(
91 REPORTER_ASSERT(r, effect, "%s", errorText.c_str());
97 auto [effect, errorText] = SkRuntimeEffect::MakeForShader(SkString(sksl), opt);
98 REPORTER_ASSERT(r, effect, "%s", errorText.c_str());
108 auto [effect, errorText] = SkRuntimeEffect::MakeForColorFilter(SkString(sksl));
109 REPORTER_ASSERT(r, effect, "%s", errorText.c_str());
113 auto [effect, errorText] = SkRuntimeEffect::MakeForColorFilter(SkString(sksl));
114 REPORTER_ASSERT(r, !effect);
159 auto [effect, errorText] = SkRuntimeEffect::MakeForBlender(SkString(sksl));
160 REPORTER_ASSERT(r, effect, "%s", errorText.c_str());
164 auto [effect, errorText] = SkRuntimeEffect::MakeForBlender(SkString(sksl));
165 REPORTER_ASSERT(r, !effect);
215 auto [effect, errorText] = SkRuntimeEffect::MakeForShader(SkString(sksl), options);
216 REPORTER_ASSERT(r, effect, "%s", errorText.c_str());
222 auto [effect, errorText] = SkRuntimeEffect::MakeForShader(SkString(sksl));
223 REPORTER_ASSERT(r, !effect);
286 const SkRuntimeEffect* effect,
297 REPORT_FAILURE(r, "Runtime effect didn't match expectations",
304 effect->source().c_str()));
316 auto [effect, errorText] = SkRuntimeEffect::MakeForShader(SkString(src), options);
317 if (!effect) {
318 REPORT_FAILURE(fReporter, "effect",
322 fBuilder.init(std::move(effect));
347 verify_2x2_surface_results(fReporter, fBuilder->effect(), fSurface.get(), expected);
366 auto [effect, errorText] = SkRuntimeEffect::MakeForBlender(SkString(src));
367 if (!effect) {
368 REPORT_FAILURE(fReporter, "effect",
372 fBuilder.init(std::move(effect));
397 verify_2x2_surface_results(fReporter, fBuilder->effect(), fSurface.get(), expected);
430 TestEffect effect(r, surface);
436 effect.build("half4 main(float2 p) { return half4(half2(p - 0.5), 0, 1); }");
437 effect.test({0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF});
440 effect.build("uniform float4 gColor; half4 main(float2 p) { return half4(gColor); }");
441 effect.uniform("gColor") = float4{ 0.0f, 0.25f, 0.75f, 1.0f };
442 effect.test(0xFFBF4000);
443 effect.uniform("gColor") = float4{ 1.0f, 0.0f, 0.0f, 0.498f };
444 effect.test(0x7F0000FF); // Tests that we don't clamp to valid premul
447 effect.build("uniform int4 gColor; half4 main(float2 p) { return half4(gColor) / 255.0; }");
448 effect.uniform("gColor") = int4{ 0x00, 0x40, 0xBF, 0xFF };
449 effect.test(0xFFBF4000);
450 effect.uniform("gColor") = int4{ 0xFF, 0x00, 0x00, 0x7F };
451 effect.test(0x7F0000FF); // Tests that we don't clamp to valid premul
456 effect.build(
458 effect.test({0xFF000000, 0xFF00007F, 0xFF007F00, 0xFF007F7F},
462 effect.build("half4 main(float2 p) { return float4(p - 0.5, 0, 1); }");
463 effect.test({0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF});
466 effect.build("float4 main(float2 p) { return float4(p - 0.5, 0, 1); }");
467 effect.test({0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF});
468 effect.build("vec4 main(float2 p) { return float4(p - 0.5, 0, 1); }");
469 effect.test({0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF});
472 effect.build("vec4 main(vec2 p) { p -= 0.5; return vec4(p, 0, 1); }");
473 effect.test({0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF});
474 effect.build("void moveCoords(inout vec2 p) { p -= 0.5; }"
476 effect.test({0xFF000000, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF});
483 effect.build("uniform shader child;"
485 effect.child("child") = nullptr;
486 effect.test(0xFF00FFFF,
492 effect.build("uniform shader child;"
494 effect.child("child") = rgbwShader;
495 effect.test({0xFF0000FF, 0xFF00FF00, 0xFFFF0000, 0xFFFFFFFF});
498 effect.build("uniform shader child;"
500 effect.child("child") = rgbwShader;
501 effect.test({0xFF0000FF, 0xFFFF0000, 0xFF00FF00, 0xFFFFFFFF});
505 effect.build("uniform shader child;"
507 effect.child("child") = rgbwShader;
508 effect.test(0xFF00FF00);
515 effect.build("float2 helper(float2 x) { return x + 1; }"
517 effect.test(0xFF00FFFF);
534 TestBlend effect(r, surface);
541 effect.build("uniform float4 gColor; half4 main(half4 s, half4 d) { return half4(gColor); }");
542 effect.uniform("gColor") = float4{ 0.0f, 0.25f, 0.75f, 1.0f };
543 effect.test(0xFFBF4000);
544 effect.uniform("gColor") = float4{ 1.0f, 0.0f, 0.0f, 0.498f };
545 effect.test(0x7F0000FF); // We don't clamp here either
548 effect.build("uniform int4 gColor;"
550 effect.uniform("gColor") = int4{ 0x00, 0x40, 0xBF, 0xFF };
551 effect.test(0xFFBF4000);
552 effect.uniform("gColor") = int4{ 0xFF, 0x00, 0x00, 0x7F };
553 effect.test(0x7F0000FF); // We don't clamp here either
556 effect.build("half4 main(half4 s, half4 d) { s += d; d += s; return half4(1); }");
557 effect.test(0xFFFFFFFF);
561 effect.build("half4 main(half4 s, half4 d) { return s; }");
562 effect.test(0xFF888888);
572 effect.build("half4 main(half4 s, half4 d) { return d; }");
573 effect.test({0xFF0000FF, 0xFF00FF00, 0xFFFF0000, 0xFFFFFFFF});
577 effect.build("half4 main(half4 s, half4 d) { return half4(1) - d; }");
578 effect.test({0x00FFFF00, 0x00FF00FF, 0x0000FFFF, 0x00000000});
581 effect.build("half4 main(half4 s, half4 d) { return half4(-1); }");
582 effect.test(0x00000000);
583 effect.build("half4 main(half4 s, half4 d) { return half4(2); }");
584 effect.test(0xFFFFFFFF);
591 effect.build("uniform shader child;"
593 effect.child("child") = nullptr;
594 effect.test(0xFF00FFFF,
597 effect.build("uniform colorFilter child;"
599 effect.child("child") = nullptr;
600 effect.test(0xFF00FFFF,
605 effect.build("uniform blender child;"
607 effect.child("child") = nullptr;
608 effect.test({0xFF000080, 0xFF008000, 0xFF800000, 0xFF808080},
612 effect.build("uniform shader child;"
615 effect.child("child") = make_RGBW_shader();
616 effect.uniform("pos") = float2{0, 0};
617 effect.test(0xFF0000FF);
619 effect.uniform("pos") = float2{1, 0};
620 effect.test(0xFF00FF00);
622 effect.uniform("pos") = float2{0, 1};
623 effect.test(0xFFFF0000);
625 effect.uniform("pos") = float2{1, 1};
626 effect.test(0xFFFFFFFF);
629 effect.build("uniform colorFilter child;"
631 effect.child("child") = SkColorFilters::Blend(0xFF012345, SkBlendMode::kSrc);
632 effect.test(0xFF452301);
636 effect.build("uniform blender child;"
638 effect.child("child") = SkBlender::Mode(SkBlendMode::kPlus);
639 effect.test({0xFF4523FF, 0xFF45FF01, 0xFFFF2301, 0xFFFFFFFF},
642 // Sampling a runtime-effect blender
644 effect.build("uniform blender child;"
646 effect.child("child") = SkBlenders::Arithmetic(0, 1, 1, 0, /*enforcePremul=*/false);
647 effect.test({0xFF4523FF, 0xFF45FF01, 0xFFFF2301, 0xFFFFFFFF},
665 sk_sp<SkRuntimeEffect> effect = SkRuntimeEffect::MakeForShader(SkString(kSource)).effect;
666 REPORTER_ASSERT(r, effect);
669 SkRuntimeShaderBuilder b(std::move(effect));
683 sk_sp<SkRuntimeEffect> effect = SkRuntimeEffect::MakeForBlender(SkString(kSource)).effect;
684 REPORTER_ASSERT(r, effect);
687 SkRuntimeBlendBuilder b(std::move(effect));
701 sk_sp<SkRuntimeEffect> effect = SkRuntimeEffect::MakeForShader(SkString(kSource)).effect;
702 REPORTER_ASSERT(r, effect);
704 SkRuntimeShaderBuilder b(std::move(effect));
734 auto [effect, error] = SkRuntimeEffect::MakeForShader(SkString(kSource), options);
735 REPORTER_ASSERT(r, effect);
746 auto [effect, err] =
748 REPORTER_ASSERT(r, effect);
751 sk_sp<SkColorFilter> cf = effect->makeColorFilter(SkData::MakeEmpty());
782 TestEffect effect(r, surface);
783 effect.build(
789 effect.child("child") = child;
790 effect.test(0xFF00407F, [](SkCanvas*, SkPaint* paint) {
805 auto [effect, err] = SkRuntimeEffect::MakeForColorFilter(SkString{
807 REPORTER_ASSERT(r, effect && err.isEmpty());
808 sk_sp<SkColorFilter> filter = effect->makeColorFilter(SkData::MakeEmpty());
813 auto [effect, err] = SkRuntimeEffect::MakeForColorFilter(SkString{
815 REPORTER_ASSERT(r, effect && err.isEmpty());
816 sk_sp<SkColorFilter> filter = effect->makeColorFilter(SkData::MakeEmpty());
826 // It also checks that we correctly set the "referencesSampleCoords" bit on the runtime effect
830 auto [effect, err] =
832 REPORTER_ASSERT(r, effect);
835 auto fp = GrSkSLFP::Make(effect, "test_fp", /*inputFP=*/nullptr, GrSkSLFP::OptFlags::kNone,
884 auto effect = SkMakeRuntimeEffect(SkRuntimeEffect::MakeForShader, R"(
889 result.fp = GrSkSLFP::Make(std::move(effect), "color_fp", /*inputFP=*/nullptr,
918 // Make an effect that takes a uniform array as input.
925 // Compile our runtime effect.
926 auto effect = SkMakeRuntimeEffect(SkRuntimeEffect::MakeForShader, R"(
931 testCtx->fillWithFP(GrSkSLFP::Make(std::move(effect), "test_fp",