In SkSL, replace 'sample' with '.eval'

SkSL syntax is evolving to better communicate how the effects integrate
with the rest of the Skia pipeline. 'sample' suggests texture sampling,
but the invocation of the shader object is really a call to a function
(the entry point of the SkShader's generated code).

Bug: skbug.com/12302
Change-Id: Ib6b895208ae70368901965b7ca13434c51a7455f
This commit is contained in:
Brian Osman
2021-09-07 20:12:32 +00:00
parent bb56e9f505
commit bb10b9c616
5 changed files with 5 additions and 5 deletions

View File

@@ -119,7 +119,7 @@ final class RippleShader extends RuntimeShader {
+ " vec4 waveColor = vec4(in_color.rgb * waveAlpha, waveAlpha);\n"
+ " vec4 sparkleColor = vec4(in_sparkleColor.rgb * in_sparkleColor.a, "
+ "in_sparkleColor.a);\n"
+ " float mask = in_hasMask == 1. ? sample(in_shader, p).a > 0. ? 1. : 0. : 1.;\n"
+ " float mask = in_hasMask == 1. ? in_shader.eval(p).a > 0. ? 1. : 0. : 1.;\n"
+ " return mix(waveColor, sparkleColor, sparkleAlpha) * mask;\n"
+ "}";
private static final String SHADER = SHADER_UNIFORMS + SHADER_LIB + SHADER_MAIN;

View File

@@ -181,7 +181,7 @@ static const SkString stretchShader = SkString(R"(
);
coord.x = outU;
coord.y = outV;
return sample(uContentTexture, coord);
return uContentTexture.eval(coord);
})");
static const float ZERO = 0.f;

View File

@@ -63,7 +63,7 @@ public class ColorFiltersMutateActivity extends Activity {
"uniform shader bitmapShader;\n"
+ "uniform float param1;\n"
+ "half4 main(float2 xy) {\n"
+ " return half4(sample(bitmapShader, xy).rgb, param1);\n"
+ " return half4(bitmapShader.eval(xy).rgb, param1);\n"
+ "}\n";
BitmapsView(Context c) {

View File

@@ -91,7 +91,7 @@ public class RippleActivity extends Activity {
+ " d = rand(float2(x, y)) > density ? d : d * .2;\n"
+ " d = d * rand(float2(fraction, x * y));\n"
+ " float alpha = 1. - pow(fraction, 3.);\n"
+ " return float4(sample(in_paintColor, p).rgb, d * alpha);\n"
+ " return float4(in_paintColor.eval(p).rgb, d * alpha);\n"
+ "}";
RippleView(Context c) {

View File

@@ -532,6 +532,6 @@ public class StretchShaderActivity extends Activity {
+ " uv.y = outV;\n"
+ " coord.x = uv.x * viewportWidth;\n"
+ " coord.y = uv.y * viewportHeight;\n"
+ " return sample(uContentTexture, coord);\n"
+ " return uContentTexture.eval(coord);\n"
+ "}";
}