53 void emitCode(EmitArgs&
args)
override {
55 SkString inputColor = this->invokeChild(kInputFPIndex,
args);
56 SkString a = this->invokeChild(kTexEffectFPIndex,
args,
"half2(coord.a, 0.5)");
57 SkString r = this->invokeChild(kTexEffectFPIndex,
args,
"half2(coord.r, 1.5)");
58 SkString g = this->invokeChild(kTexEffectFPIndex,
args,
"half2(coord.g, 2.5)");
59 SkString b = this->invokeChild(kTexEffectFPIndex,
args,
"half2(coord.b, 3.5)");
61 "half4 coord = 255 * unpremul(%s) + 0.5;\n"
62 "half4 color = half4(%s.a, %s.a, %s.a, 1);\n"
63 "return color * %s.a;\n",
72 return std::make_unique<Impl>();
std::tuple< GrSurfaceProxyView, GrColorType > GrMakeCachedBitmapProxyView(GrRecordingContext *rContext, const SkBitmap &bitmap, std::string_view label, skgpu::Mipmapped mipmapped)
static std::unique_ptr< GrFragmentProcessor > Make(GrSurfaceProxyView, SkAlphaType, const SkMatrix &=SkMatrix::I(), GrSamplerState::Filter=GrSamplerState::Filter::kNearest, GrSamplerState::MipmapMode mipmapMode=GrSamplerState::MipmapMode::kNone)
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE auto & d