sampler2D is the only supported sampler type.

Only the two-argument version of texture (sampler and uv) is supported.

No additional varying inputs may be declared.

All precision hints are ignored when targeting Skia.

Unsigned integers and booleans aren’t supported.

Uniforms

A fragment program can be configured by defining uniform values in the GLSL shader source
and then setting these values in Dart for each fragment shader instance.

FragmentShader.setFloat method.
GLSL sampler values, which use the

FragmentShader.setImageSampler method.

The correct index for each uniform value is determined by the order
that the uniform values are defined in the fragment program.
For data types composed of multiple floats, such as a vec4,
you must call FragmentShader.setFloat once for each value.

For example, given the following uniforms declarations in a GLSL fragment program: